1 / 18

Peer-to-Peer Protocol (P2PP)

Peer-to-Peer Protocol (P2PP). Salman Baset, Henning Schulzrinne Columbia University. Agenda. Motivation Practical issues in peer-to-peer systems Peer-to-peer systems file sharing VoIP streaming Peer-to-Peer Protocol (P2PP) P2PP design issues Related work Implementation. Motivation.

gili
Download Presentation

Peer-to-Peer Protocol (P2PP)

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. Peer-to-Peer Protocol (P2PP) Salman Baset, Henning Schulzrinne Columbia University

  2. Agenda • Motivation • Practical issues in peer-to-peer systems • Peer-to-peer systems • file sharing • VoIP • streaming • Peer-to-Peer Protocol (P2PP) • P2PP design issues • Related work • Implementation

  3. Motivation • Build a peer-to-peer application • Where to start? • Too many p2p protocols • is there a best one? • Too many design choices

  4. Practical issues in peer-to-peer systems • Bootstrap / service discovery • NAT and firewall traversal • TCP or UDP? • Routing-table management • Operation during churn • Availability and replication • Identity and trust management

  5. Peer-to-peer systems Service discovery High Data size NAT Data size Replication NAT Performance impact / requirement Medium Replication Replication Data size Low NAT VoIP Streaming File sharing

  6. Peer-to-Peer Protocol (P2PP) • P2P applications have common requirements such as discovery, NAT traversal, relay selection, replication, and churn management. • Goals • A protocol to potentially implement any structured or unstructured protocol. • Not dependent on a single DHT or p2p protocol • Not a new DHT! • It is hard! • Too many structured and unstructured p2p protocols • Too many design choices! • Lets consider DHTs

  7. DHTs

  8. Periodic recovery Accordion Routing-table stabilization Finger table Tree Kademlia Lookup correctness Parallel requests Prefix-match Modulo addition Routing-table size OneHop Leaf-set Recursive routing Pastry Bootstrapping Updating routing-table from lookup requests Bamboo Ring Tapestry XOR Proximity neighbor selection Lookup performance Successor Reactive recovery Hybrid Chord Strict vs. surrogate routing Proximity route selection Routing-table exploration

  9. How to design P2PP? • Structured • Identify commonalities in DHTs • Routing table (finger table) • Neighbor table (successor list, leaf-set) • Separate core routing mechanisms from from DHT-independent issues. • Unstructured • Incorporate mechanisms for • discovery • NAT / firewall traversal • churn, identity and trust management • request routing (recursive / iterative / parallel)

  10. DHT-independent Bootstrapping Routing-table stabilization Reactive vs. periodic recovery Parallel requests Recursive routing Proximity neighbor selection Proximity route selection DHT-specific Not restricted toone DHT DHT-specific Lookup performance Bamboo Chord Tapestry Kademlia Lookup correctness Pastry OneHop Successor / leaf-set Accordion Finger table / routingtable Modulo addition Routing-table size Prefix-match XOR Geometry Updating routing-table from lookup requests Ring Hybrid Strict vs. surrogate routing Tree Routing-table exploration

  11. Chord(Modulo numeric)(Strict routing-tablemanagement) id=x Neighbor table(successor) Routing table Immediately succeeds routing-table id Node

  12. Chord(Modulo numeric)(Flexible routing-table management) id=x Neighbor table Routing table Any node inthe interval Node

  13. Kademlia(XOR) id=x No neighbor table Routing table Node

  14. Peer-to-Peer Protocol (P2PP) • A framing mechanism but much more than that. • A binary protocol • Geared towards IP telephony but equally applicable to file sharing, and streaming • Application API • NAT traversal • using STUN, TURN and ICE • Request routing • recursive, iterative, parallel • Supports hierarchy (super nodes, ordinary nodes) • Multiple hash function support • SHA1, SHA256, MD4, MD5 • Unstructured p2p protocol support • TCP or UDP

  15. Peer-to-Peer Protocol (P2PP) Peer-Info HT = host | NAT-address | relayed P2P-Options

  16. Related work • Towards a common API for structured peer-to-peer overlays • A performance vs. cost framework for evaluating DHT design tradeoffs under churn

  17. Implementation • Chord, Kademlia • SHA1, SHA256, MD5, MD4 • Windows, Linux • Integrated with OpenWengo (VoIP phone)

  18. Questions? • I use Skype. Why should I use this protocol?

More Related