Connectivity Properties of Mainline BitTorrent DHT Nodes Raul Jimenez, Flutra Osmani, Björn Knutsson KTH, Sweden 1 IEEE P2P'09 – 9-11 Sept – Seattle, WA
Background ● P2P-Next – Large EU project – Content distribution platform on top of BitTorrent ● Kademlia DHT (Mainline implementation) – Used as distributed BitTorrent tracker – Iterative routing algorithm 2
Kademlia: lookup 3
Kademlia: lookup 20% dead nodes in 95% of the lookups One minute lookups [Crosby-07] Non-transitive connectivity and DHTs [Freedman-05] 4
Connectivity Properties Reciprocity Transitivity Persistence A A A t0 t1 B B C B 5
Experiment ● Nodes' connectivity properties ● 3,6 million unique nodes in 24 hours D N N triggers experiment Same Up to 5 queries per vantage point IP L 1 minute timeout Repeat after 5 minutes R 6
Reciprocal Connectivity Reciprocity Experiment D D N D N N 7
Reciprocal Connectivity Reciprocity Experiment D 80 % D N 20 % D N N 8
Transitive Connectivity Transitivity Experiment R D N R D N 9
Transitive Connectivity Transitivity Experiment R D N R D 40 % N 10
Persistent Connectivity Persistence Experiment D D N t t0 t1 t + 5 minutes N 11
Persistent Connectivity Persistence Experiment D D N t t0 t1 t + 5 minutes 44 % N 12
Experiment Results ● Clear overlap: transitivity & persistence ● Just 1/3 of the nodes show “good” connectivity 13
Discussion ● Possible causes → – Firewalls Reciprocity → – NATs Transitivity and/or persistence → – DHT implementation All ● Potential effects on the DHT performance – Higher (apparent) churn – Broken lookup routes 14
Conclusion ● Understand the underlying connectivity issues – Explicit definition of connectivity properties – Large scale experiment on a real-world DHT ● Use this knowledge to achieve faster lookups 15
Thank you! 16
Possible Causes t t + 5 min % Obs D D N N Firewall 10.6 R R Port restricted cone D N D N & 31.3 Symmetric NAT R R Full cone NAT D D N N & 2.7 Real churn R R D D N N Open Internet 35.5 R R 17
Experiments 18
NAT types ● Match IP and port IP2:2222 (port restricted cone IP1:1111 & symmetric) IP1:9999 IP3:3333 19
NAT types ● Match only IP IP2:2222 (restricted cone) IP1:1111 IP1:9999 IP3:3333 20
NAT types ● Match any connection IP2:2222 (full cone) IP1:1111 IP1:9999 IP3:3333 Reference: RFC3489 STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs) 21
What to do? ● Prevent my routing table from pollution – Check for global reachability before adding a node ● Don't pollute others' routing tables – When I'm aware of being partially reachable, tell others: “don't add me to your routing table” ● Free riders? 22
Recommend
More recommend