有关 Windows Server 2008 中的 TCP 烟囱卸载、接收端缩放和网络直接内存访问功能的信息

本文介绍适用于 Windows Server 2008 中 TCP/IP 协议的 TCP 烟囱卸载、接收端缩放 (RSS) 和网络直接内存访问 (NetDMA) 功能。

适用于: Windows Server 2012 R2
原始 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 烟囱卸载。 但是,OEM 安装可能会在操作系统、网络适配器或操作系统和网络适配器中启用 TCP 烟囱卸载。

如何在操作系统中配置 TCP 烟囱卸载

  • 若要启用 TCP 烟囱卸载,请执行以下步骤:

    1. 使用管理凭据打开命令提示符。
    2. 在命令提示符下,键入 netsh int tcp set global chimney=enabled 命令,然后按 Enter。
  • 若要禁用 TCP 烟囱卸载,请执行以下步骤:

    1. 使用管理凭据打开命令提示符。
    2. 在命令提示符下,键入 netsh int tcp set global chimney=disabled 命令,然后按 Enter。
  • 若要确定 TCP 烟囱卸载的当前状态,请执行以下步骤:

    1. 使用管理凭据打开命令提示符。
    2. 在命令提示符下,键入 netsh int tcp show global 命令,然后按 Enter。

如何在网络适配器上配置 TCP 烟囱卸载

若要启用或禁用 TCP 烟囱卸载,请执行以下步骤:

  1. 打开设备管理器。
  2. “网络适配器”下,双击所需的网络适配器。
  3. 在“ 高级 ”选项卡上,单击 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 连接。
群集服务 但请注意,使用网络容错驱动程序 (NetFT.sys) 的 TCP 连接不会卸载。 NetFT 用于容错节点间群集通信。
网络地址转换 (NAT) 服务 (也称为 Internet 连接共享服务) 如果此服务已安装并正在运行,则 TCP/IP 堆栈不会卸载连接。

如何确定 TCP 烟囱卸载是否正常工作

在操作系统和网络适配器中启用 TCP 烟囱卸载时,TCP/IP 堆栈会尝试将适当的 TCP 连接卸载到网络适配器。 若要了解系统上当前建立的哪些 TCP 连接卸载,请执行以下步骤:

  1. 使用管理凭据打开命令提示符。

  2. 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,请执行以下步骤:

  1. 使用管理凭据打开命令提示符。
  2. 在命令提示符下,键入 netsh int tcp set global rss=enabled 命令,然后按 Enter。

若要禁用 RSS,请执行以下步骤:

  1. 使用管理凭据打开命令提示符。
  2. 在命令提示符下,键入 netsh int tcp set global rss=disabled 命令,然后按 Enter。

若要确定 RSS 的当前状态,请执行以下步骤:

  1. 使用管理凭据打开命令提示符。
  2. 在命令提示符下,键入 netsh int tcp show global 命令,然后按 Enter。

使用 命令启用 RSS 时,会收到以下消息:

TCP Global Parameters  
----------------------------------------------  
Receive-Side Scaling State: enabled

注意

默认情况下,RSS 处于启用状态。

如何在 Windows Server 2008 中启用和禁用 NetDMA

若要启用或禁用 NetDMA,请执行以下步骤:

  1. 依次单击“开始”、“运行”,键入 regedit,然后单击“确定”

  2. 找到以下注册表子项,然后单击它:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  3. 双击 EnableTCPA 注册表项。

    注意

    如果此注册表项不存在,请右键单击“ 参数”,指向“ 新建”,单击“ DWORD 值”,键入“EnableTCPA”,然后按 Enter。

  4. 若要启用 NetDMA,请在“值数据”框中键入 1,然后单击“确定”。

  5. 若要禁用 NetDMA,请在“值数据”框中键入 0,然后单击“确定”。

  6. 如果 EnableTCPA 注册表项不存在,请启用 NetDMA 功能。

第三方信息免责声明

本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 不对这些产品的性能或可靠性提供任何明示或暗示性担保。