Download presentation
Presentation is loading. Please wait.
1
Distributed Peer-to-peer Name Resolution
Christian Huitema Architect, Windows Networking Microsoft Corporation
2
Vision: The user to user web!
Enable each PC to be a server Serve ad-hoc groups Promote and use IPv6, directly attach the users to the Net Provide a server-less DNS for IPv6 Platform for developers Mainframe PC Web P2P Centralized Personal 11/21/2018 Distributed Peer-to-peer Name Resolution
3
Making Windows a great platform for P2P
Firewall Traversal Sockets, DNS, files, print, …. Firewall, NAT Multicast? IPv6 Security? DNS? Graphs Group Membership P2P Names 11/21/2018 Distributed 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 11/21/2018 Distributed 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 11/21/2018 Distributed 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 identifier But one should not impose a central server… Hello, I am 11/21/2018 Distributed Peer-to-peer Name Resolution
7
Secure: use certificates, prove the name
Record = Identity, IPv6 Address, Proof Sign [identity, address] with local private key Check signature before placing in cache Host Identity = hash (public key) Group member Id = hash (group key) Group membership, certified by group key Generic = hash (authority’s key, Name) Validity certified by “authority” 11/21/2018 Distributed Peer-to-peer Name Resolution
8
Distributed Peer-to-peer Name Resolution
Design Goal 2: Scalable 1,000 Scale to the size of the Internet! Assume at least one name per node. Scale without a central server. 10,000 100,000 1,000,000 10,000,000 100,000,000 1,000,000,000 11/21/2018 Distributed Peer-to-peer Name Resolution
9
Scalable: a hierarchical cache
Circular space, centered on self Cache 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 11/21/2018 Distributed 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” 11/21/2018 Distributed Peer-to-peer Name Resolution
11
Distributed Peer-to-peer Name Resolution
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. 11/21/2018 Distributed Peer-to-peer Name Resolution
12
Robust: reputation & randomization
Neighbor reputation: from query completion + verification Forward query: random choice, use reputation Cache replacement: random & reputation Timers, removal of failing entries from the cache 11/21/2018 Distributed Peer-to-peer Name Resolution
13
Distributed Peer-to-peer Name Resolution
Design Goal 4: Privacy Some information is sensitive: location, membership in groups, documents… Control who can learn what you publish! 11/21/2018 Distributed Peer-to-peer Name Resolution
14
Privacy: control the scope of publication
Peer-to-peer name cloud = set of caches Parallel 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 11/21/2018 Distributed Peer-to-peer Name Resolution
15
Design Goal 5: immediately usable
On the Internet, Name = Domain Name Used for Web Page, , FTP Limited availability, requires a contract and a permanent IP address. 11/21/2018 Distributed Peer-to-peer Name Resolution
16
Usable: gateway to the DNS
Target Node: Reply on the same path Global DNS name: <ID>.pnrp.net Use in URL, Enables bootstrap Central DNS gateway: Publish NS record, Join P2P cloud, Forward requests Local gateway: P2P aware resolver Look up initiated PNRP.net 11/21/2018 Distributed Peer-to-peer Name Resolution
17
Peer-to-peer Naming: Summary
Target Node: Reply on the same path Numbers are our friends: hosts, groups, URL Scale to the size of the Internet, peer-to-peer, no server. Prototype tested with 50,000 nodes Secure, Private, Robust, Usable Look up initiated PNRP.net 11/21/2018 Distributed Peer-to-peer Name Resolution
18
Distributed Peer-to-peer Name Resolution
Peer-to-Peer Roadmap UPnP Enabled NATs – End of ‘01 IPv6 Service Deployment – End of ‘01 P2P SDK Design Review – End of ‘01 P2P SDK beta – Q1-02 P2P SDK v1 – Q3-02 11/21/2018 Distributed Peer-to-peer Name Resolution
19
Distributed Peer-to-peer Name Resolution
Call to Action Support IPv6 in your Applications Leverage UPnP NAT Traversal Today Participate in Software Design Review 11/21/2018 Distributed Peer-to-peer Name Resolution
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.