在Windows Server 2003 SP2 中新增了一个功能特性:可扩展网络工具包(Scalable Networking Pack,SNP)。在这个可扩展网络工具包中包含了以下三方面的功能:
lTCP 负载转移(TCP Chimney Offload):将对TCP数据包的处理从CPU转移到网络适配器硬件,从而极大的降低在处理TCP数据包时所占用的CPU性能;
l接收端调节(Receive-side Scaling):在接收数据时,将所需要的CPU处理能力动态分布到系统的所有CPU上,并根据系统负载和网络处理性能,动态调节数据接收时的性能,从而使网络吞吐获得最高的性能。
lNetDMA:通过硬件设备的直接内存访问功能,NetDMA 可以实现更有效的内存管理,从而提高网络吞吐性能。
虽然 SNP 极大的提高了 Windows Server 2003 的网络处理性能,但是由于其工作原理,目前SNP和NAT之间可能存在兼容性问题。在操作系统为 Windows Server 2003 SP2的服务器上,可能会出现无法正常使用NAT的情况。这是由于接收端调节功能将TCP 哈希值计算的处理从CPU转移到网络适配器硬件,但是由于NAT会修改IP数据包中的头部信息,从而导致网络适配器硬件所计算出来的TCP哈希值与NAT所计算出来的TCP哈希值不一致,从而导致TCP连接被复位,最终导致NAT工作不正常。
针对这个问题,可以暂时通过禁止接收端调节功能来解决,具体操作过程为:
在
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
下添加一个名为:
EnableRSS
的DWORD键值,并将其值设置为0。
微软未来将会推出相关的补丁。