On NAT Traversal in Peer-to-Peer Applications

From P2P Wiki

Jump to: navigation, search

Contents

Authors

Konstantin Pussep, Matthias Weinert, Aleksandra Kovacevic and Ralf Steinmetz

Abstract

The enormous increase in Internet usage in recent years has caused a shortage of unique public IP addresses. A widely used technique to solve this problem is Network Address Translation (NAT); this technique provides Internet connectivity for an arbitrary number of hosts by hiding several hosts behind a single public address. This method works smoothly with client server architectures, however, it causes severe problems with the peer-to-peer (p2p) communication paradigm. Due to the side effects of NAT, the connection establishment is only possible by using special methods called NAT traversal techniques. This paper presents a lightweight framework for NAT traversal, which smoothly integrates with p2p applications. The framework contains the most important of NAT traversal techniques and makes it easily possible to establish connections with hidden peers. Moreover, the framework can be easily extended with other traversal techniques without changing the application itself.

Documents

Slides

Comments

From Oscar Boykin: I really enjoyed this talk. I think this work fills a gap. I completely agree that NAT traversal is important, and likely here to stay for a long time. Also, unfortunately, it is overlooked (as it is difficult to deal with) by many projects. I do want to add that the approach we used in the following paper is quite similar: try direct connect with a simultaneous use of the overlay to route a reversed connection attempt: HPDC (2006) conference paper, Journal of Grid Computing paper (2007). This code is available in the Brunet Project.


Published at SourceForge.net

The framework is now available under GPL, please find it here::

sourceforge.net/projects/nattrav/

Personal tools