Download - Distributed Peer-to-peer Name Resolution
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