Patent ID: 8799504

Claim:
A Transmission Control Protocol (TCP) tunnel for transmitting data between a computer and a network, comprising: a modified transport layer configured to execute on the computer, wherein the computer includes a TCP stack having a plurality of protocol layers, one of the plurality of protocol layers is a transport layer, and the modified transport layer executes in parallel with the transport layer; an interface configured to communicate with the modified transport layer and with at least one protocol layer higher than the transport layer, the interface configured to receive a payload from a calling application executing on the at least one protocol layer higher than the transport layer; and a packet capture module configured to execute on the modified transport layer, wherein the modified transport layer is executable to receive the payload from the interface, encapsulate the payload as a TCP segment and insert the TCP segment into the TCP stack on the computer, the packet capture module is configured to receive data from the TCP stack on the computer and to provide the data to the modified transport layer, and the modified transport layer is executable to receive the data from the packet capture module, determine whether a TCP segment is encapsulated in the data, transmit the data to the calling application when a TCP segment is encapsulated in the data, and transmit the data to the transport layer when no TCP segment is encapsulated in the data.