+ All Categories
Home > Documents > Distributed Peer-to-peer Name Resolution

Distributed Peer-to-peer Name Resolution

Date post: 13-Jul-2015
Category:
Upload: networkingcentral
View: 316 times
Download: 1 times
Share this document with a friend
Popular Tags:
19
Distributed Peer-to-peer Name Resolution Christian Huitema Architect, Windows Networking Microsoft Corporation
Transcript

Distributed Peer-to-peer Name Resolution

Christian HuitemaArchitect, Windows NetworkingMicrosoft Corporation

04/13/10Distributed Peer-to-peer Name

Resolution 2

Vision: The user to user web!

Enable each PC to be a serverServe ad-hoc groupsPromote and use IPv6, directly attach the users to the Net Provide a server-less DNS for IPv6Platform for developersCentralized Personal

PCWeb

P2P

Mainframe

04/13/10Distributed Peer-to-peer Name

Resolution 3

Making Windows a great platform for P2P

Sockets, DNS, files, print, ….

Firewall, NAT

Multicast?

Security?DNS?

IPv6

Firewall Traversal

Graphs

Group Membership

P2P Names

04/13/10Distributed Peer-to-peer Name

Resolution 4

Naming: the key to P2P development

Provide each computer with a name Each computer is a server

Names must be stable Resolve names to addresses

Also name groups, users… Find a member of a group, Find the location of a user

04/13/10Distributed Peer-to-peer Name

Resolution 5

Peer-to-Peer Name Resolution

Identity = 128-bit number No trademark!

Nodes manage a cache of “records” Identity IPv6 address Proof (certificate)

Secure, Scalable, Robust, Private, Usable…

Look up initiated

04/13/10Distributed Peer-to-peer Name

Resolution 6

Design Goal 1, Security:

Names should resolve to the intended address,One should not be able to fake an identifierBut one should not impose a central server…

Hello, I am [email protected]

04/13/10Distributed Peer-to-peer Name

Resolution 7

Secure: use certificates, prove the name

Record = Identity, IPv6 Address, ProofSign [identity, address] with local private key Check signature before placing in cacheHost Identity = hash (public key)Group member Id = hash (group key) Group membership, certified by group keyGeneric = hash (authority’s key, Name) Validity certified by “authority”

04/13/10Distributed Peer-to-peer Name

Resolution 8

Design Goal 2: Scalable

Scale to the size of the Internet!Assume at least one name per node.Scale without a central server.

04/13/10Distributed Peer-to-peer Name

Resolution 9

Scalable: a hierarchical cache

Circular space, centered on selfCache levels: First level: 360° Second level: 36° Etc.

Query: Forward to “nearest” Gain one level

log base X of (N) levels, 2.X Entries per level

04/13/10Distributed Peer-to-peer Name

Resolution 10

Scalable cache management

Initial cache: from memory, from neighbor Proactive requests, “tell the network”

Update: Learn from queries, requests Try to fill each level, then replace

Finest level: Learn about all “immediate neighbors”

04/13/10Distributed Peer-to-peer Name

Resolution 11

Design Goal 3: Robust

No central point of control, no central point of failure.Large distributed system: some nodes will fail at any time.Uncontrolled systems: some nodes may be actively conspiring against us… but hopefully not too many.

04/13/10Distributed Peer-to-peer Name

Resolution 12

Robust: reputation & randomization

Neighbor reputation: from query completion + verificationForward query: random choice, use reputationCache replacement: random & reputationTimers, removal of failing entries from the cache

04/13/10Distributed Peer-to-peer Name

Resolution 13

Design Goal 4: Privacy

Some information is sensitive: location, membership in groups, documents…Control who can learn what you publish!

04/13/10Distributed Peer-to-peer Name

Resolution 14

Privacy: control the scope of publication

Peer-to-peer name cloud = set of cachesParallel clouds Ad hoc, on the same “link” In the same “site” Within a group (group = authority) The whole Internet

Enforcement: Check membership of requestor Don’t forward outside of scope Don’t cache out of scope records

04/13/10Distributed Peer-to-peer Name

Resolution 15

Design Goal 5: immediately usable

On the Internet, Name = Domain NameUsed for Web Page, E-Mail, FTPLimited availability, requires a contract and a permanent IP address.

04/13/10Distributed Peer-to-peer Name

Resolution 16

Usable: gateway to the DNS

Global DNS name: <ID>.pnrp.net Use in URL, e-mail Enables bootstrap

Central DNS gateway: Publish NS record, Join P2P cloud, Forward requests

Local gateway: P2P aware resolver

Look up initiated

Target Node: Reply on the same path

PNRP.net

04/13/10Distributed Peer-to-peer Name

Resolution 17

Peer-to-peer Naming: Summary

Numbers are our friends: hosts, groups, URLScale to the size of the Internet, peer-to-peer, no server. Prototype tested with

50,000 nodes

Secure, Private, Robust, Usable

Look up initiated

Target Node: Reply on the same path

PNRP.net

04/13/10Distributed Peer-to-peer Name

Resolution 18

Peer-to-Peer Roadmap

UPnP Enabled NATs – End of ‘01IPv6 Service Deployment – End of ‘01P2P SDK Design Review – End of ‘01P2P SDK beta – Q1-02P2P SDK v1 – Q3-02

04/13/10Distributed Peer-to-peer Name

Resolution 19

Call to Action

Support IPv6 in your ApplicationsLeverage UPnP NAT Traversal TodayParticipate in Software Design Review


Recommended