Patent ID: 7646775

Claim:
A method of connecting two TCP peers that each exist behind one or more firewalls and NATs by opening an Internet routed peer-to-peer TCP connection between the two TCP peers using publicly routable Internet addresses without making changes to the firewall or NAT devices or existing TCP-based applications by using a publically accessible Registration Server, an Agent Application and a Virtual Network Interface for executing the method, the method comprising the steps of: setting up a control channel between the two TCP peers with the Registration Server; probing each of the two TCP peers for an IP address and a port identifier; instructing a TCP layer in each of the two TCP peers to open a TCP connection using the IP address and the port identifier; using the Agent Application to relay a TCP three-way handshaking control message sequence between the two TCP peers using the control channel; using the Virtual Network Interface to reconstruct the TCP three-way handshaking control message sequence; using the Virtual Network Interface to pass the TCP three-way handshaking control message sequence into a TCP/IP protocol stack on each of the two TCP peers; and establishing a TCP connection in each peer firewall.