Decentralized peer discovery performance in swarm-protocols Raul Jimenez KTH, Sweden rauljc@kth.se tslab.ssvl.kth.se/raul
Overview BitTorrent Content Discovery Data Exchange Peer Discovery Centralized Tracker Decentralized Tracker (DHT) Gossiping (PEX) DHT Issues Experiments
BitTorrent Content discovery Metadata (.torrent file) Peer discovery List of peers Data exchange Content
Metadata (.torrent file) Product: SuperGadget 3000 Code: 1234-ABC98 Specifications: ..... Updated list of shops: www.supergadget3000.com/shops Name: info_hash: c70bcf4657cac1253d12acda95b04d1e4dcd23f4 Hash for every piece: Tracker (updated list of peers): http://tracker001.legaltorrents.com:7070/announce Elephants Dream HD .....
Peer Discovery Centralized Tracker Modified HTTP server Decentralized PEX (Peer Exchange) DHT (Distributed Hash Table)
Centralized Tracker 1 2 3 tracker.kth.se 4 5 6 1 7 8
Centralized Tracker 1 2 3 tracker.kth.se 4 5 6 1 4 7 8
Centralized Tracker 1 2 3 tracker.kth.se 4 5 6 1 4 7 7 8
Peer Discovery Centralized Tracker Modified HTTP server Decentralized PEX (Peer Exchange) DHT (Distributed Hash Table)
Peer Exchange (PEX) Gossiping protocol Messages between peers in the same swarm Need external bootstrap
Distributed Hash Table (DHT) Simple demo 4-bits identifiers (24 = 16 identifiers) 1 node per bucket 10 nodes
DHT: Routing Table Routing table Level 0 Level 1 Level 2 Level 3 MyNode 1001
DHT: Routing Table 1xxx 0xxx Routing table Level 0 0010 Level 1 MyNode 1001
DHT: Routing Table 11xx 00xx Routing table 10xx 01xx Level 0 0010 1111 Level 2 Level 3 MyNode 1001
DHT: Routing Table 111x 000x 110x 001x 101x 010x Routing table Level 0 0010 Level 1 1111 100x 011x Level 2 1011 Level 3 MyNode 1001
DHT: Routing Table 111x 000x 110x 001x 101x 010x Routing table Level 0 0010 Level 1 1111 1001 011x Level 2 1011 1000 Level 3 ------ MyNode 1001
DHT: Find Peers 1xxx 0xxx Level 0 0010 0101 torrentID Level 1 1111 1011 Level 3 MyNode 1001
DHT: Find Peers Level 0 1001 Level 1 0110 Level 2 0000 11xx 00xx 0011 10xx 01xx 0101 torrentID MyNode 1001
DHT: Find Peers 111x 000x 110x 001x 101x 010x 0101 torrentID 100x 011x Level 0 1101 Level 1 0000 MyNode 1001 Level 2 0100 Level 3
DHT: Find Peers 111x 000x 110x 001x Level 0 1100 101x 010x Level 1 0011 Level 2 0110 Level 3 0101 0101 torrentID 100x 011x MyNode 1001
Distributed Hash Table (DHT) Kademlia Iterative routing algorithm 160-bit identifiers 8 nodes per bucket 1 million nodes ?
DHT Issues