Windows 2003 TCP/IP parametersWindows 2003 Server-specific broadband related registry settings
2007.12.12 12:12 by Philip
Tags: tweak, Chimney Offload, NetDMA, CTCP, NDIS, Windows 2003, TCP/IP
Windows 2003 SP1 and SP2/R2 (as well as Vista/2008) introduce some interesting new NDIS 6.0 hardware features to improve network performance. The parameters discussed below intended as an addition to our recommended XP/2003 network settings. Most of those parameters are new, introduced with the "Scalable Networking Pack".
TCP Chimney Offload
TCP Chimney Offload is an extesion of NDIS 5 offloading, and makes it possible for network cards to replace the Windows TCP stack with their own implementation. The TCP connection state, once established is transfered to the NIC miniport driver, which then completely handles the traffic between teh application and the remote host. In essence, the NIC miniport driver provides a "chimney" from the top to the bottom of the TCP stack.
TCP Chimney offload improves the performance of long-lived connections with large-sized payloads, such as data streaming and large file transfers.
To enable Chimney Offload, in command prompt:
Or, in the Windows Registry:
Notes: TCP Chimney offload is disabled automatically in the presense of a software firewall (Windows Firewall), ICS (Internet Connection Sharing), IPsec, IPNAT.
Enables use of multiple CPUs to handle received packets (where the NIC spreads the load to available CPUs).
To enable/disable RSS, in command prompt:
In the Windows Registry:
Network Direct Memory Access (NetDMA)
NetDMA (a.k.a TCP Acceleration, TCPA) minimizes the CPU processing needed to move packets between memory buffers. It has some hardware requirements, such as INtel I/O Acceleration Technology (Intel I/OAT) available with Xeon processors to function. NetDMA will not work together with "TCP Chimney Offload" and requires "Receive-side Scaling". Windows chooses TCP Chimney Offload if it detects that both NetDMA and TCP Chimney Offload is supported. NetDMA will be disabled automatically in the presense of a software firewall, ICS, IPsec, IPNAT.
NetDMA can be enabled using the following netsh command:
It can also be set in the Windows Registry, changing the TCP Acceleration (TCPA) setting as follows.
To enable TCP Offloading support (TCPA), in the Windows Registry:
Notes: TCPA should not be activated if ISA server is enabled.
Compound TCP (CTCP)
Compound TCP is a newer congestion-control algorithm available in Vista, 2008 Server, and via hotfix in 2003 Server, or even XP (64-bit). CTCP is a considerable improvement over the traditional slow-start and congestion-avoidance methods, especially over high-speed internet connections. CTCP attempts to maximize throughput by monitoring delay variations and packet loss. It also ensures that its behavior does not impact other TCP connections negatively. We highly recommend enabling this setting.
For Windows 2003/XP, to set CTCP, in the Windows Registry, navigate to:
This NDIS 5 setting allows for reducing CPU load by offloading some tasks required to maintain the TCP/IP stack to the network card. Theoretically, Widnows should automatically detect capable network hardware.
To change the checksum offloading in the Windows Registry:
MS KB 912222 - The Microsoft Windows Server 2003 Scalable Networking Pack release