TCP offload engine or TOE is a technology used in network interface cards (NIC) to offload processing of the entire TCP/IP stack to the network controller. It is primarily used with high-speed network interfaces, such as gigabit Ethernet and 10 Gigabit Ethernet, where processing overhead of the network stack becomes significant.
The term, TOE, is often used to refer to the NIC itself, although circuit board engineers may use it to refer only to the integrated circuit included on the card which processes the headers. TOEs are often suggested as a way to reduce the overhead associated with storage protocols such as iSCSI and .
Originally was designed for unreliable low speed networks (such as early dial-up modems) but with the growth of the Internet in terms of backbone transmission speeds (using Optical Carrier, Gigabit Ethernet and 10 Gigabit Ethernet links) and faster and more reliable access mechanisms (such as DSL and cable modems) it is frequently used in data centers and desktop PC environments at speeds of over 1 Gigabit per second. The TCP software implementations on host systems require extensive computing power. In the early 2000s, full duplex gigabit TCP communication could consume more than 80% of a 2.4 GHz Pentium 4 processor (see freed-up CPU cycles), resulting in little or no processing resources left for the applications to run on the system.
TCP is a protocol which adds complexity and processing overhead. These aspects include: