Your SlideShare is downloading. ×
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply



Published on

A short presentation about Distributed Hash Tables (DHT) p2p systems and how they cope with Network Address Translators (NAT). …

A short presentation about Distributed Hash Tables (DHT) p2p systems and how they cope with Network Address Translators (NAT).
The presentation aims at giving a bird-perspective of the subject, without entering too much into the details.

Published in: Technology, Health & Medicine

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. DHTs and NAT Valerio Schiavoni INRIA 29/06/2009
  • 2. plan • Real-world examples • Ongoing research
  • 3. we know • how NATs work • how DHTs work • classic NAT traversal techniques • UPnP, relaying, hole punching
  • 4. DHT assumptions • “Every node in the overlay is able to exchange messages with any other overlay node” • But it’s not true in several cases
  • 5. Kademlia • XOR as distance metric • single routing table (bucket list) • closer/farther buckets as finger table and routing table
  • 6. Kademlia and NATs • UPnP if possible • ‘Invisible nodes’ are cached [Freedman05] • Lookups done in parallel [Maymounkov] • No details on specific NAT types
  • 7. BitTorrent • tcp-layer for file-transport • udp-layer for searches • built-in DHT (CHORD alike) • for tracker-less file-sharing
  • 8. BitTorrent and NATs • PORT msg for NAT traversal: • tcp-layer pass ip:port to the udp-layer • only discussed: bittorrent/2007-June/002116.html • In [Lai05] support for Restricted/Port Restricted in the tcp-layer
  • 9. Maidsafe-DHT • Kademlia++ built-in NAT traversal, C++ • force-k, report dead-nodes in responses • UDP hole-punching • Nodes in the routing table used as rendezvous points to forward OPEN_HOLE messages • UPnP
  • 10. BruNet • UCLA, Chord-alike, C#, CoRR’07 • a library to build NAT-resilient DHTs • 2-phase protocol • request connection • handshake: nodes exchange their public/private addresses
  • 11. BruNet and NATs • Due to 2-phase, nodes learn public address • Rendez-vous nodes can be NATted • It doesn’t work if boths are SYM NATs • Claims to perform distributed tunneling for problematic routing problems (SYM NATs, firewalls, BGP outages) • no references on papers
  • 12. non-transitive connectivity • [Freedman05] describes the non-transitive connectivity problem • NATs induce this problem X B A C
  • 13. non-transitive connectivity • [Freedman05] report solutions adopted by 3 majors DHT implementations • Defined as hacks, not as protocol-redesign • caching unreachable nodes • iterative routings
  • 14. NTC in FreePastry • Exchange link state informations among leaf sets • restricted to local leafset, not finger table • probabilistic approach
  • 15. Source-routing to solve NTC • In [Dedinski,ISCC’07] a generic source- routing solution is proposed to NTC • To build routing tables, nodes exchange full paths • Optimizations • probing, load-balancing • Evaluation with Chord
  • 16. UIP: Unmanaged Internet Protocol • Ford, 2003, tech report • Routing protocol • Adapt Kademlia, but relax basic assumption • don’t assume global connectivity • physical and virtual links • support source routing • recursive tunnelling
  • 17. UIP: recursive tunnelling arge m. in a ns a sical rop- ward- Figure 9: Forwarding by Recursive Tunneling
  • 18. UIP • Ideas are there • No explicit reference to NAT traversal techniques • No evaluations
  • 19. References • “Non-Transitive Connectivity and DHTs”, Freedman et alii, WORLDS’05 • “A Source Routing Solution to Non-Transitivity Connectivity Problems in DHTs”, Dedinksi et alii, ISCC’07 • “Implementing NAT traversal on BitTorrent”,Lai’05, unpublished • “WoW: Self organizing...”, Ganguly et ali, HDPC’07 • “A Symphony Conducted by Brunet”, Boykin2007, tech report • “Scalable Internet Routing on Topology-Independent Node Identities”, Ford, 2003