在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_MACHINESYSTEMCurrentControlSetServicesTcpipParameters
下添加一個名為:
EnableRSS
的DWORD鍵值,並將其值設置為0。
微軟未來將會推出相關的補丁。