Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Method for seamless TCP connection offload to applications

IP.com Disclosure Number: IPCOM000022479D
Publication Date: 2004-Mar-17
Document File: 5 page(s) / 119K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method for seamless transmission control protocol (TCP) connection offload to applications. Benefits include improved functionality and improved performance.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 37% of the total text.

Method for seamless TCP connection offload to applications

Disclosed is a method for seamless transmission control protocol (TCP) connection offload to applications. Benefits include improved functionality and improved performance.

Background

         Advances in host subsystems, such as the central processor unit (CPU), memory, and input/output (I/O), are lagging behind advances in network bandwidth. For high-speed networks, host-based protocol processing can limit application performance and scalability. One way to address this system bottleneck is to offload layer-4 protocol processing such as transmission control protocol/Internet protocol (TCP/IP) from the host CPU into dedicated hardware. This type of hardware implementation is referred to as a transport offload engine (TOE).

         Network controllers with TOE (TOE controllers), such as Ethernet medium access controllers (MACs) that have the TOE feature, fundamentally differ from standard controllers, which implement packet-based interfaces. TOE-enabled controllers are statefull in that they must perform actions on a per connection basis, based on the current state of that connection. TOE-enabled controllers require memory in addition to the logic required to implement the protocol. Standard network controllers are typically stateless; their actions are typically independent of a particular connection.

         One of these statefull tasks is connection setup and teardown. The number of connections that could be offloaded is, typically, much less than the total number of connections that an end node can service because offloaded connections require additional resources. A solution is required that conserves these resources for high-priority applications and maintains a stateless environment for other applications.

         Network controllers with TOE support both offloaded and not-offloaded traffic streams. This approach is used to conserve hardware resources for offloading streams that benefit the most from a TOE. Additionally, this approach enables the TOE controllers to transfer control to the host in case the controller runs out of offloaded resources. As a result, a requirement exists for the TOE controller to coexist with the host TCP stack while offloading connection establishment. Two methods exist for establishing a TCP connection, passive and active.

Passive connection

         A TCP passive connection setup is initiated by creating a listening socket. The listening socket enables a server application to wait on a specific local port for a connection request from a remote client. When a request arrives, it accepts the request and establishes a connection with the remote client. In host-based TCP stacks, the software that listens for incoming requests performs this function. The listening socket is on the host and is software controlled. If a server application specifies a wildcard local IP address, it effectively listens for incoming requests on all network interfaces in the system.

         Network TOE controllers that offlo...