Presentation is loading. Please wait.

Presentation is loading. Please wait.

Peer-to-Peer Protocol (P2PP) Salman Baset, Henning Schulzrinne Columbia University.

Similar presentations


Presentation on theme: "Peer-to-Peer Protocol (P2PP) Salman Baset, Henning Schulzrinne Columbia University."— 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 File sharing VoIPStreaming Low Medium High NAT Data size Performance impact / requirement Service discovery Replication

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 DHTGeometry Distance function Lookup correctness (neighbor table) Lookup performance (routing table) Chord Accordion Ring Modulo numeric difference Successor listFinger table Tapestry, Pastry Hybrid = Tree + Ring Prefix match. If fails, then modulo numeric difference Leaf-set (Pastry)Routing table KademliaXORXOR of two IDsNoneRouting table

8 Kademlia XOR Finger table Parallel requests Recursive routingPastry Bamboo Chord Successor Modulo addition Prefix-match Leaf-set Routing-table stabilization Lookup correctness Lookup performance Proximity neighbor selection Proximity route selection Routing-table size Strict vs. surrogate routing OneHop Bootstrapping Updating routing-table from lookup requests Tapestry Ring Tree Hybrid Reactive recovery Periodic recovery Accordion 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 Parallel requests Recursive routing Routing-table stabilization Proximity neighbor selection Proximity route selection Bootstrapping Reactive vs. periodic recovery DHT-independent Kademlia XOR Pastry BambooChord Modulo addition Prefix-match OneHop Tapestry Ring Tree Hybrid DHT-specific Accordion Finger table / routing table Successor / leaf-set Lookup correctness Lookup performance Routing-table size Strict vs. surrogate routing Updating routing-table from lookup requests DHT-specific Not restricted to one DHT Routing-table exploration Geometry

11 Chord (Modulo numeric) (Strict routing-table management) Neighbor table (successor) Node x+2 i x+2 i+1 x+2 i+2 x+2 i+3 id=x Routing table Immediately succeeds routing-table id

12 Chord (Modulo numeric) (Flexible routing- table management) Neighbor table Node x+2 i x+2 i+1 x+2 i+2 x+2 i+3 id=x Routing table Any node in the interval

13 Kademlia (XOR) Node 2i2i 2 i+1 2 i+2 2 i+3 id=x Routing table No neighbor table

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) HT = host | NAT-address | relayed Peer-Info 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?


Download ppt "Peer-to-Peer Protocol (P2PP) Salman Baset, Henning Schulzrinne Columbia University."

Similar presentations


Ads by Google