Flexible Framework for NAT Traversal in Peer-to-Peer Applications
Key: PWLS07-1
Author: Konstantin Pussep, Matthias Weinert, Nicolas Liebau, Ralf Steinmetz
Date: November 2007
Kind: @techreport
Keywords: Peer-to-Peer, NAT, NAT Traversal, framework
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, the predominant networking paradigm at the design-time of NAT; however, it causes severe problems with the recently popular peer-to-peer (P2P) paradigm. Applications following the latter one need to set up connections with peers that may be hidden by NAT services; however due to the side effects of NAT, this connection establishment is only possible by using special methods called NAT traversal techniques. This report presents a lightweight framework for developers of peer-to-peer applications. Our framework is lightweight in the sense that it uses the standard Java New I/O mechanisms for the communication between peers and therefore smoothly integrates with modern Java-based 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. To this end, we present the theoretical background behind NAT for P2P systems. We describe the design and implementation of the framework, present a short evaluation and finally summarize the knowledge gained.
View Full paper (PDF) | Download Full paper (PDF)

The documents distributed by this server have been provided by the contributing authors as a means to ensure timely dissemination of scholarly and technical work on a non-commercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, not withstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.