With growing technology, Ethernet has become increasingly popular as the network protocol for Local Area Network (LAN) and Wide Area Network (WAN). It has gone from the traditional 10Mbit/s to 10Gbit/s. Though the network connections have improved there are various reasons why you may not be able to utilise its benefits to the maximum. One of them is that the rate at which the TCP/IP stack is handled is slower than that of the network speed. The microprocessors fail to handle the workload of the TCP/IP stack especially when there is large data involved.
Why do you need TCP/IP OFFLOAD?
Traditionally when a network interface card (NIC) receives data it interrupts the activities of the CPU and CPU then transfers the data to the designated memory space, thus leading the CPU to stop doing its primary functions like processing instructions. This leads to TCP/IP stack processing overload. A CPU devotes 1 Hz of CPU processing while handling TCP/IP stack. This reduces the throughput of a computer. Here is when you can implement a TCP/IP Offload Engine (TOE).
How does a TOE work?
A 10G TCP Offload was designed to take the workload of the CPU and thereby enhance the performance of the computer. TCP/IP offload receives the data, intercepts it and transmits it directly into the memory space without the interference of the host CPU. Primarily 10Gbit TCP Offload was used iSCSI arena which is a type of Internet Protocol for storing and transferring of data. iSCSI is widely used in Ethernet.
They can be incorporated into either the network interface card (NIC) or the host bus adapter (HBA). Few factors to be considered while installing your TOE are flexibility, scalability and performance. Flexibility of your network is important as they are always changes cropping up. Scalability is basically how a computer works when there is more work. Performance is the speed at which a computer can handle a set of operations. Performance and scalability can be increased by implementing an ASIC (Application specific integrated circuit) and flexibility can be increased by using any processor based implementation.
Types of TOE
There are three types of TOE and based on the customer's needs any of the following can be installed.
- Parallel Stack Full Offload - Uses two parallel TCP/IP stacks for transmitting data.
- HBA Full Offload - Host Bus Adapter Full offload are generally used for iSCSI devices and not for general TCP/IP offload.
- TCP Chimney Partial Offload – It controls all the connection made to the host. All the data transmission and receiving data is done by this offload engine.
There are various advantages of using a TCP/IP offload. It is used in high speed networking interface like 10G Ethernet where TCP/IP processing offload is very high and requires more advanced microprocessors. By implementing a TOE you can use the advantages of your high speed net connection to the maximum. It helps in removing networking bottleneck the microprocessor and I/O subsystem faces while handling the IP related offload. As the workload of handling TCP stack is shifted from the CPU, its performance increases tremendously. It helps in reducing LAN latency as well. Not only does it help in data processing but also helps in connection management tasks which usually use a lot of CPU processing time.