Presentation is loading. Please wait.

Presentation is loading. Please wait.

Decentralized peer discovery performance in swarm-protocols

Similar presentations


Presentation on theme: "Decentralized peer discovery performance in swarm-protocols"— Presentation transcript:

1 Decentralized peer discovery performance in swarm-protocols
Raul Jimenez KTH, Sweden KTH logo here tslab.ssvl.kth.se/raul

2 Overview BitTorrent Content Discovery Data Exchange Peer Discovery
Centralized Tracker Decentralized Tracker (DHT) Gossiping (PEX) DHT Issues Experiments

3 BitTorrent Content discovery Metadata (.torrent file)
Little tree Content discovery Metadata (.torrent file) Peer discovery List of peers Data exchange Content tree

4 Metadata (.torrent file)
supergadget3000.pdf blender_foundation_-_elephants_dream.torrent Product: SuperGadget 3000 Article #: 1234-ABC98 Specifications: ..... Updated list of shops: Name: info_hash: c70bcf4657cac1253d12acda95b04d1e4dcd23f4 Hash for every piece: Tracker (updated list of peers): Elephants Dream HD ..... Product Picture here (webhallen) hide product and spec

5 Peer Discovery Centralized Tracker Decentralized PEX (Peer Exchange)
DHT (Distributed Hash Table) Follow tree

6 Centralized Tracker 1 2 3 4 5 6 7 8 tracker.kth.se 1
Represent this better 8 Add comments

7 Centralized Tracker 1 2 3 tracker.kth.se 4 5 6 1 4 7 8

8 Centralized Tracker 1 2 3 tracker.kth.se 4 5 6 1 4 7 7 8

9 Peer Discovery Centralized Tracker Decentralized PEX (Peer Exchange)
DHT (Distributed Hash Table) Follow the tree

10 Peer Exchange (PEX) Gossiping protocol
Messages between peers in the same swarm Need external bootstrap Example, better description

11 Distributed Hash Table (DHT)
Simple demo 4-bits identifiers (24 = 16 identifiers) 1 node per bucket 10 nodes Properties iterative full tracker

12 DHT: Routing Table Short version for iniciated Routing table Level 0
MyNode 1001

13 DHT: Routing Table 1xxx 0xxx Routing table Level 0 0010 Level 1
MyNode 1001

14 DHT: Routing Table 11xx 00xx Routing table 10xx 01xx Level 0 0010
1111 Level 2 Level 3 MyNode 1001

15 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

16 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

17

18 DHT: Find Peers 1xxx 0xxx Level 0 0010 0101 torrentID Level 1 1111
1011 Level 3 MyNode 1001

19 DHT: Find Peers Level 0 1001 Level 1 0110 Level 2 0000 11xx 00xx
0011 10xx 01xx 0101 torrentID MyNode 1001

20 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

21 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

22 Distributed Hash Table (DHT)
Kademlia Iterative routing algorithm 160-bit identifiers 8 nodes per bucket 1 million nodes ?

23 DHT Issues NAT behaviour BitTorrent & NATs DHT & NATs

24 Network Address Translation (NAT)
NAT hole open partially open NAT hole closed after NAT timeout, or full table, or ... Syncro closed with square Red cross

25 BitTorrent & NATs 1 2 3 tracker.kth.se 4 5 6 1 7 8 Add more NATs

26 BitTorrent & NATs 1 2 3 tracker.kth.se 4 5 6 1 4 7 8

27 BitTorrent & NATs 1 2 3 tracker.kth.se 4 5 6 1 4 7 7 8

28 DHT & NATs Higher (apparent) churn Broken routes

29 Higher churn A new node joins Add to the routing table
Dead node (remove) 1 2 A new node joins ... Show routing table?

30 Broken routes Node 1 finds node 2 N1 adds N2 to routing table
N3 sends message to N1 N2 is the next hop N2 is unreachable from N3 3 Show routing tables?

31 What to do? Prevent my routing table from pollution
Check for global reachability before adding a node No pollute others' routing tables Tell others “don't add me to your routing table”

32 Prevent pollution Check candidate node's reachability
from the DHT (same IP, same port) opening a new connection (same IP, different port) from another host (different IP) Wait for a long time (>NAT timeout) Zero 0% Very cheap Exp data Expensive 100% ? ?

33 Prevent pollution Experiment results here

34 No pollute others Flag myself as “unreachable” new protocol message
a flag in messages select a special port range don't reply any message

35 Thank you!


Download ppt "Decentralized peer discovery performance in swarm-protocols"

Similar presentations


Ads by Google