A collaborative P2P scheme for NAT Traversal Server discovery based on topological information

In the current Internet picture more than 70% of the hosts are located behind Network Address Translators (NATs). This is not a problem for the client/server paradigm. However, the Internet has evolved, and nowadays the largest portion of the traffic is due to peer-to-peer (p2p) applications. This scenario presents an important challenge: two hosts behind NATs (NATed hosts) cannot establish direct communications. The easiest way to solve this problem is by using a third entity, called Relay, that forwards the traffic between the NATed hosts. Although many efforts have been devoted to avoid the use of Relays, they are still needed in many situations. Hence, the selection of a suitable Relay becomes critical to many p2p applications. In this paper, we propose the Gradual Proximity Algorithm (GPA): a simple algorithm that guarantees the selection of a topologically close-by Relay. We present a measurement-based analysis, showing that the GPA minimizes both the delay of the relayed communication and the transit traffic generated by the Relay, being a QoS-aware and ISP-friendly solution. Furthermore, the paper presents the Peer-to-Peer NAT Traversal Architecture (P2P-NTA), which is a global, distributed and collaborative solution, based on the GPA. This architecture addresses the Relay discovery/selection problem. We have performed large-scale simulations based on real measurements, which validate our proposal. The results demonstrate that the P2P-NTA performs similarly to direct communications with reasonably large deployments of p2p applications. In fact, only 5% of the communications experience an extra delay that may degrade the QoS due to the use of Relays. Furthermore, the amount of extra transit traffic generated is only 6%. We also show that the P2P-NTA largely outperforms other proposals, where the QoS degradation affects up to more than 50% of the communications, and the extra traffic generated goes beyond 80%.

[1]  Jacob R. Lorch,et al.  Matchmaking for online games and other latency-sensitive P2P systems , 2009, SIGCOMM '09.

[2]  Adrian Perrig,et al.  NATBLASTER: Establishing TCP Connections Between Hosts Behind NATs ∗ , 2005 .

[3]  Ralf Steinmetz,et al.  Unraveling BitTorrent's File Unavailability: Measurements and Analysis , 2010, 2010 IEEE Tenth International Conference on Peer-to-Peer Computing (P2P).

[4]  Yakov Rekhter,et al.  A Border Gateway Protocol 4 (BGP-4) , 1994, RFC.

[5]  Mark Crovella,et al.  Server selection using dynamic path characterization in wide-area networks , 1997, Proceedings of INFOCOM '97.

[6]  Ralf Steinmetz,et al.  Unraveling BitTorrent's File Unavailability: Measurements, Analysis and Solution Exploration , 2009, ArXiv.

[7]  Jonathan D. Rosenberg,et al.  Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN) , 2020, RFC.

[8]  Marcel Dischinger,et al.  Detecting bittorrent blocking , 2008, IMC '08.

[9]  David Mazières,et al.  OASIS: Anycast for Any Service , 2006, NSDI.

[10]  Michael F. Schwartz,et al.  Locating nearby copies of replicated Internet servers , 1995, SIGCOMM '95.

[11]  Brighten Godfrey,et al.  Heterogeneity and load balance in distributed hash tables , 2005, Proceedings IEEE 24th Annual Joint Conference of the IEEE Computer and Communications Societies..

[12]  Arun Venkataramani,et al.  iPlane: an information plane for distributed services , 2006, OSDI '06.

[13]  Qianni Deng,et al.  VIP: A P2P Communication Platform for NAT Traversal , 2005, ISPA.

[14]  Cheng Huang,et al.  Challenges, design and analysis of a large-scale p2p-vod system , 2008, SIGCOMM '08.

[15]  Olivier Bonaventure,et al.  Validation of a LISP simulator , 2009 .

[16]  Laurent Mathy,et al.  Proceedings of the 9th ACM SIGCOMM conference on Internet measurement conference , 2009, IMC 2009.

[17]  Gade Krishna,et al.  A scalable peer-to-peer lookup protocol for Internet applications , 2012 .

[18]  M. Frans Kaashoek,et al.  Vivaldi: a decentralized network coordinate system , 2004, SIGCOMM 2004.

[19]  Hari Balakrishnan,et al.  Resilient overlay networks , 2001, SOSP.

[20]  Jonathan D. Rosenberg,et al.  Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer/Answer Protocols , 2010, RFC.

[21]  Fabián E. Bustamante,et al.  Taming the torrent: a practical approach to reducing cross-isp traffic in peer-to-peer systems , 2008, SIGCOMM '08.

[22]  Paul Francis,et al.  The IP Network Address Translator (NAT) , 1994, RFC.

[23]  Paul Francis,et al.  IDMaps: a global internet host distance estimation service , 2001, TNET.

[24]  Henning Schulzrinne,et al.  An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol , 2004, Proceedings IEEE INFOCOM 2006. 25TH IEEE International Conference on Computer Communications.

[25]  David R. Karger,et al.  Simple Efficient Load-Balancing Algorithms for Peer-to-Peer Systems , 2004, SPAA '04.

[26]  Rubén Cuevas Rumín,et al.  Routing Fairness in Chord: Analysis and Enhancement , 2009, IEEE INFOCOM 2009.

[27]  Pablo Rodriguez,et al.  Monitoring the Bittorrent Monitors: A Bird's Eye View , 2009, PAM.

[28]  Abraham Silberschatz,et al.  P4p: provider portal for applications , 2008, SIGCOMM '08.

[29]  Margo I. Seltzer,et al.  Network Coordinates in the Wild , 2007, NSDI.

[30]  Christian Huitema,et al.  STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs) , 2003, RFC.

[31]  Krishna P. Gummadi,et al.  Improving the Reliability of Internet Paths with One-hop Source Routing , 2004, OSDI.

[32]  Robert Tappan Morris,et al.  Vivaldi: a decentralized network coordinate system , 2004, SIGCOMM '04.

[33]  Robert Morris,et al.  Chord: A scalable peer-to-peer lookup service for internet applications , 2001, SIGCOMM 2001.

[34]  A. Singh Challenges " # , 2006 .

[35]  Xiaodong Zhang,et al.  ASAP: an AS-Aware Peer-Relay Protocol for High Quality VoIP , 2006, 26th IEEE International Conference on Distributed Computing Systems (ICDCS'06).

[36]  Emin Gün Sirer,et al.  Meridian: a lightweight network location service without virtual coordinates , 2005, SIGCOMM '05.

[37]  H. Schulzrinne,et al.  Skype relay calls: Measurements and experiments , 2008, IEEE INFOCOM Workshops 2008.

[38]  Saikat Guha,et al.  Characterization and measurement of TCP traversal through NATs and firewalls , 2005, IMC '05.

[39]  Richard M. Karp,et al.  Load balancing in dynamic structured peer-to-peer systems , 2006, Perform. Evaluation.

[40]  Bryan Ford,et al.  Peer-to-Peer Communication Across Network Address Translators , 2005, USENIX Annual Technical Conference, General Track.

[41]  W. Norton The Evolution of the U.S. Internet Peering Ecosystem , 2003 .

[42]  D. Katabi,et al.  A framework for scalable global IP-anycast (GIA) , 2001, CCRV.