SlideShare a Scribd company logo
1 of 19
DHTs and NAT
   Valerio Schiavoni
        INRIA
      29/06/2009
plan


• Real-world examples
• Ongoing research
we know

• how NATs work
• how DHTs work
• classic NAT traversal techniques
 • UPnP, relaying, hole punching
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
Kademlia


• XOR as distance metric
• single routing table (bucket list)
 • closer/farther buckets as finger table and
    routing table
Kademlia and NATs



• UPnP if possible
• ‘Invisible nodes’ are cached [Freedman05]
• Lookups done in parallel [Maymounkov]
• No details on specific NAT types
BitTorrent

• tcp-layer for file-transport
• udp-layer for searches
 • built-in DHT (CHORD alike)
 • for tracker-less file-sharing
BitTorrent and NATs

• PORT msg for NAT traversal:
 • tcp-layer pass ip:port to the udp-layer
• only discussed: http://lists.ibiblio.org/pipermail/
   bittorrent/2007-June/002116.html
• In [Lai05] support for Restricted/Port
   Restricted in the tcp-layer
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
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
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
non-transitive
         connectivity
• [Freedman05] describes the non-transitive
  connectivity problem
• NATs induce this problem

            X
                    B
    A                                C
non-transitive
         connectivity
• [Freedman05] report solutions adopted by
  3 majors DHT implementations
• Defined as hacks, not as protocol-redesign
 • caching unreachable nodes
 • iterative routings
NTC in FreePastry

• Exchange link state informations among leaf
  sets
• restricted to local leafset, not finger table
• probabilistic approach
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
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
UIP: recursive
                tunnelling
 arge
m.




 in a
 ns a
 sical
 rop-
ward-    Figure 9: Forwarding by Recursive Tunneling
UIP

• Ideas are there
• No explicit reference to NAT traversal
  techniques
• No evaluations
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

More Related Content

Viewers also liked

Bit torrent techtalks_dht
Bit torrent techtalks_dhtBit torrent techtalks_dht
Bit torrent techtalks_dhtbittorrentinc
 
Bit torrent-technology
Bit torrent-technologyBit torrent-technology
Bit torrent-technologyabhipesit
 
Eric Klinker Presentation at Emerging Communication Conference & Awards 2010 ...
Eric Klinker Presentation at Emerging Communication Conference & Awards 2010 ...Eric Klinker Presentation at Emerging Communication Conference & Awards 2010 ...
Eric Klinker Presentation at Emerging Communication Conference & Awards 2010 ...eCommConf
 
The eMule application of the eDonkey protocol
The eMule application of the eDonkey protocolThe eMule application of the eDonkey protocol
The eMule application of the eDonkey protocolzankyw
 
P2P in 2020 - The Push for Supplier Self-Service
P2P in 2020 - The Push for Supplier Self-ServiceP2P in 2020 - The Push for Supplier Self-Service
P2P in 2020 - The Push for Supplier Self-ServiceTradeshift
 
Bit Torrent Protocol
Bit Torrent ProtocolBit Torrent Protocol
Bit Torrent ProtocolAli Habeeb
 
Bit torrent protocol seminar by Sanjay R
Bit torrent protocol seminar by Sanjay RBit torrent protocol seminar by Sanjay R
Bit torrent protocol seminar by Sanjay RSanjay Ravishankar
 
Bittorrent_project_Srikanth_Vanama
Bittorrent_project_Srikanth_VanamaBittorrent_project_Srikanth_Vanama
Bittorrent_project_Srikanth_VanamaSrikanth Vanama
 
BitTorrent - sharing files has never been easier
BitTorrent - sharing files has never been easierBitTorrent - sharing files has never been easier
BitTorrent - sharing files has never been easierMohd253
 
Community Learning Analytics – A New Research Field in TEL
Community Learning Analytics – A New Research Field in TELCommunity Learning Analytics – A New Research Field in TEL
Community Learning Analytics – A New Research Field in TELRalf Klamma
 
Bittorrent Seminar by dhananjay pardeshi
Bittorrent Seminar by dhananjay pardeshiBittorrent Seminar by dhananjay pardeshi
Bittorrent Seminar by dhananjay pardeshidhananjaypardeshi13
 
Bit torrent Technology ppt
Bit torrent Technology pptBit torrent Technology ppt
Bit torrent Technology pptAkshay K Sajan
 
RIP RTCP RTSP
RIP RTCP RTSPRIP RTCP RTSP
RIP RTCP RTSPDev Heba
 
Bit Torrent presentation
Bit Torrent presentationBit Torrent presentation
Bit Torrent presentationAvula Jagadeesh
 

