本文介绍 Windows Server 2008 中可用于 TCP/IP 协议的 TCP 烟囱卸载、接收端缩放(RSS)和网络直接内存访问(NetDMA)功能。
原始 KB 数: 951037
TCP 烟囱卸载概述
TCP 烟囱卸载是一种网络技术,可帮助在网络数据传输期间将工作负荷从 CPU 传输到网络适配器。 在 Windows Server 2008 中,TCP 烟囱卸载使 Windows 网络子系统能够将 TCP/IP 连接的处理卸载卸载到网络适配器,其中包括对 TCP/IP 卸载处理的特殊支持。
TCP 烟囱卸载在所有版本的 Windows Server 2008 和 Windows Vista 中都可用。 如果网络适配器支持此功能,则可以卸载 TCP/IPv4 连接和 TCP/IPv6 连接。
如何在 Windows Server 2008 中启用或禁用 TCP 烟囱卸载
可以在以下两个位置启用或禁用 TCP 烟囱卸载:
- 操作系统
- 网络适配器的高级属性页
仅当 TCP 烟囱卸载在这两个位置都启用时,TCP 烟囱卸载才起作用。 默认情况下,TCP 烟囱卸载在这两个位置处于禁用状态。 但是,OEM 安装可以在操作系统、网络适配器或操作系统和网络适配器中启用 TCP 烟囱卸载。
如何在操作系统中配置 TCP 烟囱卸载
-
若要启用 TCP 烟囱卸载,请执行以下步骤:
- 使用管理凭据打开命令提示符。
- 在命令提示符下,键入
netsh int tcp set global chimney=enabled命令,然后按 Enter。
-
若要禁用 TCP 烟囱卸载,请执行以下步骤:
- 使用管理凭据打开命令提示符。
- 在命令提示符下,键入
netsh int tcp set global chimney=disabled命令,然后按 Enter。
-
若要确定 TCP 烟囱卸载的当前状态,请执行以下步骤:
- 使用管理凭据打开命令提示符。
- 在命令提示符下,键入
netsh int tcp show global命令,然后按 Enter。
如何在网络适配器上配置 TCP 烟囱卸载
若要启用或禁用 TCP 烟囱卸载,请执行以下步骤:
- 打开“设备管理器”。
- 在“网络适配器**”下**,双击所需的网络适配器。
- 在**“高级**”选项卡上,单击 TCP 卸载条目旁边的框中的**“启用或禁用**”。
注意
不同的制造商可能使用不同的术语来描述网络适配器的“高级属性”页上的 TCP 烟囱卸载。
TCP 烟囱如何卸载与其他程序和服务共存
当 TCP 烟囱卸载技术卸载与专用网络适配器的给定 TCP 连接的 TCP/IP 处理时,它必须与依赖于网络子系统中较低层服务的其他程序或服务共存。 下表显示了 TCP 烟囱如何卸载与其他程序和服务共存。
| 程序或服务 | 与 TCP 烟囱卸载协同工作 | 启用服务和 TCP 烟囱卸载时的预期行为 |
|---|---|---|
| Windows 防火墙 | 是 | 如果防火墙配置为允许给定的 TCP 连接,TCP/IP 堆栈会将该 TCP 连接卸载到网络适配器。 |
| 第三方防火墙 | 特定于实现 | 一些防火墙供应商已决定在防火墙服务运行时使用 TCP 烟囱卸载,从而实施其产品。 请参阅防火墙文档,了解正在使用的产品是否支持 TCP 烟囱卸载。 |
| Internet 协议安全性 (IPsec) 策略 | 否 | 如果系统应用了 IPsec 策略,TCP/IP 堆栈将不会尝试卸载任何 TCP 连接。 这允许 IPsec 层检查每个数据包以提供所需的安全性。 |
| 网络适配器组合服务(此服务也称为负载均衡和故障转移服务。它通常由 OEM 提供。 | 特定于实现 | 一些 OEM 已决定实施其网络适配器组合解决方案,以便它们与 TCP 烟囱卸载共存。 请参阅网络适配器组合服务文档,以确定是否可以将 TCP 烟囱卸载与此服务一起使用。 |
| Windows 虚拟化(Hyper-V 技术) | 否 | 如果使用 Microsoft Hyper-V 技术来运行虚拟机,则任何操作系统都不会利用 TCP 烟囱卸载。 |
| 网络监视工具,如网络监视器和 Wireshark | 特定于实现 | 某些网络监视工具可能与 TCP 烟囱共存,但可能无法监视卸载的连接。 |
| 网络负载均衡 (NLB) 服务 | 否 | 如果在服务器上配置 NLB 服务,TCP/IP 堆栈不会卸载 TCP 连接。 |
| 群集服务 | 是 | 但是,请注意,不会卸载使用网络容错驱动程序的 TCP 连接(NetFT.sys)。 NetFT 用于容错节点间群集通信。 |
| 网络地址转换(NAT)服务(也称为 Internet 连接共享服务) | 否 | 如果已安装并运行此服务,TCP/IP 堆栈不会卸载连接。 |
如何确定 TCP 烟囱卸载是否正常工作
在操作系统和网络适配器中启用 TCP 烟囱卸载时,TCP/IP 堆栈会尝试将合适的 TCP 连接卸载到网络适配器。 若要查明系统上当前已建立的 TCP 连接中哪些连接已卸载,请执行以下步骤:
-
使用管理凭据打开命令提示符。
-
netstat -t键入命令,然后按 Enter。你会收到类似于以下内容的输出:
Active Connections Proto Local Address Foreign Address State Offload State TCP 127.0.0.1:52613 computer_name:52614 ESTABLISHED InHost TCP 192.168.1.103:52614 computer_name:52613 ESTABLISHED Offloaded在此输出中,将卸载第二个连接。
如何在 Windows Server 2008 中启用或禁用 RSS
若要启用 RSS,请执行以下步骤:
- 使用管理凭据打开命令提示符。
- 在命令提示符下,键入
netsh int tcp set global rss=enabled命令,然后按 Enter。
若要禁用 RSS,请执行以下步骤:
- 使用管理凭据打开命令提示符。
- 在命令提示符下,键入
netsh int tcp set global rss=disabled命令,然后按 Enter。
若要确定 RSS 的当前状态,请执行以下步骤:
- 使用管理凭据打开命令提示符。
- 在命令提示符下,键入
netsh int tcp show global命令,然后按 Enter。
使用命令启用 RSS 时,会收到以下消息:
TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State: enabled
注意
默认情况下,RSS 处于启用状态。
如何在 Windows Server 2008 中启用或禁用 NetDMA
若要启用或禁用 NetDMA,请执行以下步骤:
-
单击“开始”,再单击“运行”,键入“regedit& ”,然后单击“确定”。
-
找到以下注册表子项,然后单击它:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -
双击 EnableTCPA 注册表项。
注意
如果此注册表项不存在,请右键单击“ 参数”,指向 “新建”,单击 “DWORD 值”,键入 EnableTCPA,然后按 Enter。
-
若要启用 NetDMA,请在*“值”数据框中键入 1*,然后单击“确定”。
-
若要禁用 NetDMA,请在“值”数据框中键入 0,然后单击“确定”。
-
如果 EnableTCPA 注册表项不存在,请启用 NetDMA 功能。
第三方信息免责声明
本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 不对这些产品的性能或可靠性提供任何明示或暗示性担保。