NATBLASTER: Establishing TCP Connections Between Hosts Behind NATs ∗
Andrew Biggadike, Daniel Ferullo, Geoffrey G. Wilson, Adrian Perrig
Abstract
Andrew Biggadike, Daniel Ferullo, Geoffrey G. Wilson, Adrian Perrig
Abstract
Firewalls and Network Address Translation (NAT) devices are becoming increasingly prevalent, and they pose a significant p roblem for connection establishment for peer-to-peer protocols. When properly configured, these middle-boxes 1 inhibit TCP connections solicited from outside the local network. This paper proposes novel mechanisms to create direct TCP connections between two hosts behind middle-boxes with minimal help from a third-party. We implement two of these solutions on common hardware within a common environment. We are able to create direct TCP connections between two hosts which are both located behind typical NATs designed for small networks. Once this connection is established, the applications can communicate with each other using a standard TCP implementation with no further external help.
OpenAlex reports 73 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.
Firewalls and Network Address Translation (NAT) devices are becoming increasingly prevalent, and they pose a significant p roblem for connection establishment for peer-to-peer protocols. When properly configured, these middle-boxes 1 inhibit TCP connections solicited from outside the local network. This paper proposes novel mechanisms to create direct TCP connections between two hosts behind middle-boxes with minimal help from a third-party. We implement two of these solutions on common hardware within a common environment. We are able to create direct TCP connections between two hosts which are both located behind typical NATs designed for small networks. Once this connection is established, the applications can communicate with each other using a standard TCP implementation with no further external help.
Key concepts: TCP hole punching, Computer network, Network address, Computer science, Network address translation, Zeta-TCP, Connection (principal bundle), NAT traversal