1 / 19

Distributed Peer-to-peer Name Resolution

Distributed Peer-to-peer Name Resolution. Christian Huitema Architect, Windows Networking Microsoft Corporation. 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.

Lucy
Download Presentation

Distributed Peer-to-peer Name Resolution

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Distributed Peer-to-peer Name Resolution Christian Huitema Architect, Windows Networking Microsoft Corporation

  2. 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 Vision: The user to user web! Mainframe PC Web P2P Centralized Personal Distributed Peer-to-peer Name Resolution

  3. Making Windows a great platform for P2P Firewall Traversal Sockets, DNS, files, print, …. Firewall, NAT IPv6 Multicast? Security? DNS? Graphs Group Membership P2P Names 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 Distributed Peer-to-peer Name Resolution

  5. Identity = 128-bit number No trademark! Nodes manage a cache of “records” Identity IPv6 address Proof (certificate) Secure, Scalable, Robust, Private, Usable… Peer-to-Peer Name Resolution Look up initiated Distributed Peer-to-peer Name Resolution

  6. Names should resolve to the intended address, One should not be able to fake an identifier But one should not impose a central server… Design Goal 1, Security: Hello, I am alice@example.com 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” Distributed Peer-to-peer Name Resolution

  8. Scale to the size of the Internet! Assume at least one name per node. Scale without a central server. Design Goal 2: Scalable 1,000 10,000 100,000 1,000,000 10,000,000 100,000,000 1,000,000,000 Distributed Peer-to-peer Name Resolution

  9. 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 Scalable: a hierarchical cache 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” Distributed 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. 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 Distributed 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! 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 Distributed Peer-to-peer Name Resolution

  15. Design Goal 5: immediately usable • On the Internet, Name = Domain Name • Used for Web Page, E-Mail, FTP • Limited availability, requires a contract and a permanent IP address. Distributed Peer-to-peer Name Resolution

  16. 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 Usable: gateway to the DNS Target Node: Reply on the same path Look up initiated PNRP.net Distributed Peer-to-peer Name Resolution

  17. 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 Peer-to-peer Naming: Summary Target Node: Reply on the same path Look up initiated PNRP.net Distributed Peer-to-peer Name Resolution

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

  19. Call to Action • Support IPv6 in your Applications • Leverage UPnP NAT Traversal Today • Participate in Software Design Review Distributed Peer-to-peer Name Resolution

More Related