Font Size: a A A

A Software Approach To Establish Direct Communications For NAT Hosts

Posted on:2009-07-08Degree:MasterType:Thesis
Country:ChinaCandidate:S M LiuFull Text:PDF
GTID:2178360278464057Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
NAT is becoming popular and supported by many firewall devices. It brings a significant problem for establishing connections for P2P applications. Traversal of NAT through UDP has a usual approach called"Hole Punching". Compared to UDP, establishing TCP connections for hosts behind different NATs is more complex. Some P2P applications are designed to use TCP as data transferring protocol. In order to share resource and cooperate with specific peers, we need to establish TCP connections between hosts behind different NATs (hereafter called NAT hosts). The problem is that NAT only allows the establishment of outgoing connections, thus two NAT hosts can not establish direct TCP connections. Thus, many TCP-based applications do not address TCP traversal through NATs or so poorly. 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. TCPBridge captures the TCP connection request, and redirects it to the TCP impostor. Then, TCP impostor notifies the destination host. At last, the TCPBridge of destination host connects to its application. Thus, all packets are captured by TCPBridge. 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.
Keywords/Search Tags:Peer to peer, NAT, TCP traversal
PDF Full Text Request
Related items