Peer-to-Peer Communication Across Network Address Translators
By Bryan Ford, P. Srisuresh, Dan Kegel. 2005
458 citations recorded by the source corpus.
Network Address Translation (NAT) causes well-known difficulties for peer-to-peer (P2P) communication, since the peers involved may not be reachable at any globally valid IP address. Several NAT traversal techniques are known, but their documentation is slim, and data about their robustness or relative merits is slimmer. This paper documents and analyzes one of the simplest but most robust and practical NAT traversal techniques, commonly known as hole punching. Hole punching is moderately well-understood for UDP communication, but we show how it can be reliably used to set up peer-to-peer TCP streams as well. After gathering data on the reliability of this technique on a wide variety of deployed NATs, we nd that about 82% of the NATs tested support hole punching for UDP, and about 64% support hole punching for TCP streams. As NAT vendors become increasingly conscious of the needs of important P2P applications such as Voice over IP and online gaming protocols, support for hole punching is likely to increase in the future.
Subfields: Artificial Intelligence, Computer Networks and Communications
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Edo Roth
- Andreas Haeberlen
- Ravi Jain
- Neil Daswani
- Saikat Guha
- Brett Hemenway Falk
- Yoshifumi Nishida
- Mark James Handley
In Computer Networks and Communications
- Adam Greenhalgh
- Costin Raiciu
- Mark James Handley
- Andreas Haeberlen
- Ravi Jain
- Neil Daswani
- Saikat Guha
- Daniel Noble
Citations in the corpus
- Honeycrisp: large-scale differentially private aggregation without a trusted core (2019, background): “6) could be satisfied with TLS channels, in combination with NAT traversal techniques [34]; 7) seems plausible given experience with existing deployments (see 2.”
- An Experimental Study of the Skype Peer-to-Peer VoIP System (2005, methodology): “If both clients are behind NATs, Skype uses STUNlike NAT traversal [25,10] to establish the direct connection.”
- Is it still possible to extend TCP? (2011, background): “[13] test hole punching availability of NAT boxes for TCP and UDP.”