Locating nearby copies of replicated Internet servers
SIGCOMM '95 Proceedings of the conference on Applications, technologies, architectures, and protocols for computer communication
A framework for scalable global IP-anycast (GIA)
Proceedings of the conference on Applications, Technologies, Architectures, and Protocols for Computer Communication
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
IDMaps: a global internet host distance estimation service
IEEE/ACM Transactions on Networking (TON)
Chord: a scalable peer-to-peer lookup protocol for internet applications
IEEE/ACM Transactions on Networking (TON)
Server Selection Using Dynamic Path Characterization in Wide-Area Networks
INFOCOM '97 Proceedings of the INFOCOM '97. Sixteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Driving the Information Revolution
Simple efficient load balancing algorithms for peer-to-peer systems
Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures
Vivaldi: a decentralized network coordinate system
Proceedings of the 2004 conference on Applications, technologies, architectures, and protocols for computer communications
Meridian: a lightweight network location service without virtual coordinates
Proceedings of the 2005 conference on Applications, technologies, architectures, and protocols for computer communications
Load balancing in dynamic structured peer-to-peer systems
Performance Evaluation - P2P computing systems
ASAP: an AS-Aware Peer-Relay Protocol for High Quality VoIP
ICDCS '06 Proceedings of the 26th IEEE International Conference on Distributed Computing Systems
Peer-to-peer communication across network address translators
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
Characterization and measurement of TCP traversal through NATs and firewalls
IMC '05 Proceedings of the 5th ACM SIGCOMM conference on Internet Measurement
Improving the reliability of internet paths with one-hop source routing
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
OASIS: anycast for any service
NSDI'06 Proceedings of the 3rd conference on Networked Systems Design & Implementation - Volume 3
iPlane: an information plane for distributed services
OSDI '06 Proceedings of the 7th symposium on Operating systems design and implementation
P4p: provider portal for applications
Proceedings of the ACM SIGCOMM 2008 conference on Data communication
Taming the torrent: a practical approach to reducing cross-isp traffic in peer-to-peer systems
Proceedings of the ACM SIGCOMM 2008 conference on Data communication
Challenges, design and analysis of a large-scale p2p-vod system
Proceedings of the ACM SIGCOMM 2008 conference on Data communication
Proceedings of the 8th ACM SIGCOMM conference on Internet measurement
Monitoring the Bittorrent Monitors: A Bird's Eye View
PAM '09 Proceedings of the 10th International Conference on Passive and Active Network Measurement
Matchmaking for online games and other latency-sensitive P2P systems
Proceedings of the ACM SIGCOMM 2009 conference on Data communication
Network coordinates in the wild
NSDI'07 Proceedings of the 4th USENIX conference on Networked systems design & implementation
VIP: a P2P communication platform for NAT traversal
ISPA'05 Proceedings of the Third international conference on Parallel and Distributed Processing and Applications
Hi-index | 0.00 |
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%.