On NAT Traversal in Peer-to-Peer Applications

A widely used technique to overcome the shortage of unique public IP addresses is network address translation (NAT), which hides 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 establishing connection is made possible only by using special NAT traversal techniques. This paper presents a lightweight framework for NAT traversal, which smoothly integrates with p2p applications. The framework can be easily used by most p2p applications, is extensible and does not require additional maintenance overhead.