Download
peer to peer protocol p2pp n.
Skip this Video
Loading SlideShow in 5 Seconds..
Peer-to-Peer Protocol (P2PP) PowerPoint Presentation
Download Presentation
Peer-to-Peer Protocol (P2PP)

Peer-to-Peer Protocol (P2PP)

192 Views Download Presentation
Download Presentation

Peer-to-Peer Protocol (P2PP)

- - - - - - - - - - - - - - - - - - - - - - - - - - - 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?