Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/1247360.1247373guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Peer-to-peer communication across network address translators

Published: 10 April 2005 Publication History

Abstract

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.

References

[1]
{1} Andrew Biggadike, Daniel Ferullo, Geoffrey Wilson, and Adrian Perrig. NATBLASTER: Establishing TCP connections between hosts behind NATs. In ACM SIGCOMM Asia Workshop, Beijing, China, April 2005.]]
[2]
{2} David Clark, Robert Braden, Aaron Falk, and Venkata Pingali. FARA: Reorganizing the addressing architecture. In ACM SIGCOMM FDNA Workshop, August 2003.]]
[3]
{3} S. Deering and R. Hinden. Internet protocol, version 6 (IPv6) specification, December 1998. RFC 2460.]]
[4]
{4} Jeffrey L. Eppinger. TCP connections for P2P apps: A software approach to solving the NAT problem. Technical Report CMU-ISRI-05-104, Carnegie Mellon University, January 2005.]]
[5]
{5} Bryan Ford. Scalable Internet routing on topology-independent node identities. Technical Report MIT-LCS-TR-926, MIT Laboratory for Computer Science, October 2003.]]
[6]
{6} Bryan Ford. Unmanaged internet protocol: Taming the edge network management crisis. In Second Workshop on Hot Topics in Networks, Cambridge, MA, November 2003.]]
[7]
{7} Paul Francis and Ramakrishna Gummadi. IPNL: A NAT-extended Internet architecture. In ACM SIGCOMM, August 2002.]]
[8]
{8} Saikat Guha and Paul Francis. Simple traversal of UDP through NATs and TCP too (STUNT). http://nutss.gforge.cis.cornell.edu/.]]
[9]
{9} Saikat Guha, Yutaka Takeday, and Paul Francis. NUTSS: A SIP-based approach to UDP and TCP network connectivity. In SIGCOMM 2004 Workshops, August 2004.]]
[10]
{10} M. Holdrege and P. Srisuresh. Protocol complications with the IP network address translator, January 2001. RFC 3027.]]
[11]
{11} C. Huitema. Teredo: Tunneling IPv6 over UDP through NATs, March 2004. Internet-Draft (Work in Progress).]]
[12]
{12} C. Jennings. NAT classification results using STUN, October 2004. Internet-Draft (Work in Progress).]]
[13]
{13} Dan Kegel. NAT and peer-to-peer networking, July 1999. http://www.alumni.caltech.edu/~dank/ peer-nat.html.]]
[14]
{14} M. Leech et al. SOCKS protocol, March 1996. RFC 1928.]]
[15]
{15} R. Moskowitz and P. Nikander. Host identity protocol architecture, April 2003. Internet-Draft (Work in Progress).]]
[16]
{16} NAT check. http://midcom-p2p.sourceforge.net/.]]
[17]
{17} J. Rosenberg. Interactive connectivity establishment (ICE), October 2003. Internet-Draft (Work in Progress).]]
[18]
{18} J. Rosenberg, C. Huitema, and R. Mahy. Traversal using relay NAT (TURN), October 2003. Internet-Draft (Work in Progress).]]
[19]
{19} J. Rosenberg, J. Weinberger, C. Huitema, and R. Mahy. STUN - simple traversal of user datagram protocol (UDP) through network address translators (NATs), March 2003. RFC 3489.]]
[20]
{20} J. Saltzer. On the naming and binding of network destinations. In P. Ravasio et al., editor, Local Computer Networks, pages 311-317. North-Holland, Amsterdam, 1982. RFC 1498.]]
[21]
{21} P. Srisuresh and M. Holdrege. IP network address translator (NAT) terminology and considerations, August 1999. RFC 2663.]]
[22]
{22} P. Srisuresh, J. Kuthan, J. Rosenberg, A. Molitor, and A. Rayhan. Middlebox communication architecture and framework, August 2002. RFC 3303.]]
[23]
{23} Transmission control protocol, September 1981. RFC 793.]]
[24]
{24} G. Tsirtsis and P. Srisuresh. Network address translation - protocol translation (NAT-PT), February 2000. RFC 2766.]]
[25]
{25} Justin Uberti. E-mail on IETF MIDCOM mailing list, February 2004. Message-ID: 〈[email protected]〉.]]
[26]
{26} UPnP Forum. Internet gateway device (IGD) standardized device control protocol, November 2001. http://www.upnp.org/.]]
[27]
{27} Michael Walfish, Jeremy Stribling, Maxwell Krohn, Hari Balakrishnan, Robert Morris, and Scott Shenker. Middleboxes no longer considered harmful. In USENIX Symposium on Operating Systems Design and Implementation, San Francisco, CA, December 2004.]]

Cited By

View all
  • (2023)Accelerating Communications in Federated Applications with Transparent Object ProxiesProceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis10.1145/3581784.3607047(1-15)Online publication date: 12-Nov-2023
  • (2023)FMI: Fast and Cheap Message Passing for Serverless FunctionsProceedings of the 37th International Conference on Supercomputing10.1145/3577193.3593718(373-385)Online publication date: 21-Jun-2023
  • (2021)Distributed deep learning in open collaborationsProceedings of the 35th International Conference on Neural Information Processing Systems10.5555/3540261.3540864(7879-7897)Online publication date: 6-Dec-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
ATEC '05: Proceedings of the annual conference on USENIX Annual Technical Conference
April 2005
588 pages

Publisher

USENIX Association

United States

Publication History

Published: 10 April 2005

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Accelerating Communications in Federated Applications with Transparent Object ProxiesProceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis10.1145/3581784.3607047(1-15)Online publication date: 12-Nov-2023
  • (2023)FMI: Fast and Cheap Message Passing for Serverless FunctionsProceedings of the 37th International Conference on Supercomputing10.1145/3577193.3593718(373-385)Online publication date: 21-Jun-2023
  • (2021)Distributed deep learning in open collaborationsProceedings of the 35th International Conference on Neural Information Processing Systems10.5555/3540261.3540864(7879-7897)Online publication date: 6-Dec-2021
  • (2021)Design and Implementation of Sewage Monitoring System Based on Internet of Things Technology2021 4th International Conference on Information Systems and Computer Aided Education10.1145/3482632.3484018(1687-1690)Online publication date: 24-Sep-2021
  • (2020)Automated verification of customizable middlebox properties with gravelProceedings of the 17th Usenix Conference on Networked Systems Design and Implementation10.5555/3388242.3388258(221-240)Online publication date: 25-Feb-2020
  • (2020)Rewarding relays for decentralised NAT traversal using smart contractsProceedings of the Twenty-First International Symposium on Theory, Algorithmic Foundations, and Protocol Design for Mobile Networks and Mobile Computing10.1145/3397166.3412799(309-314)Online publication date: 11-Oct-2020
  • (2018)Uninterruptible Play in Virtual Node-based Virtual WorldsProceedings of the 10th International Workshop on Immersive Mixed and Virtual Environment Systems10.1145/3210438.3210439(22-27)Online publication date: 12-Jun-2018
  • (2018)Where's Wally?Proceedings of the 2018 on Asia Conference on Computer and Communications Security10.1145/3196494.3196496(425-430)Online publication date: 29-May-2018
  • (2017)CrystalNetProceedings of the 26th Symposium on Operating Systems Principles10.1145/3132747.3132759(599-613)Online publication date: 14-Oct-2017
  • (2016)A Multi-perspective Analysis of Carrier-Grade NAT DeploymentProceedings of the 2016 Internet Measurement Conference10.1145/2987443.2987474(215-229)Online publication date: 14-Nov-2016
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media