Viewers also liked (20)

Magnet links
Magnet linksMagnet links
Magnet links
 
Bit torrent techtalks_dht
Bit torrent techtalks_dhtBit torrent techtalks_dht
Bit torrent techtalks_dht
 
Bit torrent-technology
Bit torrent-technologyBit torrent-technology
Bit torrent-technology
 
Bit torrent ppt
Bit torrent pptBit torrent ppt
Bit torrent ppt
 
Eric Klinker Presentation at Emerging Communication Conference & Awards 2010 ...
Eric Klinker Presentation at Emerging Communication Conference & Awards 2010 ...Eric Klinker Presentation at Emerging Communication Conference & Awards 2010 ...
Eric Klinker Presentation at Emerging Communication Conference & Awards 2010 ...
 
Bittorrent
BittorrentBittorrent
Bittorrent
 
The eMule application of the eDonkey protocol
The eMule application of the eDonkey protocolThe eMule application of the eDonkey protocol
The eMule application of the eDonkey protocol
 
P2P in 2020 - The Push for Supplier Self-Service
P2P in 2020 - The Push for Supplier Self-ServiceP2P in 2020 - The Push for Supplier Self-Service
P2P in 2020 - The Push for Supplier Self-Service
 
Bit Torrent Protocol
Bit Torrent ProtocolBit Torrent Protocol
Bit Torrent Protocol
 
Bit torrent protocol seminar by Sanjay R
Bit torrent protocol seminar by Sanjay RBit torrent protocol seminar by Sanjay R
Bit torrent protocol seminar by Sanjay R
 
Bittorrent_project_Srikanth_Vanama
Bittorrent_project_Srikanth_VanamaBittorrent_project_Srikanth_Vanama
Bittorrent_project_Srikanth_Vanama
 
BitTorrent - sharing files has never been easier
BitTorrent - sharing files has never been easierBitTorrent - sharing files has never been easier
BitTorrent - sharing files has never been easier
 
Bit Torrent
Bit Torrent Bit Torrent
Bit Torrent
 
Community Learning Analytics – A New Research Field in TEL
Community Learning Analytics – A New Research Field in TELCommunity Learning Analytics – A New Research Field in TEL
Community Learning Analytics – A New Research Field in TEL
 
BitTorrent
BitTorrentBitTorrent
BitTorrent
 
Bittorrent Seminar by dhananjay pardeshi
Bittorrent Seminar by dhananjay pardeshiBittorrent Seminar by dhananjay pardeshi
Bittorrent Seminar by dhananjay pardeshi
 
Torrent
TorrentTorrent
Torrent
 
Bit torrent Technology ppt
Bit torrent Technology pptBit torrent Technology ppt
Bit torrent Technology ppt
 
RIP RTCP RTSP
RIP RTCP RTSPRIP RTCP RTSP
RIP RTCP RTSP
 
Bit Torrent presentation
Bit Torrent presentationBit Torrent presentation
Bit Torrent presentation
 

Similar to DHT and NAT

24-ad-hoc.ppt
24-ad-hoc.ppt24-ad-hoc.ppt
24-ad-hoc.pptsumadi26
 
Agents and P2P Networks
Agents and P2P NetworksAgents and P2P Networks
Agents and P2P NetworksJames Salter
 
In Defence of NATs
In Defence of NATsIn Defence of NATs
In Defence of NATsAPNIC
 
Introduction to Computer Networking
Introduction to Computer NetworkingIntroduction to Computer Networking
Introduction to Computer NetworkingAmit Saha
 
PWL Seattle #16 - Chord: A Scalable Peer-to-peer Lookup Protocol for Internet...
PWL Seattle #16 - Chord: A Scalable Peer-to-peer Lookup Protocol for Internet...PWL Seattle #16 - Chord: A Scalable Peer-to-peer Lookup Protocol for Internet...
PWL Seattle #16 - Chord: A Scalable Peer-to-peer Lookup Protocol for Internet...Tristan Penman
 
Running a distributed system across kubernetes clusters - Kubecon North Ameri...
Running a distributed system across kubernetes clusters - Kubecon North Ameri...Running a distributed system across kubernetes clusters - Kubecon North Ameri...
Running a distributed system across kubernetes clusters - Kubecon North Ameri...Alex Robinson
 
5. transistion mechanisum 1
5. transistion mechanisum 15. transistion mechanisum 1
5. transistion mechanisum 1rajataro
 
lecture06-link-layer.pdf
lecture06-link-layer.pdflecture06-link-layer.pdf
lecture06-link-layer.pdfEnics
 
Routing in Ad hoc networks
Routing in Ad hoc networksRouting in Ad hoc networks
Routing in Ad hoc networksTran Thang
 
02 protocols and tcp-ip
02 protocols and tcp-ip02 protocols and tcp-ip
02 protocols and tcp-ipmyl_1116
 
Valiant Load Balancing and Traffic Oblivious Routing
Valiant Load Balancing and Traffic Oblivious RoutingValiant Load Balancing and Traffic Oblivious Routing
Valiant Load Balancing and Traffic Oblivious RoutingJason TC HOU (侯宗成)
 
Building day 2 upload Building the Internet of Things with Thingsquare and ...
Building day 2   upload Building the Internet of Things with Thingsquare and ...Building day 2   upload Building the Internet of Things with Thingsquare and ...
Building day 2 upload Building the Internet of Things with Thingsquare and ...Adam Dunkels
 

Similar to DHT and NAT (20)

24-ad-hoc.ppt
24-ad-hoc.ppt24-ad-hoc.ppt
24-ad-hoc.ppt
 
Agents and P2P Networks
Agents and P2P NetworksAgents and P2P Networks
Agents and P2P Networks
 
In Defence of NATs
In Defence of NATsIn Defence of NATs
In Defence of NATs
 
Introduction to Computer Networking
Introduction to Computer NetworkingIntroduction to Computer Networking
Introduction to Computer Networking
 
PWL Seattle #16 - Chord: A Scalable Peer-to-peer Lookup Protocol for Internet...
PWL Seattle #16 - Chord: A Scalable Peer-to-peer Lookup Protocol for Internet...PWL Seattle #16 - Chord: A Scalable Peer-to-peer Lookup Protocol for Internet...
PWL Seattle #16 - Chord: A Scalable Peer-to-peer Lookup Protocol for Internet...
 
Running a distributed system across kubernetes clusters - Kubecon North Ameri...
Running a distributed system across kubernetes clusters - Kubecon North Ameri...Running a distributed system across kubernetes clusters - Kubecon North Ameri...
Running a distributed system across kubernetes clusters - Kubecon North Ameri...
 
Bridge
BridgeBridge
Bridge
 
5. transistion mechanisum 1
5. transistion mechanisum 15. transistion mechanisum 1
5. transistion mechanisum 1
 
Kademlia introduction
Kademlia introductionKademlia introduction
Kademlia introduction
 
lecture06-link-layer.pdf
lecture06-link-layer.pdflecture06-link-layer.pdf
lecture06-link-layer.pdf
 
Routing in Ad hoc networks
Routing in Ad hoc networksRouting in Ad hoc networks
Routing in Ad hoc networks
 
Introduction to MPLS - NANOG 61
Introduction to MPLS - NANOG 61Introduction to MPLS - NANOG 61
Introduction to MPLS - NANOG 61
 
Dik acn presentation
Dik acn presentationDik acn presentation
Dik acn presentation
 
IP Routing Tutorial
IP Routing TutorialIP Routing Tutorial
IP Routing Tutorial
 
02 protocols and tcp-ip
02 protocols and tcp-ip02 protocols and tcp-ip
02 protocols and tcp-ip
 
chapter 2 architecture
chapter 2 architecturechapter 2 architecture
chapter 2 architecture
 
Valiant Load Balancing and Traffic Oblivious Routing
Valiant Load Balancing and Traffic Oblivious RoutingValiant Load Balancing and Traffic Oblivious Routing
Valiant Load Balancing and Traffic Oblivious Routing
 
unit1.ppt
unit1.pptunit1.ppt
unit1.ppt
 
Lan overview
Lan overviewLan overview
Lan overview
 
Building day 2 upload Building the Internet of Things with Thingsquare and ...
Building day 2   upload Building the Internet of Things with Thingsquare and ...Building day 2   upload Building the Internet of Things with Thingsquare and ...
Building day 2 upload Building the Internet of Things with Thingsquare and ...
 

More from vschiavoni

Combining Asynchronous Task Parallelism and Intel SGX for Secure Deep Learning
Combining Asynchronous Task Parallelism and Intel SGX for Secure Deep LearningCombining Asynchronous Task Parallelism and Intel SGX for Secure Deep Learning
Combining Asynchronous Task Parallelism and Intel SGX for Secure Deep Learningvschiavoni
 
Shielding Federated Learning Systems against Inference Attacks with ARM Trust...
Shielding Federated Learning Systems against Inference Attacks with ARM Trust...Shielding Federated Learning Systems against Inference Attacks with ARM Trust...
Shielding Federated Learning Systems against Inference Attacks with ARM Trust...vschiavoni
 
Labri 2021-invited-talk
Labri 2021-invited-talkLabri 2021-invited-talk
Labri 2021-invited-talkvschiavoni
 
SafeFS: A Modular Architecture for Secure User-Space File Systems (One FUSE t...
SafeFS: A Modular Architecture for Secure User-Space File Systems (One FUSE t...SafeFS: A Modular Architecture for Secure User-Space File Systems (One FUSE t...
SafeFS: A Modular Architecture for Secure User-Space File Systems (One FUSE t...vschiavoni
 
X-Search: Revisiting private web search using Intel SGX
X-Search: Revisiting private web search using Intel SGXX-Search: Revisiting private web search using Intel SGX
X-Search: Revisiting private web search using Intel SGXvschiavoni
 
SPLAY: Distributed Systems Made Simple
SPLAY: Distributed Systems Made SimpleSPLAY: Distributed Systems Made Simple
SPLAY: Distributed Systems Made Simplevschiavoni
 
Actor concurrency for the JVM: a case study
Actor concurrency for the JVM: a case studyActor concurrency for the JVM: a case study
Actor concurrency for the JVM: a case studyvschiavoni
 
FraSCAti: An Open SCA Platform
FraSCAti: An Open SCA PlatformFraSCAti: An Open SCA Platform
FraSCAti: An Open SCA Platformvschiavoni
 
Scorware - Spring Introduction
Scorware - Spring IntroductionScorware - Spring Introduction
Scorware - Spring Introductionvschiavoni
 
BindingFactory
BindingFactoryBindingFactory
BindingFactoryvschiavoni
 
Maven: Convention over Configuration
Maven: Convention over ConfigurationMaven: Convention over Configuration
Maven: Convention over Configurationvschiavoni
 

More from vschiavoni (13)

Combining Asynchronous Task Parallelism and Intel SGX for Secure Deep Learning
Combining Asynchronous Task Parallelism and Intel SGX for Secure Deep LearningCombining Asynchronous Task Parallelism and Intel SGX for Secure Deep Learning
Combining Asynchronous Task Parallelism and Intel SGX for Secure Deep Learning
 
DEBS-2023.pdf
DEBS-2023.pdfDEBS-2023.pdf
DEBS-2023.pdf
 
Shielding Federated Learning Systems against Inference Attacks with ARM Trust...
Shielding Federated Learning Systems against Inference Attacks with ARM Trust...Shielding Federated Learning Systems against Inference Attacks with ARM Trust...
Shielding Federated Learning Systems against Inference Attacks with ARM Trust...
 
Labri 2021-invited-talk
Labri 2021-invited-talkLabri 2021-invited-talk
Labri 2021-invited-talk
 
SafeFS: A Modular Architecture for Secure User-Space File Systems (One FUSE t...
SafeFS: A Modular Architecture for Secure User-Space File Systems (One FUSE t...SafeFS: A Modular Architecture for Secure User-Space File Systems (One FUSE t...
SafeFS: A Modular Architecture for Secure User-Space File Systems (One FUSE t...
 
X-Search: Revisiting private web search using Intel SGX
X-Search: Revisiting private web search using Intel SGXX-Search: Revisiting private web search using Intel SGX
X-Search: Revisiting private web search using Intel SGX
 
SPLAY: Distributed Systems Made Simple
SPLAY: Distributed Systems Made SimpleSPLAY: Distributed Systems Made Simple
SPLAY: Distributed Systems Made Simple
 
Actor concurrency for the JVM: a case study
Actor concurrency for the JVM: a case studyActor concurrency for the JVM: a case study
Actor concurrency for the JVM: a case study
 
FraSCAti: An Open SCA Platform
FraSCAti: An Open SCA PlatformFraSCAti: An Open SCA Platform
FraSCAti: An Open SCA Platform
 
Spring Intro
Spring IntroSpring Intro
Spring Intro
 
Scorware - Spring Introduction
Scorware - Spring IntroductionScorware - Spring Introduction
Scorware - Spring Introduction
 
BindingFactory
BindingFactoryBindingFactory
BindingFactory
 
Maven: Convention over Configuration
Maven: Convention over ConfigurationMaven: Convention over Configuration
Maven: Convention over Configuration
 

Recently uploaded

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Recently uploaded (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

DHT and NAT

  • 1. DHTs and NAT Valerio Schiavoni INRIA 29/06/2009
  • 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: http://lists.ibiblio.org/pipermail/ 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