TCP/IP Task Offload Overview

To increase its performance, the Microsoft TCP/IP transport can offload tasks to a network interface card (NIC) that has the appropriate task offload capabilities.

Beginning with Windows Vista, the Windows operating system supports the following task offload services:

Checksum tasks

The TCP/IP transport can offload the calculation and validation of IP and TCP checksums.

Internet protocol security (IPsec) Offload Version 1 (IPsecOV1)

[The IPsec Task Offload feature is deprecated and should not be used.]

The TCP/IP transport can offload the calculation and validation of encrypted checksums for authentication headers (AH), encapsulating security payloads (ESP), or both. The TCP/IP transport can also offload the encryption and decryption of ESP payloads and the encryption and decryption of user datagram protocol (UDP)-encapsulated ESP data packets.

For more information about IPsecOV1, see IPsec Offload Version 1.

Internet protocol security (IPsec) Offload Version 2 (IPsecOV2)

[The IPsec Task Offload feature is deprecated and should not be used.]

The TCP/IP transport can offload the calculation and validation of encrypted checksums for authentication headers (AH), encapsulating security payloads (ESP), or both. The TCP/IP transport can also offload the encryption and decryption of ESP payloads and the encryption and decryption of user datagram protocol (UDP)-encapsulated ESP data packets. IPsecOV2 is supported in NDIS 6.1 and later versions.

For more information about IPsecOV2, see IPsec Offload Version 2.

Large send offload version 1 (LSOV1)

The TCP/IP transport supports large send offload version 1 (LSOV1). With LSOV1, the TCP/IP transport can offload the segmentation of large (up to 64 KB including the IP header) TCP packets for IPv4.

Large send offload version 2 (LSOV2)

The large send offload version 2 (LSOV2) interface is an enhanced version of LSOV1. LSOV2 supports IPv6, IPv4, and segmentation for large TCP packets that are larger than 64K. For more information about offloading the segmentation of large packets, see Offloading the Segmentation of Large TCP Packets.

Beginning with Windows 8 and Windows Server 2012, the Windows operating system supports the following additional task overload services:

Receive Segment Coalescing (RSC)

Receive segment coalescing (RSC) enables network card miniport drivers to coalesce multiple TCP segments and indicate them as a single coalesced unit (SCU) to the operating system's networking subsystem.

Network Virtualization using Generic Routing Encapsulation (NVGRE) Task Offload

Network Virtualization using Generic Routing Encapsulation (NVGRE) Task Offload makes it possible to use Generic Routing Encapsulation (GRE)-encapsulated packets with:

  • Large Send Offload (LSO)
  • Receive Side Scaling (RSS)
  • Virtual Machine Queue (VMQ)

UDP Segmentation Offload (USO)

Beginning with Windows 10, version 2004, Windows supports UDP Segmentation Offload (USO). USO enables network cards to offload the segmentation of UDP datagrams that are larger than the maximum transmission unit (MTU) size of the network medium.

This section includes: