TCPBridge: A software approach to establish direct communications for NAT hosts - Sanmin Liu; Jin, Hai; Xiaofei Liao; Hong Yao; Deze Zeng (2008 IEEE/ACS International Conference on Computer Systems and Applications, 2008)
Traversing Network Address Translation (NAT) for Peer-to-Peer (P2P) communication has become a hot topic recently. Compared to UDP, establishing TCP connections for hosts behind different NATs is more complex. Thus, many TCP-based applications do not address TCP traversal through NATs. Some solutions suggest using delegates to relay all communications, or tunneling TCP over UDP. However, they require a big reform to network architecture, or using a non-standard TCP/IP stack. In this paper, we present a novel idea called TCPBridge. TCPBridge converts TCP traversal to UDP traversal without modifying any binaries of the TCP-based applications. Our design can be integrated with those P2P applications which have not solved TCP traversal problem, and extends them to support direct communications between NAT hosts. It deals with the problem of TCP traversal, so as to improve the usability of applications. We have implemented TCPBridge in several existing P2P systems. Statistics prove that TCPBridge is scalable and robust, and we believe it will benefit many other existing P2P applications.