TCPBridge: A software approach to establish direct communications for NAT hosts
Sanmin Liu, Hai Jin, Xiaofei Liao, Hong Liang Yao, Deze Zeng
Abstract
Sanmin Liu, Hai Jin, Xiaofei Liao, Hong Liang Yao, Deze Zeng
Abstract
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.
OpenAlex reports 3 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
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.
Key concepts: TCP hole punching, NAT traversal, Computer science, Computer network, Network address translation, Tree traversal, Zeta-TCP, Scalability