Exploring and Improving BitTorrent Topologies Christian Decker ETH Zurich – Distributed Computing Group – www.disco.ethz.ch
BitTorrent • Filesharing protocol • Peers form Ad-Hoc networks (swarm) • Trackers to join the swarm • Trading pieces between peers
BitTorrent: handshake • Peers exchange handshakes before trading • Protocol identifier • Protocol extensions • peer id • Torrent info hash
Exploring
Exploring Swarm Topologies Random topology: • Tracker return random peers • Peers chose random neighbors
Exploring Swarm Topologies Random topology: • Tracker return random peers • Peers chose random neighbors Studies to explore BitTorrent topologies: • Experimental setup • Traffic log • Instrumented clients
Exploring Swarm Topologies Random topology: • Tracker return random peers • Peers chose random neighbors Studies to explore BitTorrent topologies: • Experimental setup • Traffic log • Instrumented clients • Live swarms
Scanning method A ? S ” A m ’ I o l e l H B ”
Challenges when moving to real swarms CDF of connection uptimes 1.0 0.8 CDF of connections • Scanning takes time 0.6 0.4 0.2 0.0 0 500 1000 1500 2000 2500 3000 3500 Uptime [s]
Challenges when moving to real swarms CDF of connection uptimes 1.0 0.8 CDF of connections • Scanning takes time 0.6 • Invisible part of a swarm 0.4 0.2 0.0 0 500 1000 1500 2000 2500 3000 3500 Uptime [s]
Challenges when moving to real swarms CDF of connection uptimes 1.0 0.8 CDF of connections • Scanning takes time 0.6 • Invisible part of a swarm 0.4 • Error detection 0.2 0.0 0 500 1000 1500 2000 2500 3000 3500 Uptime [s]
Evaluation: topology sample size 42% 58% peers cannot be scanned 58%
Evaluation: topology sample size 42% 58% peers cannot be scanned 58% 67% But we can scan either endpoint of a connection: 33%
Evaluation: coverage How fast can we scan for all possible connections? 100 80 Coverage (%) 60 40 Concurrency 1 Concurrency 2 20 Concurrency 3 Concurrency 5 0 0 200 400 600 800 1000 Swarm Size
Evaluation: coverage How fast can we scan for all possible connections? 100 80 Coverage (%) 60 40 Concurrency 1 Concurrency 2 Concurrency 3 20 Concurrency 4 Concurrency 5 0 0 100 200 300 400 500 Scan time [s]
Locality Trading with random peers, that may be halfway around the globe. Closer peers may be available. � 1 a and b are connected σ ( a , b ) = 0 otherwise
Locality Trading with random peers, that may be halfway around the globe. Closer peers may be available. � 1 a and b are connected σ ( a , b ) = 0 otherwise � a , b σ ( a , b ) · d ( a , b ) · E [ D ] − 1 L = � a , b σ ( a , b )
Locality Trading with random peers, that may be halfway around the globe. Closer peers may be available. � 1 a and b are connected σ ( a , b ) = 0 otherwise � a , b σ ( a , b ) · d ( a , b ) · E [ D ] − 1 ? L = ≈ 1 � a , b σ ( a , b )
Locality: evaluation • σ ( a , b ) provided from scanning method • d ( a , b ) provided by MaxMind GeoIP Database
Locality: evaluation • σ ( a , b ) provided from scanning method • d ( a , b ) provided by MaxMind GeoIP Database • 33 recently uploaded torrents • International torrents • 50-500 peers
Locality: evaluation • σ ( a , b ) provided from scanning method • d ( a , b ) provided by MaxMind GeoIP Database • 33 recently uploaded torrents • International torrents • 50-500 peers BitTorrent is not locality aware! L = 1 . 062 > 1
Improving
Suggesting Peer Exchange (PEX): • Reduce tracker load • Increase trading partners
Suggesting Peer Exchange (PEX): • Reduce tracker load B S • Increase trading partners ”You’ll like A” • Suggest nearby peers
Suggesting peers with PEX 1 Identify new peers 2 Find nearby peers 3 Connect to new peers 4 Send suggestions as PEX message
Suggesting peers with PEX + No special access + No shaping or blocking + Widely supported + ISPs get information for free
Suggesting peers with PEX + No special access + No shaping or blocking + Widely supported + ISPs get information for free - Limited influence
How are we doing? • L : 1.062 → 0.994. • 6.3% improvement Connection length comparison 0.30 ● Influenced Swarms Untouched Swarms ● 0.25 0.20 Probability 0.15 0.10 0.05 0.00 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000 Connection length [km]
Conclusion A ? S ”Hello I’m A” B
Conclusion A ? S ”Hello I’m A” B Connection length comparison 0.30 ● Influenced Swarms ● Untouched Swarms 0.25 0.20 Probability B S 0.15 ”You’ll like A” 0.10 0.05 0.00 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000 Connection length [km]
Thank you, questions?
Recommend
More recommend