解决Windows 网速 慢 的几个命令 参数 netsh interface tcp set global 命令用于设置 TCP 协议的全局参数。这些参数可以影响 TCP 连接的行为和性能。以下是一些常见参数及其作用:在 PowerShell 中,使用 Get-NetTCPSetting 来显示 TCP 全局设置

netsh | Microsoft Learn

netsh 命令完整底层原理(Windows 平台)

一、整体定位与架构

1. 本质定义

netsh.exe 是 Windows 原生网络命令行外壳工具,全称 Network Shell。
 
它不是直接操作网卡 / 协议栈,而是分层托管的命令解释器,核心职责是封装系统网络配置 API,给用户提供交互式 / 批量网络配置入口。

2. 整体调用链路

plaintext
用户输入netsh命令 → netsh.exe(命令解析器)
    ↓
加载对应网络辅助DLL(helper DLL)→ 调用 Win32 网络系统API
    ↓
API 转发请求至内核组件(tcpip.sys、ndis.sys、网卡驱动、Winsock)
    ↓
内核完成配置/查询,结果逐层回传给 netsh 打印输出

3. 核心分层组件

  1. netsh.exe 主程序
    • 负责命令分词、参数校验、交互式会话(netsh> 交互模式)、脚本批量执行(netsh -f xxx.txt);
    • 内置动态加载机制:根据上下文(interface、ip、advfirewall 等)加载对应 helper 扩展库。
  2. Helper 辅助 DLL(分层扩展模块)
     
    netsh 本身无网络逻辑,全部功能由独立 DLL 实现,不同网络模块对应不同 helper:
    netsh 上下文 对应 Helper DLL 负责功能
    netsh interface ip netship.dll IPv4/IPv6 地址、网关、DNS、路由、MTU
    netsh interface ipv6 netshipv6.dll IPv6 专属配置、前缀、邻居缓存
    netsh advfirewall fwcfg.dll Windows 防火墙入站 / 出站规则
    netsh winsock wshelper.dll Winsock 套接字目录重置、LSP 修复
    netsh wlan wlanapi.dll 配套 helper WiFi 无线网卡、热点、连接配置
    netsh trace nettrace.dll 协议栈抓包、ETW 网络跟踪
  3. 上层 Win32 API(用户态桥梁)
     
    helper DLL 不会直接操作内核,依赖 Windows 系统 API:
    • IP 配置:iphlpapi.dll(IP Helper,和 netstat 共用同一套内核计数器接口)
    • 防火墙:fwapi.dll 高级防火墙接口
    • WiFi:wlanapi.dll 无线管理 API
    • Winsock:ws2_32.dll 套接字层 API
  4. 内核驱动层(最终执行载体)
     
    API 通过 IOCTL、注册表、内核回调下发指令到驱动:
    • tcpip.sys:TCP/IPv4/IPv6 协议栈内核驱动(netstat -s 读取的计数器就在这里)
    • ndis.sys:网卡驱动抽象层,控制硬件收发、MTU、网卡启停
    • wfplwfs.sys:Windows 过滤平台(WFP,防火墙底层过滤引擎)

二、两大核心工作模式底层差异

模式 1:单次命令直接执行(非交互)

示例:netsh interface ipv4 show addresses
  1. netsh.exe 解析参数 interface ipv4,自动加载 netship.dll
  2. helper DLL 调用 GetUnicastAddresses 等 iphlpapi 接口;
  3. 内核 tcpip.sys 返回网卡 IP 配置,格式化后控制台输出;
  4. 执行完成,进程直接退出,释放所有 DLL。

模式 2:交互式会话(netsh>)

输入 netsh 进入交互终端:
  1. 主程序常驻内存,维护上下文栈;
  2. 输入 interface ip 时仅加载一次 helper DLL 并缓存;
  3. 后续同模块命令无需重复加载库,执行速度更快;
  4. 输入 exit 才卸载所有 helper、退出进程。

模式 3:脚本批量执行 netsh -f config.txt

底层新增逻辑:
  1. netsh 逐行读取脚本文件,模拟交互式输入;
  2. 支持事务批量提交配置(如批量添加路由、防火墙规则);
  3. 配置写入系统注册表(HKLM\SYSTEM\CurrentControlSet\Services\Tcpip)永久生效。

三、配置持久化底层逻辑(临时 / 永久生效)

netsh 修改网络配置分两种存储介质,底层逻辑完全不同:

1. 内存临时配置(重启失效)

  • 操作对象:内核 tcpip.sys 运行时内存、网卡驱动缓存;
  • 示例:netsh interface ip set mtu=1400 不写注册表,重启网卡 / 电脑恢复默认;
  • 适用:临时调试 MTU、临时添加静态路由。

2. 注册表永久配置(重启保留)

  • 操作对象:系统服务注册表项,所有网卡、IP、DNS、路由默认写入:
     
    HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{网卡GUID}
  • 示例:netsh interface ip set dns static=223.5.5.5
     
    执行后同步写入注册表,网卡重启、系统重启配置不丢失;
  • 原理:Windows 开机时 tcpip 服务读取注册表加载网络参数。

补充:静态路由特殊逻辑

  • 普通路由(无persistent):仅内核内存生效;
  • 持久路由 netsh route add ... store=persistent:写入注册表路由表项,开机自动加载。

四、高频场景底层实现拆解

1. netsh interface ip show stats(和 netstat -s 同源)

  1. helper 调用 GetIpStatisticsEx / GetTcpStatisticsEx(iphlpapi);
  2. 直接读取 tcpip.sys 内核全局计数器;
  3. netstat -s 读取同一套内核数据,只是格式化输出不同。

2. netsh winsock reset(修复网络套接字)

  1. helper DLL 操作 Winsock LSP 注册表目录:
     
    HKLM\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters
  2. 删除第三方分层服务提供商(杀毒、加速器劫持项),恢复系统默认 Winsock 目录;
  3. 通知 ws2_32.dll 重载套接字配置,需重启电脑完全生效。

3. netsh advfirewall 防火墙规则

底层依托 WFP Windows 过滤平台(内核 wfplwfs.sys):
  1. netsh 将规则转换为 WFP 过滤条件(源 IP、端口、协议、动作允许 / 阻止);
  2. 写入 WFP 内核过滤器库,数据包进出协议栈时自动匹配拦截;
  3. 规则持久化存储在防火墙服务注册表。

4. netsh trace start 抓包

不同于 Wireshark 用户态抓包:
  1. 启用 ETW(Event Tracing for Windows)内核跟踪会话;
  2. 直接从 ndis.sys/tcpip.sys 捕获原始内核报文,不经过应用层;
  3. 生成 .etl 日志文件,性能损耗远低于第三方抓包工具。

5. netsh wlan set hostednetwork 热点

  1. 调用 wlanapi.dll 开启网卡虚拟适配器;
  2. 内核 NDIS 层创建虚拟 WiFi 接口,共享本地以太网 / IPv4 地址转发流量;
  3. 依赖网卡驱动支持承载网络(HostedNetwork)。

五、netsh 与 netstat 核心底层区别

工具 核心定位 数据来源 权限需求
netstat 只读查询工具 仅读取 tcpip.sys 内核计数器、当前连接表 普通用户可执行,仅查看;修改操作无权限
netsh 读写配置外壳 读取 / 修改注册表、内核驱动、WFP、Winsock 修改配置必须管理员权限,纯查询普通用户可用
补充关键:
  • netstat 没有任何修改网络的能力,仅做统计展示;
  • netsh 核心能力是修改系统网络参数,查询只是附属功能。

六、权限与内核交互约束

  1. 管理员权限必要性
     
    所有修改类操作(改 IP、防火墙、重置 winsock、抓包 trace)必须提升至管理员;
     
    普通用户仅能执行 show 类只读查询,内核会拦截写操作 API 调用。
  2. 驱动隔离机制
     
    netsh 运行在用户态 Ring3,无法直接访问内核 Ring0 内存;
     
    所有内核配置修改必须通过系统封装 API 中转,由 API 发起 IRP 请求和驱动通信,保证系统安全隔离。
  3. 多工具数据一致性
     
    netsh、netstat、PowerShell Get-NetTCPConnection 全部共用 iphlpapi 访问同一套 tcpip.sys 计数器,统计数值完全同步,不会出现数据偏差。

SnowShot_2025-12-02_19-28-04

netsh interface ipv6 set global 完整拆解

基础标识

命令全称
cmd
netsh interface ipv6 set global [参数=值]
所属上下文netsh interface ipv6
 
支撑组件调用链
 
netsh.exe → netshipv6.dll(命令解析、参数校验) → iphlpapi.dll → DeviceIoControl → tcpip.sys(内核IPv6协议栈)
配套查询命令
cmd
netsh interface ipv6 show global
show global = 读取 tcpip.sys 内核运行时参数;
 
set global = 修改内核运行参数 + 持久写入 Tcpip6\Parameters 注册表。

一、底层原理

  1. 参数两类生效模式
    • 动态生效(热更新):下发 IOCTL 直接修改 tcpip.sys 内存中 IPv6 全局参数,立即生效;
    • 需重启系统生效:仅写入注册表,tcpip.sys 启动阶段加载,运行时无法动态变更。
  2. 执行流程
    1. netshipv6.dll 解析传入参数,校验取值范围、合法性;非法参数直接输出帮助信息;
    2. 合法参数封装结构体,调用 iphlpapi.dll SetIpv6GlobalParameters
    3. iphlpapi 完成两件事:
      • 更新注册表 HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters
      • 通过 \Device\Ip6 IOCTL 下发指令,更新 tcpip.sys 内核状态;
    4. tcpip.sys IPv6 协议栈模块加载新策略。
  3. 权限强制要求
     
    必须以管理员权限运行;普通用户执行直接返回权限不足。

二、全部可配置参数对照表(对应 show global 输出项)

参数名称(set global 关键字) 取值范围 对应 show global 项 生效方式 参数说明
reassemblylimit 字节数 重组限制 动态生效 IPv6 分片重组缓冲区最大容量,抵御超大分片 DoS 攻击
reassemblyunorderedlimit 1~N 重组无序限制 动态生效 单个重组会话最多容纳无序分片数量,防分片洪水
maxneighborcacheentries 1~10000 邻居缓存限制 动态生效 单接口 ND 邻居缓存最大条目数
maxroutcacheentries 1~65535 路由缓存限制 动态生效 IPv6 路由快速缓存条目上限,提升路由查找效率
defaulthoplimit 1~255 默认跃点限制 动态生效 本机新建 IPv6 报文默认 Hop Limit(TTL)
enableicmpredirects enabled/disabled ICMP 重定向 动态生效 是否允许接收 ICMPv6 重定向;公网主机建议 disabled 防路由劫持
sourceroutebehavior forward/dontforward 源路由行为 动态生效 dontforward = 禁止转发带路由扩展头报文,安全基线推荐值
enableslaacprivacy enabled/disabled 随机化标识符 动态生效 SLAAC 自动地址是否启用随机接口 ID,防止设备追踪
slaactransientpreferredlifetime 秒数 SLAAC 临时地址优选寿命 动态生效 SLAAC 隐私临时地址优选生命周期
slaactransientvalidlifetime 秒数 SLAAC 临时地址有效寿命 动态生效 SLAAC 隐私临时地址总有效周期
dadtransmits 0~255 SLAAC DAD 尝试 动态生效 DAD 重复地址检测发送 NS 报文次数;0 = 关闭 DAD
enableecmp enabled/disabled 基于源的 ECMP 动态生效 多条等价路由是否启用源哈希负载均衡
enablerecursivereassembly enabled/disabled 递归重组 动态生效 是否允许嵌套分片重组;安全加固建议 disabled
enablejumbograms enabled/disabled ICMP Jumbograms 动态生效 启用 IPv6 超大报文扩展头;普通业务无需开启
loopbackworkercount 1~16 环回工作进程计数 需要重启 内核处理 IPv6 环回报文线程数量
loopbackinlinemode enabled/disabled 环回执行模式 需要重启 inline 模式减少上下文切换,提升本地进程间 IPv6 性能
示例标准命令格式
cmd
netsh interface ipv6 set global defaulthoplimit=128 enableicmpredirects=disabled

三、完整执行链路

plaintext
cmd.exe / PowerShell(管理员)
        ↓
netsh.exe 启动,解析命令 interface ipv6 set global xxx
        ↓
加载 netshipv6.dll,InitHelperDll注册IPv6上下文
        ↓
netshipv6.dll:分词、参数合法性校验、范围检查
        ↓
调用 iphlpapi.dll ::SetIpv6GlobalParameters
        ↓
iphlpapi.dll
    ├─写入注册表Tcpip6持久参数
    └─DeviceIoControl 向 \Device\Ip6 下发IOCTL配置命令
        ↓
系统调用切入内核模式
        ↓
tcpip.sys IPv6全局参数模块更新内存策略
        ↓
协议栈后续IPv6报文处理应用新配置

四、典型运维示例

1. 安全加固模板(互联网暴露主机推荐)

cmd
netsh interface ipv6 set global ^
enableicmpredirects=disabled ^
sourceroutebehavior=dontforward ^
enablerecursivereassembly=disabled ^
enableslaacprivacy=enabled

2. 查看修改结果

cmd
netsh interface ipv6 show global

3. 导出配置(dump,可一键回滚)

cmd
netsh interface ipv6 dump > ipv6config.txt

五、故障与边界说明

  1. 部分参数修改不立即生效
     
    loopbackworkercountloopbackinlinemode 依赖 tcpip.sys 初始化,修改后必须重启操作系统。
  2. 参数超限会报错
     
    defaulthoplimit=300(超出 1~255 范围),netshipv6 直接拒绝下发,不进入内核。
  3. 与隧道参数隔离
     
    set global 管控整机通用 IPv6 协议栈策略;Teredo/ISATAP 参数由独立子命令 netsh interface ipv6 teredo / isatap 管控,不属于 global 参数。
  4. 虚拟机 / 云平台注意
     
    部分云厂商底层网络会拦截 ICMPv6 重定向,即使系统开启 enableicmpredirects 也不会收到重定向报文。

标准化文档条目(可直接并入整套拆解文档)

功能名称 (中文):netsh interface ipv6 set global(配置 IPv6 协议栈全局参数)
 
功能描述 (英文):Netsh command to modify IPv6 global stack parameters. Parsed by netshipv6.dll, invoked iphlpapi.dll to persist settings into Tcpip6 registry and deliver IOCTL control to tcpip.sys. Controls Hop Limit, ND cache limits, fragment reassembly policy, ICMPv6 redirect, SLAAC privacy, ECMP, recursive reassembly and other dual-stack security & performance switches. Administrator privilege mandatory.
 
应用场景:IPv6 协议栈性能调优、互联网主机 IPv6 安全基线加固、分片 DoS 防护、SLAAC 地址策略管控、等价路由负载均衡开关配置。
 
安全提醒:必须管理员权限;公网主机建议关闭 ICMPv6 重定向、禁用递归重组、保持 sourceroutebehavior=dontforward;区分动态生效与需重启参数;参数配置错误可能引发 IPv6 分片异常、地址冲突检测失效。
 
配套链:netsh.exe、netshipv6.dll、iphlpapi.dll、tcpip.sys、netsh interface ipv6 show global、Tcpip6 注册表项、IPv6 分片重组模块、ND 邻居发现模块、SLAAC 地址生成模块。

SnowShot_2025-12-02_18-40-51

netsh interface ipv6 set global 完整参数运维对照表(新增阈值、风险预警列)

参数名称(set global 关键字) 取值范围 对应 show global 项 生效方式 参数说明 推荐正常值 过低风险 过高风险 预警说明
reassemblylimit 字节数 重组限制 动态生效 IPv6 分片重组缓冲区最大容量,抵御超大分片 DoS 攻击 267007264(默认) 缓冲区不足,合法大包分片重组失败,业务断流 内存占用提升,易遭受超大分片 DoS 耗尽内存 互联网主机不要随意放大;内网服务器可按需微调
reassemblyunorderedlimit 1~N 重组无序限制 动态生效 单个重组会话最多容纳无序分片数量,防分片洪水 32 少量乱序分片直接重组失败,传输丢包 扩大攻击窗口,攻击者可用乱序分片占用内核资源 严格保持默认 32,不建议上调
maxneighborcacheentries 1~10000 邻居缓存限制 动态生效 单接口 ND 邻居缓存最大条目数 1024 终端较多场景,ND 条目频繁老化、通信间歇性断连 占用内核内存,内网扫描场景缓存爆炸 大型局域网可上调;主机终端保持默认
maxroutcacheentries 1~65535 路由缓存限制 动态生效 IPv6 路由快速缓存条目上限,提升路由查找效率 32768 大量不同目的地址场景缓存频繁失效,性能下降 内核内存消耗增加 边界网关、多目标访问主机可适度上调
defaulthoplimit 1~255 默认跃点限制 动态生效 本机新建 IPv6 报文默认 Hop Limit(TTL) 128 跨多网段报文中途被丢弃 便于攻击者追踪路由路径 标准终端保持 128;内网隔离主机可下调
enableicmpredirects enabled/disabled ICMP 重定向 动态生效 是否允许接收 ICMPv6 重定向;公网主机建议 disabled 防路由劫持 disabled(公网推荐) 无负面影响,无法动态优化路由 enabled:存在路由劫持风险 公网暴露设备强制禁用;内网可信环境可启用
sourceroutebehavior forward/dontforward 源路由行为 动态生效 dontforward = 禁止转发带路由扩展头报文,安全基线推荐值 dontforward 无负面影响 forward:恶意源路由报文横向渗透风险 所有主机统一保持 dontforward,严禁 forward
enableslaacprivacy enabled/disabled 随机化标识符 动态生效 SLAAC 自动地址是否启用随机接口 ID,防止设备追踪 enabled disabled:固定接口 ID,可被长期追踪设备 无显著负面风险 办公终端、公网接入主机启用;服务器静态地址可关闭
slaactransientpreferredlifetime 秒数 SLAAC 临时地址优选寿命 动态生效 SLAAC 隐私临时地址优选生命周期 86400(24h) 地址频繁切换,连接中断 临时地址长期不轮换,降低隐私性 终端场景建议默认,服务器不使用临时地址无需调整
slaactransientvalidlifetime 秒数 SLAAC 临时地址有效寿命 动态生效 SLAAC 隐私临时地址总有效周期 172800(48h) 地址快速失效,频繁重新生成 地址轮换周期过长 优选寿命<有效寿命,遵循默认配比
dadtransmits 0~255 SLAAC DAD 尝试 动态生效 DAD 重复地址检测发送 NS 报文次数;0 = 关闭 DAD 3 重复地址检测不足,容易产生地址冲突 冲突场景重复发包,增加链路广播流量 不要设置 0;0 关闭 DAD 存在地址冲突隐患
enableecmp enabled/disabled 基于源的 ECMP 动态生效 多条等价路由是否启用源哈希负载均衡 enabled(多路由场景) 多条等价路由只使用单条路径,负载不均 无明显风险 单路由主机开关无影响;多线路网关启用
enablerecursivereassembly enabled/disabled 递归重组 动态生效 是否允许嵌套分片重组;安全加固建议 disabled disabled 极少数极端嵌套分片无法重组 enabled:易遭受嵌套分片 DoS 攻击 所有主机建议禁用,安全加固强制项
enablejumbograms enabled/disabled ICMP Jumbograms 动态生效 启用 IPv6 超大报文扩展头;普通业务无需开启 disabled 无法处理超大 Jumbo 报文 enabled:扩大协议攻击面 普通业务保持关闭;仅高端存储专用场景开启
loopbackworkercount 1~16 环回工作进程计数 需要重启 内核处理 IPv6 环回报文线程数量 3 本地 IPv6 进程通信性能不足 占用内核线程资源 仅本地高并发 IPC 场景上调,默认适配绝大多数业务
loopbackinlinemode enabled/disabled 环回执行模式 需要重启 inline 模式减少上下文切换,提升本地进程间 IPv6 性能 enabled 本地环回 IPv6 性能下降 无明显负面风险 推荐保持启用
 

SnowShot_2025-12-02_18-41-09

SnowShot_2025-12-02_18-51-19

SnowShot_2025-12-02_18-56-14

netsh interface tcp show

下列指令有效:

此上下文中的命令:
netsh interface tcp show global    - 显示全局 TCP 参数。

C:\Users\Administrator>netsh interface tcp show global
查询活动状态...

TCP 全局参数
----------------------------------------------
接收方缩放状态          : enabled
接收窗口自动调节级别    : normal
加载项拥塞控制提供程序  : default
ECN 功能                      : enabled
RFC 1323 时间戳                 : allowed
初始 RTO                         : 1000
接收段合并状态    : enabled
非 Sack Rtt 复原             : disabled
最大 SYN 重新传输次数             : 3
快速打开                           : disabled
快速打开回退                  : enabled
HyStart                             : enabled
比例费率降低         : enabled
节奏配置文件                      : off
** 组策略覆盖任意本地配置后,将导致上
面的 autotuninglevel 设置。

netsh interface tcp show global 输出内容翻译成中文并加上注释,解释每一项的作用:


TCP 全局参数(带注释)

  • 接收方缩放状态 (Receive Window Scaling Status):enabled

    接收端启用了窗口缩放,允许在高带宽-延迟网络中扩大 TCP 接收窗口,提高吞吐量。

  • 接收窗口自动调节级别 (Receive Window Auto-Tuning Level):normal

    TCP 会根据网络状况自动调节接收窗口大小,normal 表示默认自动调节。

  • 加载项拥塞控制提供程序 (Add-on Congestion Control Provider):default

    使用默认的拥塞控制算法(通常是 CUBIC 或 Windows 默认)。

  • ECN 功能 (Explicit Congestion Notification):enabled

    启用了显式拥塞通知,允许 TCP 在网络拥堵时通过标记而不是丢包进行反应。

  • RFC 1323 时间戳 (RFC 1323 Timestamps):allowed

    启用 TCP 时间戳,帮助高延迟网络更准确地计算 RTT(往返时间)。

  • 初始 RTO (Initial RTO):1000

    TCP 初始重传超时为 1000 毫秒。

  • 接收段合并状态 (Receive Segment Coalescing Status):enabled

    启用接收段合并,可以减少 CPU 中断次数,提高性能。

  • 非 Sack RTT 复原 (Non-SACK RTT Resiliency):disabled

    禁用了非 SACK RTT 复原机制。

  • 最大 SYN 重新传输次数 (Max SYN Retransmissions):3

    在建立连接时,如果 SYN 没有应答,最多重传 3 次。

  • 快速打开 (TCP Fast Open):disabled

    TCP 快速打开功能未启用,无法在初次连接时直接发送数据。

  • 快速打开回退 (TCP Fast Open Fallback):enabled

    如果快速打开失败,允许回退到标准三次握手。

  • HyStart:enabled

    启用 HyStart 算法,可更平滑地进入拥塞避免阶段,减少丢包。

  • 比例费率降低 (Proportional Rate Reduction, PRR):enabled

    启用比例速率降低,帮助 TCP 在丢包后更平滑恢复。

  • 节奏配置文件 ( pacing profile ):off

    节奏(pacing)发送功能关闭,数据发送速率不做额外平滑。

  • 组策略覆盖说明

    组策略如果覆盖本地配置,会导致上面的 autotuninglevel 被替换成组策略设置。

netsh interface tcp show global 完整拆解

基础标识

命令全称
cmd
 
 
 
netsh interface tcp show global
 
配套配置命令:
cmd
 
 
 
netsh interface tcp set global
 
所属上下文netsh interface tcp
 
支撑组件调用链
 
netsh.exe → netship.dll(IPv4 TCP命令解析) → iphlpapi.dll → DeviceIoControl → tcpip.sys
注意区分:
 
interface ipv6 → netshipv6.dll;
 
interface tcp(IPv4 TCP 全局参数)→ netship.dll,管控 IPv4 TCP 协议栈行为。

一、底层原理

  1. 命令作用:读取 IPv4 TCP 全局协议栈运行时参数,存储在内核tcpip.sysTCP 控制模块;
  2. 数据来源:内核内存运行时状态;持久基准配置存放注册表:
     
    HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. 执行流程
    1. netship.dll 解析命令、参数校验;
    2. 调用 iphlpapi TCP 全局参数查询 API;
    3. 通过 IOCTL 与tcpip.sys通信获取 TCP 模块配置;
    4. netship.dll 将内核二进制结构体格式化为控制台中文表格;
  4. 特殊规则:组策略优先级高于本地注册表配置,输出提示「组策略覆盖任意本地配置」;修改本地注册表无法覆盖组策略下发参数。
  5. 权限:查询普通用户可执行;set global 修改必须管理员权限。

二、输出字段逐条释义 + 运维阈值表

原始输出字段清单

plaintext
 
 
 
接收方缩放状态          : enabled
接收窗口自动调节级别    : normal
加载项拥塞控制提供程序  : default
ECN 功能                : enabled
RFC 1323 时间戳         : allowed
初始 RTO                : 1000
接收段合并状态          : enabled
非 Sack Rtt 复原        : disabled
最大 SYN 重新传输次数   : 3
快速打开                : disabled
快速打开回退            : enabled
HyStart                 : enabled
比例费率降低            : enabled
节奏配置文件            : off
 
表格
 
 
 
参数名称 可选取值 参数说明 推荐正常值 过低风险 过高风险 预警说明
接收方缩放状态
 
(autotuning)
enabled / disabled TCP 窗口缩放(RFC1323),支持大窗口高速长距离传输 enabled 高速链路带宽无法充分利用,吞吐受限 无显著负面 现代网络必须启用;禁用会导致千兆 / 跨公网传输性能暴跌
接收窗口自动调节级别
 
(autotuninglevel)
disabled/restricted/normal/experimental TCP 接收窗口自动缩放策略 normal restricted/disabled:窗口扩张保守,高速链路跑不满 experimental:激进扩窗,高延迟抖动场景易引发队列溢出丢包 服务器、终端默认 normal;卫星 / 高抖动链路慎用 experimental
加载项拥塞控制提供程序
 
(congestionprovider)
default / ctcp / dctcp TCP 拥塞控制算法 default(Win10 + 默认 CUBIC) - - DC 数据中心低延迟环境可切换 DCTCP;公网保持默认
ECN 功能
 
(ecncapability)
enabled/disabled 显式拥塞通知,交换机标记拥塞而不直接丢包 enabled 无法识别网络拥塞标记,只能依靠丢包感知拥塞 老旧网络设备不兼容 ECN 易引发异常丢包 现代数据中心启用;老旧公网链路遇丢包异常可关闭测试
RFC 1323 时间戳
 
(timestamps)
allowed / disabled TCP 时间戳,用于精确 RTT 计算、防序列号绕回 allowed RTT 估算精度下降;存在 PAWS 防护缺失风险 每个报文携带时间戳,轻微增加报文开销 保持 allowed;极少场景关闭
初始 RTO
 
(initialrto)
毫秒 TCP 首次重传超时初始值 1000(1s) 跨网段高延迟环境过早重传 SYN,产生大量无效重传 连接失败场景等待过久,建立连接速度变慢 内网低延迟可下调至 500;公网不建议低于 800
接收段合并状态
 
(rsc)
enabled/disabled 接收段合并,网卡硬件聚合 TCP 段降低 CPU 占用 enabled TCP 接收 CPU 开销上升,高吞吐主机 CPU 压力增大 无明显负面 支持 RSC 网卡保持启用;虚拟网卡部分环境建议关闭
非 Sack Rtt 复原
 
(non sack rtt recovery)
enabled/disabled 无 SACK 场景下 RTT 复原算法 disabled - enabled 会改变丢包恢复逻辑 通用环境保持 disabled;仅老旧不支持 SACK 设备特殊调优
最大 SYN 重新传输次数
 
(synattacksprotect)
0~255 SYN 报文重试次数 3 SYN 报文重试次数过少,弱网场景连接建立失败 遭遇 SYN 洪水攻击时,内核持续重传消耗资源 互联网暴露主机不要上调;内网可信环境适度可调
快速打开
 
(fastopen)
enabled/disabled TCP Fast Open,握手携带业务数据,减少一次 RTT disabled 无法启用 TFO 加速连接建立 enabled:部分防火墙、中间设备不兼容导致连接异常 公网业务谨慎开启;内网服务可测试启用
快速打开回退
 
(fastopenfallback)
enabled/disabled TFO 协商失败自动降级标准三次握手 enabled TFO 协商失败直接断连,无法兼容老旧中间设备 无负面影响 必须保持启用
HyStart enabled/disabled 拥塞控制 HyStart 启动算法,避免初始阶段过度激进发包 enabled 慢启动阶段容易队列溢出、突发丢包 无负面影响 全部场景推荐开启
比例费率降低
 
(proportionateratehalving)
enabled/disabled 拥塞发生时按比例下调发送速率,标准 CUBIC 配套策略 enabled 拥塞后速率恢复策略变差,吞吐震荡 无负面影响 默认保持启用
节奏配置文件
 
(timingprofile)
off / internet / datacenter TCP 预配置场景模板 off - 切换 datacenter/internet 会批量修改多组底层参数 不建议手动切换模板,自定义调优保持 off
提示:输出末尾提示
 
组策略覆盖任意本地配置后,将导致上面的 autotuninglevel 设置。
 
含义:域环境下,如果通过组策略下发 TCP 自动调优策略,直接注册表修改参数不生效,优先级:组策略 > netsh 本地配置 > 默认值。

三、完整调用链路

plaintext
 
 
 
cmd.exe/PowerShell
        ↓
netsh.exe 加载 netship.dll,进入interface tcp上下文
        ↓
netship.dll 参数解析、语法校验
        ↓
iphlpapi.dll TCP全局参数查询API
        ↓
DeviceIoControl 与 \Device\Tcp 通信
        ↓
tcpip.sys TCP传输层模块读取运行时参数
        ↓
数据逐层向上返回
        ↓
netship.dll 格式化中文表格输出控制台
 

四、配套运维命令

查询

cmd
 
 
 
netsh interface tcp show global
 

修改示例(管理员)

cmd
 
 
 
netsh interface tcp set global autotuninglevel=normal ecncapability=enabled
 

导出配置备份

cmd
 
 
 
netsh interface tcp dump > tcp_global_backup.txt
 

五、安全与运维重点

  1. 与 IPv6 参数区分
     
    netsh interface ipv6 set global 管控 IPv6 协议栈;本命令仅管控 IPv4 TCP,两套参数相互独立;
  2. SYN 重传次数是基础抗 SYN 洪水参数,互联网边界主机不宜调高;
  3. 接收窗口自动调优 autotuning 是高速传输关键,禁止随意 disabled
  4. ECN、TCP Fast Open 存在中间设备兼容性风险,变更前务必灰度验证;
  5. 虚拟机、云主机:RSC(接收段合并)在部分虚拟化平台会引发丢包,出现异常可关闭 netsh interface tcp set global rsc=disabled

标准化文档条目(可直接并入整套拆解文档)

功能名称 (中文):netsh interface tcp show global(查看 IPv4 TCP 全局协议栈参数)
 
功能描述 (英文):Netsh command managed by netship.dll, retrieves runtime IPv4 TCP stack parameters from tcpip.sys via iphlpapi.dll. Controls TCP window auto-tuning, congestion control, ECN, TFO, SYN retransmission, RSC, HyStart and other TCP transmission strategies. Group Policy takes higher priority than local registry settings.
 
应用场景:IPv4 网络性能调优、弱网 / 跨公网业务吞吐优化、TCP 拥塞策略调试、SYN 洪水基础防护、虚拟化环境 TCP 故障排查。
 
安全提醒:查询无需管理员权限;互联网主机严控最大 SYN 重传次数;开启 ECN/TCP Fast Open 前排查链路中间设备兼容性;参数错误配置会引发连接超时、吞吐暴跌;组策略会覆盖本地 netsh 配置。
 
配套链:netsh.exe、netship.dll、iphlpapi.dll、tcpip.sys、netsh interface tcp set global、Tcpip 注册表参数、Winsock 应用通信。


netsh interface tcp show heuristics - 显示启发 TCP 参数。

C:\Users\Administrator>netsh interface tcp show heuristics
TCP 窗口缩放启发参数
----------------------------------------------
窗口缩放启发         : disabled
合格目标阈值  : 3
配置文件类型 unknown              : normal
配置文件类型 public               : normal
配置文件类型 private              : normal
配置文件类型 domain               : normal

netsh interface tcp show heuristics 输出添加中文注释,解释每一项的含义:


TCP 窗口缩放启发参数(带注释)

  • 窗口缩放启发 (TCP Window Scaling Heuristics):disabled

    TCP 窗口缩放启发式功能已禁用。
    说明:启用后,系统会根据网络延迟和丢包情况自动限制窗口缩放,避免在某些慢速连接上窗口过大。

  • 合格目标阈值 (Qualifying Target Threshold):3

    用于窗口缩放启发的阈值参数,表示需要满足的条件次数。
    在此值下,如果网络条件不稳定,窗口缩放可能被限制。

  • 配置文件类型 unknown (Unknown Profile Type):normal

    未知网络类型的 TCP 窗口自动调节级别为“normal”(正常)。

  • 配置文件类型 public (Public Profile):normal

    公共网络类型(如咖啡厅 Wi-Fi)使用正常的窗口调节级别。

  • 配置文件类型 private (Private Profile):normal

    私有网络类型(如家庭网络)使用正常窗口调节级别。

  • 配置文件类型 domain (Domain Profile):normal

    域网络类型(企业或学校网络)使用正常窗口调节级别。

netsh interface tcp show heuristics 完整拆解

基础标识

命令全称
cmd
 
 
 
netsh interface tcp show heuristics
 
配套修改命令:
cmd
 
 
 
netsh interface tcp set heuristics
 
所属上下文netsh interface tcp
 
调用链路
 
netsh.exe → netship.dll → iphlpapi.dll → DeviceIoControl → tcpip.sys
 
作用对象:Windows TCP 自动调优启发式算法(Heuristics),专门应对链路异常、虚假拥塞、不对称路由、中间设备篡改 TCP 窗口场景。
 
持久配置注册表路径:
 
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
重要区分
  • show global:基础 TCP 全局固定策略;
  • show heuristics动态自适应启发式矫正策略,运行时根据网络特征自动干预 TCP 接收窗口缩放行为。

一、底层原理

部分老旧防火墙、运营商中间盒、NAT 设备存在缺陷,会非法篡改 TCP Window Scale(窗口缩放选项),导致两端窗口协商失效、带宽跑不满。
 
TCP Heuristics 启发模块功能:
  1. 持续观测 TCP 往返延迟、吞吐、ACK 行为;
  2. 识别窗口缩放协商异常、不对称链路;
  3. 动态临时调整接收窗口自动调优策略,规避中间设备兼容性 Bug;
  4. 区分四种网络配置文件(unknown/public/private/domain)独立策略;
  5. 窗口缩放启发 (Window Scaling Heuristics) 总开关决定整套自适应逻辑是否启用。
执行流程:
  1. netship.dll 解析命令;
  2. iphlpapi 向 \Device\Tcp 下发 IOCTL 读取 tcpip.sys 启发策略;
  3. 内核返回各网络配置文件对应的启发等级;
  4. netship.dll 格式化中文表格输出。
权限说明:查询普通用户可用;set heuristics 修改必须管理员权限。

二、输出字段逐条解析 + 运维阈值对照表

原始输出
plaintext
 
 
 
TCP 窗口缩放启发参数
----------------------------------------------
窗口缩放启发        : disabled
合格目标阈值        : 3
配置文件类型 unknown : normal
配置文件类型 public  : normal
配置文件类型 private : normal
配置文件类型 domain  : normal
 
表格
 
 
 
参数名称(set heuristics 关键字) 可选取值 对应展示项 生效方式 参数说明 推荐正常值 过低风险 过高风险 预警说明
wsh enabled / disabled 窗口缩放启发 动态生效 TCP 窗口缩放自适应矫正总开关;用于修复中间盒篡改 WindowScale 导致的传输卡顿 disabled(现代网络)
 
enabled(老旧运营商链路)
老旧中间设备场景无法自动修复窗口协商异常,吞吐上不去 启用后内核持续监测 TCP 流,轻微增加 CPU 开销;极端场景可能错误限制窗口 国内部分老旧宽带 / 专线遇到大文件低速时尝试开启;云主机、数据中心建议关闭
threshold 0~10 合格目标阈值 动态生效 启发算法判定 “链路存在窗口缩放故障” 的样本阈值;达到阈值后触发自适应矫正 3 阈值过低极易误判,正常链路被强制限制窗口 阈值过高难以触发自适应修复,启发机制形同虚设 默认 3 为微软基准值,不建议随意修改
profileunknown disabled/restricted/normal/experimental 配置文件类型 unknown 动态生效 未识别网络类型下,启发机制生效时的 TCP 自动调优等级 normal restricted:窗口扩张保守,高速链路跑不满 experimental:激进扩窗,抖动链路易丢包 极少单独调整,跟随全局策略
profilepublic disabled/restricted/normal/experimental 配置文件类型 public 动态生效 公用网络(咖啡馆、公网 IP)策略 normal - - 暴露公网主机保持 normal
profileprivate disabled/restricted/normal/experimental 配置文件类型 private 动态生效 专用内网网络策略 normal - - 企业内网默认适配
profiledomain disabled/restricted/normal/experimental 配置文件类型 domain 动态生效 域环境企业内网策略 normal - - AD 域服务器保持默认

取值等级含义(和 autotuninglevel 定义一致)

  1. disabled:完全关闭窗口自动调优;
  2. restricted:有限自动调优,窗口不能增长到很大;
  3. normal:标准自适应(系统默认);
  4. experimental:激进模式,高带宽低延迟场景,抖动网络容易引发拥塞丢包。

三、命令使用示例(管理员)

查看当前策略

cmd
 
 
 
netsh interface tcp show heuristics
 

启用窗口缩放启发(修复老旧线路窗口兼容问题)

cmd
 
 
 
netsh interface tcp set heuristics wsh=enabled threshold=3
 

关闭启发(云服务器、数据中心推荐)

cmd
 
 
 
netsh interface tcp set heuristics wsh=disabled
 

导出备份

cmd
 
 
 
netsh interface tcp dump > tcp_heuristics_backup.txt
 

四、关键运维知识点

  1. wsh 与 autotuning 关系
    • autotuninglevel:基础静态基线;
    • wsh=enabled,启发算法动态临时覆盖基线,仅在检测到异常链路时生效;正常链路仍使用全局 autotuninglevel。
  2. 适用场景
     
    ✅ 需要开启 wsh:ADSL 老旧宽带、部分国内专线、存在老旧 NAT / 防火墙的网络,出现 “小文件快、大文件很慢”;
     
    ❌ 建议关闭 wsh:云主机、数据中心、现代化企业专线、IPv4 千兆以上稳定链路。
  3. 网络配置文件由 Windows 网络位置感知 (NLA) 服务判定:public/private/domain,切换 Wi‑Fi / 网线会自动匹配对应 profile 策略。
  4. 组策略优先级高于 netsh 本地配置;域环境下组策略会覆盖 heuristics 参数。

五、完整调用链路

plaintext
 
 
 
cmd.exe / PowerShell
        ↓
netsh.exe 加载 netship.dll
        ↓
netship.dll 解析 tcp show heuristics
        ↓
iphlpapi.dll 调用TCP启发策略查询API
        ↓
DeviceIoControl → \Device\Tcp
        ↓
tcpip.sys TCP启发式监测模块返回运行参数
        ↓
数据逐层向上返回
        ↓
netship.dll 格式化中文表格输出控制台
 

标准化文档条目(可直接并入整套文档)

功能名称 (中文):netsh interface tcp show heuristics(查看 TCP 窗口缩放启发自适应参数)
 
功能描述 (英文):Netsh command managed by netship.dll, retrieve TCP window scaling heuristics runtime configuration from tcpip.sys via iphlpapi.dll. Provides adaptive correction logic to mitigate broken middleboxes which tamper TCP Window Scale option. Separated policy for four network location profiles (unknown/public/private/domain).
 
应用场景:排查 “小包正常、大文件传输速率偏低”、老旧运营商链路 TCP 兼容性故障、NAT / 防火墙导致窗口协商异常调优。
 
安全提醒:查询无需管理员权限;启用 wsh 会增加内核 TCP 流监测开销;云环境、现代数据中心建议关闭;不建议随意修改 threshold 阈值;组策略优先级高于本地 netsh 配置。
 
配套链:netsh.exe、netship.dll、iphlpapi.dll、tcpip.sys、netsh interface tcp set heuristicsnetsh interface tcp show global、NLA 网络位置感知服务。


netsh interface tcp show rscstats  - 显示支持接收段合并的接口的 TCP 统计信息。

C:\Users\Administrator>netsh interface tcp show rscstats

 Idx  Supp4  Supp6   State4    State6        失败原因 V4           失败原因 V6
 ---  -----  -----  --------  --------   -------------------------   -------------------------
  6      是      是       已启用       已启用                       没有失败                       没有失败
 12      是      是       已启用       已启用                       没有失败                       没有失败
  4      是      是       已启用       已启用                       没有失败                       没有失败


  Idx           - 系统所使用的接口(NIC)索引
  Supp          - 接口(NIC)支持 TCP RSC
  Atmpt         - 系统已尝试 TCP RSC
  FailureReason - 上次尝试启用 RSC 失败的原因

 请使用 "netsh int tcp show rscstats <Idx>" 来获取详细信息。

netsh interface tcp show rscstats 的输出加上详细中文注释,解释每一列和含义:


TCP RSC(接收段合并)状态(带中文注释)

列名 示例值 注释
Idx 6 / 12 / 4 系统所使用的网络接口(NIC)索引编号,用于区分不同网卡。
Supp4 / Supp6 接口是否支持 TCP RSC(IPv4 / IPv6),"是" 表示支持该功能。
State4 / State6 已启用 TCP RSC 在该接口上是否已启用(IPv4 / IPv6)。“已启用”表示功能正在工作,“未启用”表示未开启。
失败原因 V4 / V6 没有失败 上次尝试启用 TCP RSC 失败的原因。如果显示“没有失败”,表示启用成功。

示例输出解析

 
Idx  Supp4  Supp6  State4  State6  失败原因 V4  失败原因 V6
6    是     是     已启用   已启用  没有失败     没有失败
12   是     是     已启用   已启用  没有失败     没有失败
4    是     是     已启用   已启用  没有失败     没有失败
  • 说明
    1. 上述三个接口都支持 RSC 并且已启用,无任何失败记录。
    2. TCP RSC(Receive Segment Coalescing)可以将多个小 TCP 数据包合并为一个大包,减少 CPU 中断,提高高流量场景下的性能。
    3. 如果需要查看某个接口的详细统计数据,可以使用:
       
      netsh int tcp show rscstats <Idx>
      例如:
       
      netsh int tcp show rscstats 6

netsh interface tcp show rscstats 完整拆解

基础标识

完整命令
cmd
 
 
 
netsh interface tcp show rscstats
netsh interface tcp show rscstats <接口Idx>
 
所属上下文:netsh interface tcp
 
支撑组件调用链
 
netsh.exe → netship.dll → iphlpapi.dll → DeviceIoControl → tcpip.sys → NDIS网卡驱动
关联全局开关:
cmd
 
 
 
netsh interface tcp show global | findstr "接收段合并状态"
 
RSC = Receive Segment Coalescing,接收段合并
区分层级:
 
rsc global开关:整机是否允许启用 RSC;
 
rscstats按网卡实例查看硬件能力、运行状态、启用失败原因、详细统计指标

一、底层原理

RSC 技术作用

TCP 接收段合并(RFC 7413),属于网卡硬件卸载特性:
  1. 网卡在硬件层面把连续到达的多个 TCP 分段合并成单个大段,再上交操作系统协议栈;
  2. 大幅减少tcpip.sys处理报文中断次数,降低 CPU 占用,提升大流量接收性能;
  3. 同时支持 IPv4(RSCv4)、IPv6(RSCv6)两套独立状态
  4. 仅作用于TCP 接收方向,UDP 不支持 RSC。
工作约束:
  • 需要网卡硬件固件、NDIS 驱动同时支持 RSC;
  • 虚拟机虚拟网卡(部分 VirtIO、旧 Hyper-V 网卡)常存在兼容性缺陷;
  • 全局rsc=enabled前提下,单网卡才能成功启用;全局关闭则所有网卡强制停用 RSC。
执行流程:
  1. netship.dll 解析命令;
  2. iphlpapi 下发 IOCTL 向tcpip.sys请求各网卡 RSC 状态表;
  3. tcpip.sys 通过 NDIS 查询每个网卡适配器 RSC 能力、运行状态、失败标记;
  4. 用户态接收内核数据,netship.dll 格式化输出表格。
权限:普通用户可查询;修改 RSC 全局开关netsh int tcp set global rsc=需要管理员权限。

二、输出字段逐条释义

原始表头
plaintext
 
 
 
Idx  Supp4  Supp6   State4    State6      失败原因 V4          失败原因 V6
---  -----  -----  --------  --------   -------------------------   -------------------------
Idx             网卡接口索引(NetAdapter索引,可对照 netsh int show interface)
Supp4 / Supp6   Supp4=网卡硬件是否支持IPv4 RSC;Supp6=网卡硬件是否支持IPv6 RSC
State4 / State6 IPv4/IPv6 RSC 当前运行状态:已启用 / 已禁用
失败原因V4/V6   尝试启用RSC失败原因;显示【没有失败】代表正常运行
 

单网卡详情查询

cmd
 
 
 
netsh interface tcp show rscstats 6
 
执行后展示细粒度统计计数器:
  • CoalescedSegments:成功合并的 TCP 分段数量
  • CoalescedPackets:合并后上交协议栈的大包数量
  • FailedCoalesces:合并失败报文(报文不连续、标志位异常、跨 ACK 等无法合并)
  • HardwareCapability:硬件能力标志位

三、状态对照表与故障阈值

表格
 
 
 
字段 合法状态 正常标准 异常情形 风险说明
Supp4 / Supp6 是 / 否 物理网卡:是
 
老旧虚拟网卡:否
Supp = 是,但 State = 已禁用 硬件支持,但驱动 / 全局策略阻止启用,性能损失
State4 / State6 已启用 / 已禁用 Supp = 是时推荐:已启用 Supp = 是,State = 已禁用 无法利用硬件合并,大流量接收 CPU 升高
失败原因 V4/V6 没有失败 / 各类错误码 没有失败 存在失败描述 网卡驱动缺陷、固件 Bug、NDIS 版本不兼容、虚拟机平台限制

常见失败原因汇总

  1. Global RSC disabled:整机全局 RSC 关闭
     
    修复:netsh int tcp set global rsc=enabled
  2. Driver does not support RSC:驱动宣称支持,实际运行报错,更新网卡驱动
  3. Platform incompatibility:虚拟化平台不支持(部分旧 Hyper-V、VMware 虚拟网卡)
  4. Resource allocation failed:硬件资源不足,网卡无法分配 RSC 硬件上下文

四、配套操作命令

  1. 查看整机 RSC 总开关
cmd
 
 
 
netsh interface tcp show global
 
  1. 开启 / 关闭整机 RSC(管理员)
cmd
 
 
 
netsh interface tcp set global rsc=enabled
netsh interface tcp set global rsc=disabled
 
  1. 查询指定网卡详细统计
cmd
 
 
 
netsh interface tcp show rscstats 6
 
  1. 查看网卡索引清单
cmd
 
 
 
netsh interface show interface
 

五、运维重点与边界说明

  1. 性能收益场景
     
    文件服务器、视频接收、大带宽下载主机,启用 RSC 显著降低 CPU;
  2. 建议关闭 RSC 场景
     
    部分虚拟化平台、VPN 客户端、流量抓包审计场景:RSC 报文合并后 Wireshark 抓包只能看到合并后的大包,无法观测原始分段;少数虚拟网卡开启 RSC 引发随机丢包、TCP 乱序。
故障现象:带宽跑不满、接收端 CPU 高、随机业务卡顿 → 可临时关闭 RSC 验证。
  1. Supp 为 “是”≠一定能启用
     
    网卡硬件支持,但是驱动 Bug、虚拟化层限制,依然会出现 State 禁用并标注失败原因。
  2. RSC 只针对 TCP 接收;发送方向无 RSC 对应卸载。

六、完整调用链路

plaintext
 
 
 
cmd.exe / PowerShell
        ↓
netsh.exe 加载 netship.dll
        ↓
netship.dll 解析 tcp show rscstats
        ↓
iphlpapi.dll 调用RSC状态查询API
        ↓
DeviceIoControl 下发指令至 \Device\Tcp
        ↓
tcpip.sys 通过NDIS查询各网卡适配器RSC能力与运行状态
        ↓
内核返回接口列表、Supp、State、失败原因、统计数据
        ↓
netship.dll 格式化表格输出控制台
 

标准化文档条目(可并入整套技术拆解库)

功能名称 (中文):netsh interface tcp show rscstats(TCP 接收段合并 RSC 状态与统计查询)
 
功能描述 (英文):Netsh command maintained by netship.dll, query per-network-adapter RSC (Receive Segment Coalescing) capability, runtime status and failure reasons via iphlpapi and tcpip.sys NDIS layer. Separates IPv4 and IPv6 RSC status. Detailed flow counters can be retrieved with specific interface index.
 
应用场景:网卡硬件卸载调优、大流量接收 CPU 过高排查、虚拟化环境 TCP 随机丢包故障定位、确认 RSC 是否正常生效。
 
安全提醒:查询无需管理员权限;虚拟平台部分驱动存在 RSC 兼容性漏洞;流量审计场景启用 RSC 会改变报文捕获形态;出现不明 TCP 乱序、丢包可尝试临时关闭 RSC 验证。
 
配套链:netsh.exe、netship.dll、iphlpapi.dll、tcpip.sys、NDIS 网卡驱动、netsh interface tcp show global(rsc 总开关)。


netsh interface tcp show security  - 显示 TCP 安全参数。

C:\Users\Administrator>netsh interface tcp show security
查询活动状态...

----------------------------------------------
内存压力保护                      : enabled
配置文件                          : enabled

netsh interface tcp show security 输出的内容加上中文注释,详细解释每一项的含义:


TCP 安全参数(带中文注释)

参数 说明
内存压力保护 (Memory Pressure Protection) enabled 启用了内存压力保护。当系统内存不足时,TCP 会减少缓冲区的占用,避免过度消耗内存,从而提高系统的稳定性和性能。
配置文件 (Profile) enabled 表示当前的 TCP 安全配置文件已经启用。启用后,系统会使用配置文件中定义的安全策略来保护 TCP 连接,确保通信过程中的数据安全。

总结:

  • 内存压力保护:确保系统在内存紧张时不会由于过多的 TCP 缓冲区占用而导致其他系统资源枯竭,从而避免网络性能的恶化。

  • 配置文件:启用 TCP 安全配置文件,表示 TCP 连接会受到系统安全策略的保护,以确保数据传输过程的安全性。

netsh interface tcp show security 完整拆解

基础标识

完整命令
cmd
 
 
 
netsh interface tcp show security
 
配套配置命令(管理员执行)
cmd
 
 
 
netsh interface tcp set security memoryprotection=enabled profileprotection=enabled
 
所属上下文:netsh interface tcp
 
调用链路
 
netsh.exe → netship.dll → iphlpapi.dll → DeviceIoControl → tcpip.sys
 
持久配置注册表路径:
 
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
说明:该组参数是 Windows TCP 协议栈内核防护策略,用于抵御 TCP 层面资源耗尽攻击,独立于 SYN 重传、分片重组防护。

一、底层原理

  1. 内存压力保护(Memory Protection)
     
    tcpip.sys 持续监控 TCP 内核缓冲区、TCB 控制块内存占用;当系统 TCP 子系统内存到达水位阈值时自动触发限流:
  • 限制新建 TCP 连接准入;
  • 缩减闲置连接资源占用;
  • 降低接收缓冲区分配;
     
    防范攻击者大量建立半开 / 空闲连接耗尽内核非分页内存。
  1. 配置文件保护(Profile Protection)
     
    基于 Windows 网络位置(public/private/domain/unknown)启用差异化 TCP 安全策略:
  • Public 公网配置文件:自动收紧连接限制、强化异常报文校验;
  • Private/Domain 内网:策略相对宽松;
     
    实现内外网环境自动切换安全基线。
执行流程:
  1. netship.dll 解析命令语法;
  2. iphlpapi 调用 TCP 安全策略查询 API;
  3. 通过 IOCTL 向\Device\Tcp读取 tcpip.sys 安全模块运行时开关;
  4. netship.dll 格式化输出文本表格。
     
    权限:查询普通用户可用;修改安全参数必须管理员权限。

二、输出字段逐条释义 + 运维阈值对照表

原始输出
plaintext
 
 
 
----------------------------------------------
内存压力保护        : enabled
配置文件            : enabled
 
表格
 
 
 
参数名称(set security 关键字) 可选取值 对应展示项 生效方式 参数说明 推荐正常值 过低 / 关闭风险 过高 / 开启风险 预警说明
memoryprotection enabled/disabled 内存压力保护 动态生效 TCP 内核内存耗尽防护,内存水位超限自动限流新建连接 enabled 遭遇大量恶意连接时,内核内存极易耗尽,触发蓝屏 / 网络卡死 极端业务流量场景下合法连接可能被限流 所有主机强制启用;互联网暴露主机不可关闭
profileprotection enabled/disabled 配置文件 动态生效 根据网络位置配置文件自动加载差异化 TCP 安全策略 enabled 无法对公网网络自动收紧防护,内外网共用一套宽松策略 网络位置切换瞬间策略短暂变动,极少引发波动 终端、服务器统一启用;仅专用隔离内网可评估关闭

三、配套操作命令

  1. 查看当前安全策略
cmd
 
 
 
netsh interface tcp show security
 
  1. 启用全部防护(默认基线)
cmd
 
 
 
netsh interface tcp set security memoryprotection=enabled profileprotection=enabled
 
  1. 导出 TCP 安全配置备份
cmd
 
 
 
netsh interface tcp dump > tcp_security_backup.txt
 

四、运维边界与故障要点

  1. 与 SYN 防护区别
     
    max syn retransmission 针对连接建立阶段 SYN 洪水
     
    memoryprotection 针对全生命周期 TCP 连接内存耗尽攻击(大量空闲连接、半关闭连接),两层防护互补。
  2. 业务影响场景
     
    高并发接入服务器(网关、代理)业务突增叠加恶意流量,内存保护触发后会出现新建连接间歇性失败,属于正常防护行为;需要扩容或调整上层接入限流。
  3. 网络位置依赖
     
    profileprotection 生效依赖 NLA(网络位置感知服务)正常运行;若 NLA 服务异常,无法区分 public/private,策略降级为统一基线。
  4. 组策略优先级高于本地 netsh 配置;域环境中组策略会覆盖 security 参数。

五、完整执行链路

plaintext
 
 
 
cmd.exe / PowerShell
        ↓
netsh.exe 加载 netship.dll
        ↓
netship.dll 解析 tcp show security
        ↓
iphlpapi.dll TCP安全策略查询API
        ↓
DeviceIoControl → \Device\Tcp
        ↓
tcpip.sys TCP安全防护模块返回运行开关状态
        ↓
数据逐层向上返回
        ↓
netship.dll 格式化控制台文本输出
 

标准化文档条目(可并入整套拆解库)

功能名称 (中文):netsh interface tcp show security(查看 TCP 协议栈内核安全防护策略)
 
功能描述 (英文):Netsh command managed by netship.dll, query TCP stack memory protection and network profile-aware security switches inside tcpip.sys via iphlpapi. Defends against kernel memory exhaustion caused by massive TCP connections.
 
应用场景:互联网边界主机安全基线核查、TCP 资源耗尽攻击防护加固、高并发接入服务器故障排查。
 
安全提醒:查询无需管理员权限;内存压力保护建议永久开启;关闭后存在内核内存 DoS 风险;公网主机禁止关闭两项防护;流量突增场景防护触发会造成新建连接受限。
 
配套链:netsh.exe、netship.dll、iphlpapi.dll、tcpip.sys、netsh interface tcp set security、NLA 网络位置感知服务、netsh interface tcp show global(SYN 配套防护)。


netsh interface tcp show supplemental - 显示基于 TCP 参数的补充模板。

C:\Users\Administrator> netsh interface tcp show supplemental

TCP 全局默认模板为 automatic


自动模式基于 TCP 连接参数在 Internet 和 Datacenter 模板
之间选取。

请使用 "netsh int tcp show supplementalports" 和
"netsh int tcp show supplementalsubnets" 命令查看活动的筛选器。

netsh interface tcp show supplemental 输出加上中文注释,逐项解释含义:


TCP 补充筛选器状态(带中文注释)

 
TCP 全局默认模板为 automatic
  • 说明
    系统使用 TCP 全局默认模板为 automatic 模式。
    该模式会根据 TCP 连接类型和网络环境,自动选择合适的连接参数模板,例如 Internet 模板或 Datacenter 模板,以优化性能和可靠性。
 
自动模式基于 TCP 连接参数在 Internet 和 Datacenter 模板之间选取。
  • 说明
    自动模式会动态选择适合当前连接的 TCP 参数:
    • Internet 模板:针对普通互联网连接优化,通常延迟容忍较高。
    • Datacenter 模板:针对数据中心内部网络优化,通常延迟低、吞吐高。
 
请使用 "netsh int tcp show supplementalports" 和 "netsh int tcp show supplementalsubnets" 命令查看活动的筛选器。
  • 说明
    • show supplementalports:显示已应用补充筛选器的端口范围。
    • show supplementalsubnets:显示已应用补充筛选器的子网范围。
      补充筛选器用于针对特定端口或子网应用不同的 TCP 参数模板,提高网络性能和管理灵活性。


netsh interface tcp show supplementalports - 在 TCP 补充筛选器表中显示端口元组。

 


netsh interface tcp show supplementalsubnets - 在 TCP 补充筛选器表中显示目标子网。

 

在 PowerShell 中,许多 netsh 命令都有相应的 cmdlet 或方法来显示和配置 TCP 网络参数。尽管 PowerShell 中没有完全直接等效的命令,但你可以使用一些系统级 cmdlet 来达到类似效果。以下是对应的 PowerShell 操作:

1. 显示全局 TCP 参数 (netsh interface tcp show global)

  • 在 PowerShell 中,使用 Get-NetTCPSetting 来显示 TCP 全局设置:
powershell
Get-NetTCPSetting

PS C:\Users\Administrator> Get-NetTCPSetting


SettingName                     : Automatic
MinRto(ms)                      :
InitialCongestionWindow(MSS)    :
CongestionProvider              :
CwndRestart                     :
DelayedAckTimeout(ms)           :
DelayedAckFrequency             :
MemoryPressureProtection        :
AutoTuningLevelLocal            :
AutoTuningLevelGroupPolicy      :
AutoTuningLevelEffective        :
EcnCapability                   :
Timestamps                      :
InitialRto(ms)                  :
ScalingHeuristics               :
DynamicPortRangeStartPort       :
DynamicPortRangeNumberOfPorts   :
AutomaticUseCustom              :
NonSackRttResiliency            :
ForceWS                         :
MaxSynRetransmissions           :
AutoReusePortRangeStartPort     :
AutoReusePortRangeNumberOfPorts :

SettingName                     : InternetCustom
MinRto(ms)                      : 300
InitialCongestionWindow(MSS)    : 10
CongestionProvider              : CUBIC
CwndRestart                     : False
DelayedAckTimeout(ms)           : 40
DelayedAckFrequency             : 2
MemoryPressureProtection        : Enabled
AutoTuningLevelLocal            : Normal
AutoTuningLevelGroupPolicy      : NotConfigured
AutoTuningLevelEffective        : Local
EcnCapability                   : Enabled
Timestamps                      : Allowed
InitialRto(ms)                  : 1000
ScalingHeuristics               : Disabled
DynamicPortRangeStartPort       : 49152
DynamicPortRangeNumberOfPorts   : 16384
AutomaticUseCustom              : Disabled
NonSackRttResiliency            : Disabled
ForceWS                         : Enabled
MaxSynRetransmissions           : 4
AutoReusePortRangeStartPort     : 0
AutoReusePortRangeNumberOfPorts : 0

SettingName                     : DatacenterCustom
MinRto(ms)                      : 60
InitialCongestionWindow(MSS)    : 10
CongestionProvider              : CUBIC
CwndRestart                     : False
DelayedAckTimeout(ms)           : 10
DelayedAckFrequency             : 2
MemoryPressureProtection        : Enabled
AutoTuningLevelLocal            : Normal
AutoTuningLevelGroupPolicy      : NotConfigured
AutoTuningLevelEffective        : Local
EcnCapability                   : Enabled
Timestamps                      : Allowed
InitialRto(ms)                  : 1000
ScalingHeuristics               : Disabled
DynamicPortRangeStartPort       : 49152
DynamicPortRangeNumberOfPorts   : 16384
AutomaticUseCustom              : Disabled
NonSackRttResiliency            : Disabled
ForceWS                         : Enabled
MaxSynRetransmissions           : 4
AutoReusePortRangeStartPort     : 0
AutoReusePortRangeNumberOfPorts : 0

SettingName                     : Compat
MinRto(ms)                      : 300
InitialCongestionWindow(MSS)    : 4
CongestionProvider              : NewReno
CwndRestart                     : False
DelayedAckTimeout(ms)           : 200
DelayedAckFrequency             : 2
MemoryPressureProtection        : Enabled
AutoTuningLevelLocal            : Normal
AutoTuningLevelGroupPolicy      : NotConfigured
AutoTuningLevelEffective        : Local
EcnCapability                   : Enabled
Timestamps                      : Allowed
InitialRto(ms)                  : 1000
ScalingHeuristics               : Disabled
DynamicPortRangeStartPort       : 49152
DynamicPortRangeNumberOfPorts   : 16384
AutomaticUseCustom              : Disabled
NonSackRttResiliency            : Disabled
ForceWS                         : Enabled
MaxSynRetransmissions           : 4
AutoReusePortRangeStartPort     : 0
AutoReusePortRangeNumberOfPorts : 0

SettingName                     : Datacenter
MinRto(ms)                      : 60
InitialCongestionWindow(MSS)    : 10
CongestionProvider              : CUBIC
CwndRestart                     : False
DelayedAckTimeout(ms)           : 10
DelayedAckFrequency             : 2
MemoryPressureProtection        : Enabled
AutoTuningLevelLocal            : Normal
AutoTuningLevelGroupPolicy      : NotConfigured
AutoTuningLevelEffective        : Local
EcnCapability                   : Enabled
Timestamps                      : Allowed
InitialRto(ms)                  : 1000
ScalingHeuristics               : Disabled
DynamicPortRangeStartPort       : 49152
DynamicPortRangeNumberOfPorts   : 16384
AutomaticUseCustom              : Disabled
NonSackRttResiliency            : Disabled
ForceWS                         : Enabled
MaxSynRetransmissions           : 4
AutoReusePortRangeStartPort     : 0
AutoReusePortRangeNumberOfPorts : 0

SettingName                     : Internet
MinRto(ms)                      : 300
InitialCongestionWindow(MSS)    : 10
CongestionProvider              : CUBIC
CwndRestart                     : False
DelayedAckTimeout(ms)           : 40
DelayedAckFrequency             : 2
MemoryPressureProtection        : Enabled
AutoTuningLevelLocal            : Normal
AutoTuningLevelGroupPolicy      : NotConfigured
AutoTuningLevelEffective        : Local
EcnCapability                   : Enabled
Timestamps                      : Allowed
InitialRto(ms)                  : 1000
ScalingHeuristics               : Disabled
DynamicPortRangeStartPort       : 49152
DynamicPortRangeNumberOfPorts   : 16384
AutomaticUseCustom              : Disabled
NonSackRttResiliency            : Disabled
ForceWS                         : Enabled
MaxSynRetransmissions           : 4
AutoReusePortRangeStartPort     : 0
AutoReusePortRangeNumberOfPorts : 0

Get-NetTCPSetting 完整拆解

基础标识

PowerShell 命令
powershell
 
 
 
Get-NetTCPSetting
# 修改配置(管理员)
Set-NetTCPSetting
 
归属模块NetTCPIP(Windows TCP/IP WMI 管理封装)
 
调用链路
 
PowerShell → NetTCPIP CIM/WMI提供程序 → iphlpapi.dll → DeviceIoControl → tcpip.sys
核心定位区分
  1. netsh interface tcp:传统命令行工具,读取运行时生效单一套全局参数
  2. Get-NetTCPSetting:新一代 TCP 策略配置模型,内置多套独立预设模板(SettingName)
     
    Windows 会根据网络场景、timingprofile自动选用对应模板;同时区分内置模板 / Custom 自定义模板

模板清单(SettingName)

表格
 
 
 
模板名称 适用场景
Automatic 自动选择模式(基准选择器,无固化参数)
Internet 互联网公网终端通用模板
InternetCustom 用户自定义互联网模板
Datacenter 数据中心低延迟内网服务器模板
DatacenterCustom 用户自定义数据中心模板
Compat 兼容老旧网络设备、低性能链路兼容模式
关键优先级规则
 
组策略 > Custom自定义模板 > 内置模板 > 系统硬编码默认值
 
AutoTuningLevelEffective = 最终生效值,综合本地配置 + 组策略。

一、底层原理

Windows TCP 栈引入多配置文件策略模型,每套 TCPSetting 为一组完整 TCP 参数快照:
  1. 系统内置 5 套预置策略;用户可复制创建*Custom自定义策略;
  2. timingprofile(netsh 全局节奏配置文件)控制当前激活哪一套 Setting;
  3. 参数变更写入注册表:HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters;下发 IOCTL 动态更新tcpip.sys内核策略;
  4. 覆盖绝大多数 netsh interface tcp show global/heuristics/security 参数,同时扩展拥塞窗口、延迟 ACK、最小 RTO 等 netsh 无法直接调节的细粒度参数;
  5. 查询无需管理员;修改Set-NetTCPSetting必须管理员权限。

二、全字段释义 + 运维阈值对照表

表格
 
 
 
参数名称 取值范围 参数说明 推荐正常值 过低风险 过高风险 预警说明
SettingName Automatic / Internet / InternetCustom / Datacenter / DatacenterCustom / Compat TCP 策略模板名称 根据业务选择 - 选错模板造成性能不匹配 公网业务优选 Internet;内网低延迟服务器选 Datacenter;老旧链路选 Compat
MinRto(ms) 10~1000 最小重传超时下限,RTO 计算不能低于该值 Internet:300
 
Datacenter:60
内网极易过早重传,产生冗余报文 高延迟链路故障感知变慢 数据中心可调低;公网不建议低于 200
InitialCongestionWindow(MSS) 2~30 初始拥塞窗口(MSS 倍数,慢启动初始 cwnd) Internet:10
 
Datacenter:10
 
Compat:4
连接初期发包量小,短连接吞吐差 弱网初始突发量大,容易拥塞丢包 短连接密集业务可适度上调;卫星 / 高抖动链路慎用大窗口
CongestionProvider CUBIC / NewReno / DCTCP TCP 拥塞控制算法 Internet:CUBIC
 
Datacenter:CUBIC
 
Compat:NewReno
NewReno 在高速长距离链路收敛较差 DCTCP 仅适合支持 ECN 的数据中心交换机,公网不兼容 互联网统一 CUBIC;数据中心无损网络可切换 DCTCP
CwndRestart True / False 空闲后拥塞窗口重启策略 False - True:空闲后快速恢复大窗口,易突发拥塞 通用场景保持 False
DelayedAckTimeout(ms) 10~200 延迟 ACK 等待超时时间 Internet:40
 
Datacenter:10
 
Compat:200
ACK 发送过快,报文开销上升 单向数据流延迟放大(文件上传、数据库) 低延迟内网建议缩小;长延迟公网不宜过低
DelayedAckFrequency 1~10 每收到 N 个报文才回复 ACK 2 ACK 频繁发送,带宽开销增加 接收等待 ACK 周期变长,单向传输延迟上升 标准值 2,不建议修改
MemoryPressureProtection Enabled / Disabled TCP 内核内存压力防护(对应 netsh security) Enabled 大量恶意连接易耗尽内核非分页内存 流量洪峰时合法连接被限流 所有主机强制启用,公网边界不可关闭
AutoTuningLevelLocal Disabled/Restricted/Normal/Experimental 本地 TCP 接收窗口自动调优等级 Normal 高速链路窗口扩张受限,带宽跑不满 Experimental 激进扩窗,抖动网络易队列溢出丢包 绝大多数业务保持 Normal
AutoTuningLevelGroupPolicy NotConfigured / Disabled/Restricted/Normal/Experimental 组策略下发调优等级 NotConfigured - 组策略配置后覆盖本地参数 域环境以 Effective 为准,本地修改不生效
AutoTuningLevelEffective Local / GroupPolicy 最终生效来源标记 Local - - 排查调优不生效首要查看此字段
EcnCapability Enabled / Disabled ECN 显式拥塞通知 Enabled 只能依靠丢包感知拥塞,无法提前减速 老旧中间盒不兼容 ECN 引发随机丢包 现代数据中心启用;遇异常丢包可临时关闭验证
Timestamps Allowed / Disabled RFC1323 TCP 时间戳 Allowed RTT 估算精度下降,缺失 PAWS 防绕回保护 报文携带时间戳,轻微增加头部开销 默认保持 Allowed
InitialRto(ms) 200~3000 TCP 初始 SYN 重传超时 1000 跨网段高延迟场景过早重传 SYN 连接失败场景等待超时太久 内网可下调;公网最低不建议低于 800
ScalingHeuristics Enabled / Disabled 窗口缩放启发(对应 netsh heuristics wsh) Disabled(云 / 数据中心) 老旧中间盒场景无法自动修复窗口协商异常 持续监测 TCP 流,轻微消耗 CPU 现代网络关闭;老旧宽带专线出现低速故障尝试开启
DynamicPortRangeStartPort 1025~65535 TCP 临时出站端口起始 49152 起始端口过低,与服务监听端口冲突 - 遵循 IANA 默认区间,若无端口冲突不修改
DynamicPortRangeNumberOfPorts 1024~64511 出站动态端口总数 16384 高并发短连接场景端口快速耗尽 占用更大端口区间,冲突概率小幅上升 代理、网关服务器可适度扩大
AutomaticUseCustom Enabled / Disabled 是否自动加载 Custom 自定义模板 Disabled - 自动切换自定义策略,影响基线一致性 调优完成后按需开启
NonSackRttResiliency Enabled / Disabled 无 SACK 场景 RTT 恢复算法 Disabled - 改变丢包恢复逻辑 通用环境保持 Disabled
ForceWS Enabled / Disabled 强制启用窗口缩放选项 Enabled 无法协商大接收窗口,高速链路性能受限 极少数老旧设备不支持 WS 导致握手失败 默认启用;排查握手异常可临时关闭测试
MaxSynRetransmissions 0~255 SYN 报文最大重传次数 4 弱网环境连接建立容易失败 SYN 洪水攻击时持续重传消耗资源 互联网暴露主机不要上调
AutoReusePortRangeStartPort
 
AutoReusePortRangeNumberOfPorts
端口数值 端口快速复用区间 0(关闭) - 启用后缩短 TIME-WAIT 端口回收周期 高并发短连接服务器可配置;普通终端保持 0

三、完整执行链路

plaintext
 
 
 
PowerShell
        ↓
NetTCPIP CIM/WMI Provider
        ↓
iphlpapi.dll TCP策略管理API
        ↓
DeviceIoControl 下发控制指令至 \Device\Tcp
        ↓
tcpip.sys TCP传输层加载对应Setting模板参数
        ↓
内核返回整套模板参数集合
        ↓
PowerShell格式化多组模板列表输出
 

四、关键运维对比:netsh tcp VS Get-NetTCPSetting

  1. netsh interface tcp
    • 操作:当前激活单一套策略
    • 短板:无法直接配置 MinRto、InitialCongestionWindow、DelayedAck 等精细参数;
    • 适合:快速核查、简单基线加固、脚本兼容旧系统。
  2. Get/Set-NetTCPSetting
    • 操作:管理全部多套模板,支持自定义模板;
    • 优势:开放更多底层拥塞控制参数;可导出、复制模板;
    • 适合:服务器精细化性能调优、批量标准化基线、区分内网 / 公网两套策略。

五、常用运维示例(管理员 PowerShell)

powershell
 
 
 
# 查看全部TCP策略模板
Get-NetTCPSetting

# 修改Internet模板初始拥塞窗口
Set-NetTCPSetting -SettingName Internet -InitialCongestionWindow 10

# 复制内置模板生成自定义模板
New-NetTCPSetting -SettingName InternetCustom -CopySetting Internet

# 查看当前系统激活的时序配置文件(关联选用哪套TCPSetting)
netsh interface tcp show global | findstr "节奏配置文件"
 

六、标准化文档条目

功能名称 (中文):Get-NetTCPSetting(PowerShell 获取 Windows 多模板 TCP 协议栈策略)
 
功能描述 (英文):PowerShell NetTCPIP cmdlet to retrieve all built-in and custom TCP configuration profiles. Communicates with tcpip.sys via iphlpapi. Includes congestion window, delayed ACK, RTO, congestion provider, window auto-tuning, memory protection, ephemeral port range and other fine-grained TCP parameters. Multiple independent templates for Internet/Datacenter/Compat scenarios.
 
应用场景:服务器精细化 TCP 性能调优、区分内外网差异化网络基线、短连接业务拥塞策略优化、netsh 无法覆盖的底层参数配置。
 
安全提醒:查询无需管理员;内存压力保护建议永久启用;模板选择错误会引发吞吐不足或拥塞丢包;组策略优先级高于本地自定义模板;调整 InitialCongestionWindow 前评估链路抖动。
 
配套链:iphlpapi.dll、tcpip.sys、netsh interface tcp show global/heuristics/securitySet-NetTCPSetting、NLA 网络位置感知、TCP timingprofile。
英文   中文

PS C:\WINDOWS\system32> Get-NetTCPSetting

SettingName                     : Automatic
MinRto(ms)                      :
InitialCongestionWindow(MSS)    :
CongestionProvider              :
CwndRestart                     :
DelayedAckTimeout(ms)           :
DelayedAckFrequency             :
MemoryPressureProtection        :
AutoTuningLevelLocal            :
AutoTuningLevelGroupPolicy      :
AutoTuningLevelEffective        :
EcnCapability                   :
Timestamps                      :
InitialRto(ms)                  :
ScalingHeuristics               :
DynamicPortRangeStartPort       :
DynamicPortRangeNumberOfPorts   :
AutomaticUseCustom              :
NonSackRttResiliency            :
ForceWS                         :
MaxSynRetransmissions           :
AutoReusePortRangeStartPort     :
AutoReusePortRangeNumberOfPorts :


SettingName                     : InternetCustom
MinRto(ms)                      : 300
InitialCongestionWindow(MSS)    : 10
CongestionProvider              : CUBIC
CwndRestart                     : False
DelayedAckTimeout(ms)           : 40
DelayedAckFrequency             : 2
MemoryPressureProtection        : Enabled
AutoTuningLevelLocal            : Normal
AutoTuningLevelGroupPolicy      : Normal
AutoTuningLevelEffective        : GroupPolicy
EcnCapability                   : Enabled
Timestamps                      : Allowed
InitialRto(ms)                  : 1000
ScalingHeuristics               : Disabled
DynamicPortRangeStartPort       : 49152
DynamicPortRangeNumberOfPorts   : 16384
AutomaticUseCustom              : Disabled
NonSackRttResiliency            : Disabled
ForceWS                         : Enabled
MaxSynRetransmissions           : 3
AutoReusePortRangeStartPort     : 0
AutoReusePortRangeNumberOfPorts : 0


SettingName                     : DatacenterCustom
MinRto(ms)                      : 60
InitialCongestionWindow(MSS)    : 12
CongestionProvider              : CUBIC
CwndRestart                     : False
DelayedAckTimeout(ms)           : 5
DelayedAckFrequency             : 2
MemoryPressureProtection        : Enabled
AutoTuningLevelLocal            : Normal
AutoTuningLevelGroupPolicy      : Normal
AutoTuningLevelEffective        : GroupPolicy
EcnCapability                   : Enabled
Timestamps                      : Allowed
InitialRto(ms)                  : 1000
ScalingHeuristics               : Disabled
DynamicPortRangeStartPort       : 49152
DynamicPortRangeNumberOfPorts   : 16384
AutomaticUseCustom              : Disabled
NonSackRttResiliency            : Disabled
ForceWS                         : Enabled
MaxSynRetransmissions           : 3
AutoReusePortRangeStartPort     : 0
AutoReusePortRangeNumberOfPorts : 0


SettingName                     : Compat
MinRto(ms)                      : 300
InitialCongestionWindow(MSS)    : 10
CongestionProvider              : NewReno
CwndRestart                     : False
DelayedAckTimeout(ms)           : 40
DelayedAckFrequency             : 2
MemoryPressureProtection        : Enabled
AutoTuningLevelLocal            : Normal
AutoTuningLevelGroupPolicy      : Normal
AutoTuningLevelEffective        : GroupPolicy
EcnCapability                   : Enabled
Timestamps                      : Allowed
InitialRto(ms)                  : 1000
ScalingHeuristics               : Disabled
DynamicPortRangeStartPort       : 49152
DynamicPortRangeNumberOfPorts   : 16384
AutomaticUseCustom              : Disabled
NonSackRttResiliency            : Disabled
ForceWS                         : Enabled
MaxSynRetransmissions           : 3
AutoReusePortRangeStartPort     : 0
AutoReusePortRangeNumberOfPorts : 0


SettingName                     : Datacenter
MinRto(ms)                      : 60
InitialCongestionWindow(MSS)    : 16
CongestionProvider              : CUBIC
CwndRestart                     : False
DelayedAckTimeout(ms)           : 5
DelayedAckFrequency             : 2
MemoryPressureProtection        : Enabled
AutoTuningLevelLocal            : Normal
AutoTuningLevelGroupPolicy      : Normal
AutoTuningLevelEffective        : GroupPolicy
EcnCapability                   : Enabled
Timestamps                      : Allowed
InitialRto(ms)                  : 1000
ScalingHeuristics               : Disabled
DynamicPortRangeStartPort       : 49152
DynamicPortRangeNumberOfPorts   : 16384
AutomaticUseCustom              : Disabled
NonSackRttResiliency            : Disabled
ForceWS                         : Enabled
MaxSynRetransmissions           : 3
AutoReusePortRangeStartPort     : 0
AutoReusePortRangeNumberOfPorts : 0


SettingName                     : Internet
MinRto(ms)                      : 300
InitialCongestionWindow(MSS)    : 14
CongestionProvider              : CUBIC
CwndRestart                     : False
DelayedAckTimeout(ms)           : 30
DelayedAckFrequency             : 2
MemoryPressureProtection        : Enabled
AutoTuningLevelLocal            : Normal
AutoTuningLevelGroupPolicy      : Normal
AutoTuningLevelEffective        : GroupPolicy
EcnCapability                   : Enabled
Timestamps                      : Allowed
InitialRto(ms)                  : 1000
ScalingHeuristics               : Disabled
DynamicPortRangeStartPort       : 49152
DynamicPortRangeNumberOfPorts   : 16384
AutomaticUseCustom              : Disabled
NonSackRttResiliency            : Disabled
ForceWS                         : Enabled
MaxSynRetransmissions           : 3
AutoReusePortRangeStartPort     : 0
AutoReusePortRangeNumberOfPorts : 0

PS C:\WINDOWS\system32> Get-NetTCPSetting

设置:自动(Automatic)

  • 设置名称:自动
  • 最小重传超时 (MinRto)(ms)
  • 初始拥塞窗口 (InitialCongestionWindow)(MSS)
  • 拥塞控制提供者 (CongestionProvider)
  • 拥塞窗口重启 (CwndRestart)
  • 延迟确认超时 (DelayedAckTimeout)(ms)
  • 延迟确认频率 (DelayedAckFrequency)
  • 内存压力保护 (MemoryPressureProtection)
  • 本地自动调优级别 (AutoTuningLevelLocal)
  • 组策略自动调优级别 (AutoTuningLevelGroupPolicy)
  • 有效自动调优级别 (AutoTuningLevelEffective)
  • 显式拥塞通知能力 (EcnCapability)
  • 时间戳 (Timestamps)
  • 初始重传超时 (InitialRto)(ms)
  • 窗口缩放启发式 (ScalingHeuristics)
  • 动态端口范围起始端口 (DynamicPortRangeStartPort)
  • 动态端口范围数量 (DynamicPortRangeNumberOfPorts)
  • 自动使用自定义设置 (AutomaticUseCustom)
  • 非SACK RTT恢复能力 (NonSackRttResiliency)
  • 强制窗口缩放 (ForceWS)
  • 最大SYN重传次数 (MaxSynRetransmissions)
  • 自动重用端口起始端口 (AutoReusePortRangeStartPort)
  • 自动重用端口数量 (AutoReusePortRangeNumberOfPorts)

设置:互联网自定义(InternetCustom)

  • 设置名称:互联网自定义
  • 最小重传超时 (MinRto)(ms):300
  • 初始拥塞窗口 (InitialCongestionWindow)(MSS):10
  • 拥塞控制提供者 (CongestionProvider):CUBIC
  • 拥塞窗口重启 (CwndRestart):False(否)
  • 延迟确认超时 (DelayedAckTimeout)(ms):40
  • 延迟确认频率 (DelayedAckFrequency):2
  • 内存压力保护 (MemoryPressureProtection):已启用
  • 本地自动调优级别 (AutoTuningLevelLocal):正常
  • 组策略自动调优级别 (AutoTuningLevelGroupPolicy):正常
  • 有效自动调优级别 (AutoTuningLevelEffective):组策略
  • 显式拥塞通知能力 (EcnCapability):已启用
  • 时间戳 (Timestamps):允许
  • 初始重传超时 (InitialRto)(ms):1000
  • 窗口缩放启发式 (ScalingHeuristics):禁用
  • 动态端口范围起始端口 (DynamicPortRangeStartPort):49152
  • 动态端口范围数量 (DynamicPortRangeNumberOfPorts):16384
  • 自动使用自定义设置 (AutomaticUseCustom):禁用
  • 非SACK RTT恢复能力 (NonSackRttResiliency):禁用
  • 强制窗口缩放 (ForceWS):已启用
  • 最大SYN重传次数 (MaxSynRetransmissions):3
  • 自动重用端口起始端口 (AutoReusePortRangeStartPort):0
  • 自动重用端口数量 (AutoReusePortRangeNumberOfPorts):0

设置:数据中心自定义(DatacenterCustom)

  • 设置名称:数据中心自定义
  • 最小重传超时 (MinRto)(ms):60
  • 初始拥塞窗口 (InitialCongestionWindow)(MSS):12
  • 拥塞控制提供者 (CongestionProvider):CUBIC
  • 拥塞窗口重启 (CwndRestart):False(否)
  • 延迟确认超时 (DelayedAckTimeout)(ms):5
  • 延迟确认频率 (DelayedAckFrequency):2
  • 内存压力保护 (MemoryPressureProtection):已启用
  • 本地自动调优级别 (AutoTuningLevelLocal):正常
  • 组策略自动调优级别 (AutoTuningLevelGroupPolicy):正常
  • 有效自动调优级别 (AutoTuningLevelEffective):组策略
  • 显式拥塞通知能力 (EcnCapability):已启用
  • 时间戳 (Timestamps):允许
  • 初始重传超时 (InitialRto)(ms):1000
  • 窗口缩放启发式 (ScalingHeuristics):禁用
  • 动态端口范围起始端口 (DynamicPortRangeStartPort):49152
  • 动态端口范围数量 (DynamicPortRangeNumberOfPorts):16384
  • 自动使用自定义设置 (AutomaticUseCustom):禁用
  • 非SACK RTT恢复能力 (NonSackRttResiliency):禁用
  • 强制窗口缩放 (ForceWS):已启用
  • 最大SYN重传次数 (MaxSynRetransmissions):3
  • 自动重用端口起始端口 (AutoReusePortRangeStartPort):0
  • 自动重用端口数量 (AutoReusePortRangeNumberOfPorts):0

设置:兼容(Compat)

  • 设置名称:兼容
  • 最小重传超时 (MinRto)(ms):300
  • 初始拥塞窗口 (InitialCongestionWindow)(MSS):10
  • 拥塞控制提供者 (CongestionProvider):NewReno
  • 拥塞窗口重启 (CwndRestart):False(否)
  • 延迟确认超时 (DelayedAckTimeout)(ms):40
  • 延迟确认频率 (DelayedAckFrequency):2
  • 内存压力保护 (MemoryPressureProtection):已启用
  • 本地自动调优级别 (AutoTuningLevelLocal):正常
  • 组策略自动调优级别 (AutoTuningLevelGroupPolicy):正常
  • 有效自动调优级别 (AutoTuningLevelEffective):组策略
  • 显式拥塞通知能力 (EcnCapability):已启用
  • 时间戳 (Timestamps):允许
  • 初始重传超时 (InitialRto)(ms):1000
  • 窗口缩放启发式 (ScalingHeuristics):禁用
  • 动态端口范围起始端口 (DynamicPortRangeStartPort):49152
  • 动态端口范围数量 (DynamicPortRangeNumberOfPorts):16384
  • 自动使用自定义设置 (AutomaticUseCustom):禁用
  • 非SACK RTT恢复能力 (NonSackRttResiliency):禁用
  • 强制窗口缩放 (ForceWS):已启用
  • 最大SYN重传次数 (MaxSynRetransmissions):3
  • 自动重用端口起始端口 (AutoReusePortRangeStartPort):0
  • 自动重用端口数量 (AutoReusePortRangeNumberOfPorts):0

数据中心设置:

  • 设置名称:数据中心
  • 最小重传超时 (MinRto)(ms):60
  • 初始拥塞窗口 (InitialCongestionWindow)(MSS):16
  • 拥塞控制提供者 (CongestionProvider):CUBIC
  • 拥塞窗口重启 (CwndRestart):否
  • 延迟确认超时 (DelayedAckTimeout)(ms):5
  • 延迟确认频率 (DelayedAckFrequency):2
  • 内存压力保护 (MemoryPressureProtection):已启用
  • 本地自动调优级别 (AutoTuningLevelLocal):正常
  • 组策略自动调优级别 (AutoTuningLevelGroupPolicy):正常
  • 有效自动调优级别 (AutoTuningLevelEffective):组策略
  • 显式拥塞通知能力 (EcnCapability):已启用
  • 时间戳 (Timestamps):允许
  • 初始重传超时 (InitialRto)(ms):1000
  • 窗口缩放启发式 (ScalingHeuristics):禁用
  • 动态端口范围起始端口 (DynamicPortRangeStartPort):49152
  • 动态端口范围数量 (DynamicPortRangeNumberOfPorts):16384
  • 自动使用自定义设置 (AutomaticUseCustom):禁用
  • 非SACK RTT恢复能力 (NonSackRttResiliency):禁用
  • 强制窗口缩放 (ForceWS):已启用
  • 最大SYN重传次数 (MaxSynRetransmissions):3
  • 自动重用端口起始端口 (AutoReusePortRangeStartPort):0
  • 自动重用端口数量 (AutoReusePortRangeNumberOfPorts):0

互联网设置:

  • 设置名称:互联网
  • 最小重传超时 (MinRto)(ms):300
  • 初始拥塞窗口 (InitialCongestionWindow)(MSS):14
  • 拥塞控制提供者 (CongestionProvider):CUBIC
  • 拥塞窗口重启 (CwndRestart):否
  • 延迟确认超时 (DelayedAckTimeout)(ms):30
  • 延迟确认频率 (DelayedAckFrequency):2
  • 内存压力保护 (MemoryPressureProtection):已启用
  • 本地自动调优级别 (AutoTuningLevelLocal):正常
  • 组策略自动调优级别 (AutoTuningLevelGroupPolicy):正常
  • 有效自动调优级别 (AutoTuningLevelEffective):组策略
  • 显式拥塞通知能力 (EcnCapability):已启用
  • 时间戳 (Timestamps):允许
  • 初始重传超时 (InitialRto)(ms):1000
  • 窗口缩放启发式 (ScalingHeuristics):禁用
  • 动态端口范围起始端口 (DynamicPortRangeStartPort):49152
  • 动态端口范围数量 (DynamicPortRangeNumberOfPorts):16384
  • 自动使用自定义设置 (AutomaticUseCustom):禁用
  • 非SACK RTT恢复能力 (NonSackRttResiliency):禁用
  • 强制窗口缩放 (ForceWS):已启用
  • 最大SYN重传次数 (MaxSynRetransmissions):3
  • 自动重用端口起始端口 (AutoReusePortRangeStartPort):0
  • 自动重用端口数量 (AutoReusePortRangeNumberOfPorts):0

Get-NetTCPSetting 输出结果

设置名称 : Automatic(自动)
最小RTO(毫秒) :
初始拥塞窗口(MSS) :
拥塞控制算法 :
Cwnd重启 :
延迟确认超时(毫秒) :
延迟确认频率 :
内存压力保护 :
本地自动调优级别 :
组策略自动调优级别 :
有效自动调优级别 :
ECN能力 :
时间戳 :
初始RTO(毫秒) :
缩放启发式算法 :
动态端口范围起始端口 :
动态端口范围端口数量 :
自动使用自定义 :
非SACK RTT恢复能力 :
强制WS :
最大SYN重传次数 :
自动重用端口范围起始端口 :
自动重用端口范围端口数量 :

Get-NetTCPSetting 是 PowerShell 命令,用于获取 TCP 设置的网络配置信息。该命令输出的结果涉及到 TCP 网络协议的各种配置参数,通常用于优化性能、控制延迟以及确保网络的可靠性。以下是你列出的各个专业术语的解释:

  1. 设置名称 : Automatic(自动)

    • 解释:此字段表示当前的 TCP 配置设置为自动模式,系统会自动调整 TCP 参数以优化网络性能。
  2. 最小RTO (毫秒)

    • 解释:最小重传超时(RTO)表示 TCP 重传机制中的最小等待时间。TCP 协议会在等待确认丢失数据包时使用此时间,防止过短的超时值导致过多的重传。
  3. 初始拥塞窗口(MSS)

    • 解释:初始拥塞窗口(Maximum Segment Size,MSS)指定了 TCP 连接开始时的最大数据包大小。MSS 通常通过窗口大小来控制每个连接中可以传输的最大数据量。
  4. 拥塞控制算法

    • 解释:此字段指定当前 TCP 使用的拥塞控制算法。常见的算法包括 CUBIC、Reno、Vegas 等,它们决定了在网络发生拥塞时如何调整数据传输的速率。
  5. Cwnd 重启

    • 解释:Cwnd 是拥塞窗口的缩写,指的是 TCP 连接中允许发送的最大数据量。Cwnd 重启通常指的是当网络条件改变时,拥塞窗口的初始化过程。
  6. 延迟确认超时(毫秒)

    • 解释:延迟确认是 TCP 用来减少确认消息的频率的机制。此字段指定了等待确认的最大时间(单位毫秒)。如果确认消息在此时间内未到达,TCP 会立即发送确认消息。
  7. 延迟确认频率

    • 解释:此设置控制延迟确认机制的启用频率。启用延迟确认有助于减少网络流量,尤其在低延迟网络中。
  8. 内存压力保护

    • 解释:此项启用内存压力保护,用于在内存资源紧张时减少 TCP 数据包的大小或降低 TCP 连接的数量,以防止系统过载。
  9. 本地自动调优级别

    • 解释:这是本地计算机的自动调优级别,决定了 TCP 堆栈如何根据网络条件调整设置以优化性能。
  10. 组策略自动调优级别

    • 解释:这是通过组策略设置的自动调优级别,通常由 IT 管理员控制。它决定了网络连接在不同条件下的调优方式。
  11. 有效自动调优级别

    • 解释:有效自动调优级别表示在当前网络环境下,系统实际上使用的自动调优级别。
  12. ECN 能力

    • 解释:ECN(Explicit Congestion Notification)能力是指 TCP 是否启用了显式拥塞通知。启用 ECN 时,网络路由器可以通知接收端存在拥塞,从而避免丢包。
  13. 时间戳

    • 解释:时间戳是 TCP 用来测量往返时间(RTT)的一种机制。它允许双方计算网络延迟和性能,并根据延迟优化数据传输。
  14. 初始RTO (毫秒)

    • 解释:初始 RTO(重传超时)是当没有接收到确认时,TCP 重新发送数据包的初始等待时间。RTO 会根据网络延迟进行动态调整。
  15. 缩放启发式算法

    • 解释:此算法用于计算 TCP 窗口的大小调整,目的是优化数据传输速率和网络带宽的使用。缩放算法通常用在高带宽-延迟产品(BDP)较大的网络环境中。
  16. 动态端口范围起始端口

    • 解释:动态端口范围是指操作系统在没有预定义端口分配的情况下,所使用的端口范围。此项显示了该端口范围的起始端口号。
  17. 动态端口范围端口数量

    • 解释:指定动态端口范围中可用端口的数量。系统会在此范围内分配端口号,用于处理客户端和服务器之间的通信。
  18. 自动使用自定义

    • 解释:此设置指示系统是否自动使用自定义的 TCP 参数。启用此选项时,用户可以手动定义优化参数。
  19. 非SACK RTT恢复能力

    • 解释:SACK(Selective Acknowledgement)允许接收方指示哪些数据包已经成功接收,避免了全范围的重传。非 SACK RTT 恢复能力表示系统在没有 SACK 支持的情况下如何恢复 RTT(往返时延)信息。
  20. 强制WS

    • 解释:WS(Window Scaling)是 TCP 用来扩大窗口大小的一种机制。如果启用强制 WS,TCP 会始终使用窗口缩放,以适应高带宽网络。
  21. 最大SYN重传次数

    • 解释:当建立连接时,如果发送的 SYN 请求未被确认,TCP 会重试。此设置定义了最大重试次数,超过后会放弃连接。
  22. 自动重用端口范围起始端口

    • 解释:此设置定义了当端口不再使用时,操作系统可以重新使用的起始端口号。它有助于优化端口资源的使用。
  23. 自动重用端口范围端口数量

    • 解释:此设置定义了可以重用的端口范围的端口数量。它允许系统在多个连接之间高效地共享端口资源。

这些设置有助于在不同的网络环境和应用需求下调节 TCP 网络堆栈的性能。

Get-NetTCPSetting 输出的各个参数的应用场景,帮助更好地理解其在实际网络环境中的作用和优化目的:

1. 设置名称 : Automatic(自动)

  • 应用场景:适用于大多数普通用户和企业环境,系统自动调节 TCP 参数以适应网络状况。当网络环境变化时,自动调整设置可以提高连接稳定性,减少手动配置的复杂性。

2. 最小RTO (毫秒)

  • 应用场景:在高延迟网络环境中,如卫星连接或跨大洋的网络传输,设置最小 RTO 可以防止过早的重传,避免不必要的网络拥塞。也可以优化实时应用,如视频会议、VoIP 等。

3. 初始拥塞窗口 (MSS)

  • 应用场景:适用于需要快速启动的应用程序,如大文件下载或流媒体传输。通过调整初始 MSS 可以提高连接的启动速度,减少初始数据包的延迟。

4. 拥塞控制算法

  • 应用场景:对于大流量、高速网络(如数据中心或云环境),选择合适的拥塞控制算法可以提升带宽利用率和减少网络瓶颈。例如,CUBIC 适合带宽较大的网络,Reno 适合普通的宽带连接。

5. Cwnd 重启

  • 应用场景:在网络发生大规模拥塞或连接中断后,Cwnd 重启有助于平稳恢复数据传输,避免一次性发送过多数据导致网络再次拥塞,适用于高负载系统和大规模分布式应用。

6. 延迟确认超时 (毫秒)

  • 应用场景:适用于延迟敏感的应用,如在线游戏、金融交易平台。通过延迟确认可以减少网络传输中的确认消息负载,提高吞吐量和响应速度。

7. 延迟确认频率

  • 应用场景:在大规模数据传输或高延迟的广域网(WAN)环境中,启用延迟确认频率有助于减少每个连接的确认消息数量,减轻网络负担。

8. 内存压力保护

  • 应用场景:在资源有限的嵌入式设备或高并发连接的服务器上,启用内存压力保护可以避免因过多并发连接而导致内存溢出或系统崩溃,确保网络稳定性。

9. 本地自动调优级别

  • 应用场景:适合需要动态调整网络设置的环境,如虚拟机、容器等动态计算环境。可以根据实时的网络流量和延迟情况自动优化性能,提升用户体验。

10. 组策略自动调优级别

  • 应用场景:适用于企业网络或组织环境,IT 管理员可以通过组策略统一管理 TCP 设置,确保网络性能的一致性和安全性。

11. 有效自动调优级别

  • 应用场景:适用于自动调整功能的监控和优化,在网络负载变化或带宽波动的情况下,系统会自动调整参数,提高通信效率。

12. ECN 能力

  • 应用场景:在低延迟、高吞吐量的网络(如数据中心、云计算环境)中启用 ECN 可以减少因丢包引发的重传,提升网络性能和稳定性。

13. 时间戳

  • 应用场景:用于延迟敏感的应用,如实时音视频通信、金融交易、实时监控系统等。通过时间戳,TCP 可以精确地计算网络延迟,优化数据流的传输。

14. 初始RTO (毫秒)

  • 应用场景:在大多数连接初始化时设置初始 RTO,以确保在数据丢失时进行有效重传。例如,对于远程远程办公环境或跨国网络,初始 RTO 的优化可以减少重传延迟。

15. 缩放启发式算法

  • 应用场景:适用于高带宽和大延迟的网络环境,如海底光缆连接或卫星网络。通过缩放窗口,系统能够适应更大的数据流量,提升带宽的使用效率。

16. 动态端口范围起始端口

  • 应用场景:在高并发应用(如数据库服务器、Web 服务器或大型云平台)中,动态端口范围的调整可以提供更多可用端口,避免端口资源耗尽。

17. 动态端口范围端口数量

  • 应用场景:对于需要大量并发连接的系统,如负载均衡服务器或大规模 web 应用,增加动态端口数量可以确保端口分配的充分性,提高并发性能。

18. 自动使用自定义

  • 应用场景:在需要细粒度调节性能的应用中(例如需要低延迟的实时通信系统),管理员可以设置自定义 TCP 参数来满足具体需求。

19. 非SACK RTT恢复能力

  • 应用场景:在不支持 SACK 的网络环境中,非 SACK RTT 恢复能力用于恢复 RTT 的估算,避免因丢包而导致不必要的重传。适用于老旧网络或特定网络协议的环境。

20. 强制WS

  • 应用场景:在大带宽低延迟的网络环境中,强制启用窗口缩放(WS)可以大幅提高数据传输效率,特别是在数据中心、大型数据传输和视频流服务中。

21. 最大SYN重传次数

  • 应用场景:在稳定性要求高的企业应用中,设置合适的最大 SYN 重传次数可确保连接的稳定性,防止过度重传引发资源浪费。特别是在高并发服务器中设置较低重试次数,以保证服务的快速恢复。

22. 自动重用端口范围起始端口

  • 应用场景:适用于需要频繁建立和关闭 TCP 连接的应用,如短时间内频繁连接的 Web 服务器。系统会自动重用端口资源,提高连接的建立效率。

23. 自动重用端口范围端口数量

  • 应用场景:对于短时间内需要大量连接的应用(如代理服务器、大流量负载均衡器等),增加端口数量可以确保更高的并发连接能力和效率。

这些设置的应用场景涉及从数据中心、高性能网络到企业和家庭环境等不同类型的网络使用情况。根据具体需求调整 TCP 设置,可以显著提升网络传输效率、减少延迟,保证服务的稳定性和可靠性。

 1. 设置名称(Setting Name : Automatic)

解释
表示当前 TCP 参数配置集的名称。Windows 提供多种配置集(如 Internet、Datacenter、Automatic 等),用于不同网络环境下的优化。

应用场景

  • Automatic 模式常用于通用环境(家庭、办公网络等),系统自动选择最合适的参数组合来平衡性能与稳定性。

⚙️ 2. 最小 RTO (ms) — Minimum Retransmission Timeout

解释
RTO(重传超时)是 TCP 在未收到确认(ACK)时等待重传的最短时间(毫秒)。
最小 RTO 限制了系统在过短时间内重复重传的频率。

应用场景

  • 高延迟网络(卫星通信、跨国连接)可设置较高的最小 RTO,防止误判丢包。
  • 局域网(LAN)可用较低值以快速检测丢包。

📦 3. 初始拥塞窗口 (MSS) — Initial Congestion Window

解释
指 TCP 在建立连接后初始允许发送的数据段数量,以 MSS(最大报文段大小)为单位。

应用场景

  • 对大文件传输、CDN、下载服务:增大初始窗口可加快连接启动速度。
  • 对实时或小包通信(VoIP、IoT):保持较小窗口可减少突发拥塞风险。

🧮 4. 拥塞控制算法 — Congestion Control Algorithm

解释
TCP 用于动态调节发送速率以避免网络拥塞的算法,如 Reno、CUBIC、BBR 等。

应用场景

  • CUBIC:高带宽、高延迟网络(数据中心、云环境)。
  • Reno:普通互联网连接。
  • BBR:追求低延迟、高吞吐量的流媒体或高性能服务。

🔁 5. Cwnd 重启 — Congestion Window Restart

解释
连接空闲后是否重置拥塞窗口(Cwnd)。若启用,则 TCP 会在空闲后重新慢启动。

应用场景

  • 适用于需要连接稳定性的应用(如长连接 API),避免重启降低吞吐。
  • 关闭则适用于短连接系统(如 Web 请求),防止突发拥塞。

🕒 6. 延迟确认超时 (ms) — Delayed ACK Timeout

解释
TCP 在等待数据确认(ACK)前的最大延迟时间。延迟确认可减少 ACK 包的数量。

应用场景

  • 高延迟或低带宽网络中,延迟 ACK 可降低负载。
  • 实时系统(游戏、金融交易)应减少此值以提高响应速度。

🔂 7. 延迟确认频率 — Delayed ACK Frequency

解释
定义发送 ACK 的频率。例如每接收 2 个数据包才发送一个 ACK。

应用场景

  • 流式传输或文件下载可提高吞吐量。
  • 低延迟交互式应用建议关闭延迟确认。

🧠 8. 内存压力保护 — Memory Pressure Protection

解释
TCP 栈在内存紧张时的保护机制,防止内存耗尽导致系统不稳定。

应用场景

  • 高并发服务器或虚拟化主机上启用,可避免内存过载。
  • 一般桌面系统可自动管理。

⚡ 9. 本地自动调优级别 — Auto-Tuning Level (Local)

解释
控制 Windows 是否自动调整接收窗口大小以适应网络带宽。

应用场景

  • 高速 WAN 链路中自动调优可提升吞吐量。
  • 某些防火墙或旧设备可能不兼容自动调优,需手动禁用。

🏢 10. 组策略自动调优级别 — Auto-Tuning Level (Policy)

解释
由组策略(Group Policy)定义的全局 TCP 自动调优级别,用于统一企业设备的网络性能策略。

应用场景

  • 企业 IT 管理可集中设置 TCP 性能标准。
  • 云环境可通过策略调整网络传输行为。

🧮 11. 有效自动调优级别 — Effective Auto-Tuning Level

解释
当前系统实际生效的调优级别(综合了本地与组策略设置)。

应用场景

  • 用于验证组策略或管理员手动设置是否生效。
  • 网络性能问题排查的重要指标。

🚦 12. ECN 能力 — Explicit Congestion Notification

解释
一种在不丢包的情况下通知拥塞的机制,允许发送端调整速率。

应用场景

  • 数据中心、云计算、高可靠网络。
  • 避免丢包导致的延迟峰值。

⏱️ 13. 时间戳 — Timestamp

解释
TCP 时间戳选项用于计算 RTT(往返时间)和防止旧包混淆。

应用场景

  • 高延迟网络中提高 RTT 测量精度。
  • 实时通信(语音、视频)中提升时延控制。

🕓 14. 初始 RTO (ms) — Initial Retransmission Timeout

解释
连接建立阶段第一次重传前的等待时间。

应用场景

  • 调整可优化连接建立速度,特别是在高丢包网络。
  • 小值适合低延迟网络;大值适合跨国链路。

📈 15. 缩放启发式算法 — Window Scaling Heuristics

解释
启发式算法用于判断是否开启 TCP 窗口缩放(Window Scaling)以支持更大窗口。

应用场景

  • 启用可充分利用千兆或更高速网络带宽。
  • 在兼容性问题设备中可关闭。

🔢 16. 动态端口范围起始端口 — Dynamic Port Range Start

解释
TCP 动态分配端口的起始端口号。

应用场景

  • 自定义端口范围避免与应用端口冲突。
  • 大型服务器可调整以支持更多临时连接。

🔢 17. 动态端口范围端口数量 — Dynamic Port Range Number

解释
动态可用端口数量(起始端口 + 数量 = 范围)。

应用场景

  • 高并发系统(如负载均衡器、代理)增加端口数量。
  • 防止 “端口耗尽” 导致新连接失败。

🧩 18. 自动使用自定义 — Auto Use Custom

解释
指定是否启用自定义 TCP 参数设置,而不是使用系统默认。

应用场景

  • 网络工程师在调优特定应用(如数据库、金融系统)时启用。
  • 对普通用户则保持默认。

⏳ 19. 非 SACK RTT 恢复能力 — Non-SACK RTT Resiliency

解释
在不支持 SACK(选择性确认)的网络中,启用该功能以改进 RTT 恢复与丢包检测。

应用场景

  • 老旧路由设备、遗留系统环境中。
  • 提高在低质量链路上的 TCP 可靠性。

📏 20. 强制 WS — Force Window Scaling

解释
强制启用 TCP 窗口缩放功能,即使对端未明确声明支持。

应用场景

  • 内部高速网络环境(如 10G/40G 数据中心)。
  • 不推荐对互联网启用(可能导致握手失败)。

🔁 21. 最大 SYN 重传次数 — Max SYN Retransmissions

解释
TCP 在建立连接(三次握手)阶段重传 SYN 包的最大次数。

应用场景

  • 对高可靠性系统可增加重试次数(例如金融网关)。
  • 高并发服务可降低次数以减少资源占用。

🔁 22. 自动重用端口范围起始端口 — Port Reuse Range Start

解释
定义可自动重用端口的起始端口。

应用场景

  • Web、代理、API 网关等频繁建立/关闭连接的系统。
  • 提高端口复用率,加快连接创建速度。

🔁 23. 自动重用端口范围端口数量 — Port Reuse Range Number

解释
定义自动端口重用的端口数量。

应用场景

  • 大型微服务系统中,减少端口资源浪费。
  • 提升高频 TCP 连接的可持续性。

设置名称 : InternetCustom(互联网自定义)
最小RTO(毫秒) : 300
初始拥塞窗口(MSS) : 10
拥塞控制算法 : CUBIC
Cwnd重启 : 禁用
延迟确认超时(毫秒) : 40
延迟确认频率 : 2
内存压力保护 : 启用
本地自动调优级别 : 常规
组策略自动调优级别 : 未配置
有效自动调优级别 : 本地
ECN能力 : 启用
时间戳 : 允许
初始RTO(毫秒) : 1000
缩放启发式算法 : 禁用
动态端口范围起始端口 : 49152
动态端口范围端口数量 : 16384
自动使用自定义 : 禁用
非SACK RTT恢复能力 : 禁用
强制WS : 启用
最大SYN重传次数 : 4
自动重用端口范围起始端口 : 0
自动重用端口范围端口数量 : 0


设置名称 : DatacenterCustom(数据中心自定义)
最小RTO(毫秒) : 60
初始拥塞窗口(MSS) : 10
拥塞控制算法 : CUBIC
Cwnd重启 : 禁用
延迟确认超时(毫秒) : 10
延迟确认频率 : 2
内存压力保护 : 启用
本地自动调优级别 : 常规
组策略自动调优级别 : 未配置
有效自动调优级别 : 本地
ECN能力 : 启用
时间戳 : 允许
初始RTO(毫秒) : 1000
缩放启发式算法 : 禁用
动态端口范围起始端口 : 49152
动态端口范围端口数量 : 16384
自动使用自定义 : 禁用
非SACK RTT恢复能力 : 禁用
强制WS : 启用
最大SYN重传次数 : 4
自动重用端口范围起始端口 : 0
自动重用端口范围端口数量 : 0


设置名称 : Compat(兼容模式)
最小RTO(毫秒) : 300
初始拥塞窗口(MSS) : 4
拥塞控制算法 : NewReno
Cwnd重启 : 禁用
延迟确认超时(毫秒) : 200
延迟确认频率 : 2
内存压力保护 : 启用
本地自动调优级别 : 常规
组策略自动调优级别 : 未配置
有效自动调优级别 : 本地
ECN能力 : 启用
时间戳 : 允许
初始RTO(毫秒) : 1000
缩放启发式算法 : 禁用
动态端口范围起始端口 : 49152
动态端口范围端口数量 : 16384
自动使用自定义 : 禁用
非SACK RTT恢复能力 : 禁用
强制WS : 启用
最大SYN重传次数 : 4
自动重用端口范围起始端口 : 0
自动重用端口范围端口数量 : 0


设置名称 : Datacenter(数据中心)
最小RTO(毫秒) : 60
初始拥塞窗口(MSS) : 10
拥塞控制算法 : CUBIC
Cwnd重启 : 禁用
延迟确认超时(毫秒) : 10
延迟确认频率 : 2
内存压力保护 : 启用
本地自动调优级别 : 常规
组策略自动调优级别 : 未配置
有效自动调优级别 : 本地
ECN能力 : 启用
时间戳 : 允许
初始RTO(毫秒) : 1000
缩放启发式算法 : 禁用
动态端口范围起始端口 : 49152
动态端口范围端口数量 : 16384
自动使用自定义 : 禁用
非SACK RTT恢复能力 : 禁用
强制WS : 启用
最大SYN重传次数 : 4
自动重用端口范围起始端口 : 0
自动重用端口范围端口数量 : 0


设置名称 : Internet(互联网)
最小RTO(毫秒) : 300
初始拥塞窗口(MSS) : 10
拥塞控制算法 : CUBIC
Cwnd重启 : 禁用
延迟确认超时(毫秒) : 40
延迟确认频率 : 2
内存压力保护 : 启用
本地自动调优级别 : 常规
组策略自动调优级别 : 未配置
有效自动调优级别 : 本地
ECN能力 : 启用
时间戳 : 允许
初始RTO(毫秒) : 1000
缩放启发式算法 : 禁用
动态端口范围起始端口 : 49152
动态端口范围端口数量 : 16384
自动使用自定义 : 禁用
非SACK RTT恢复能力 : 禁用
强制WS : 启用
最大SYN重传次数 : 4
自动重用端口范围起始端口 : 0
自动重用端口范围端口数量 : 0

 

2. 显示启发 TCP 参数 (netsh interface tcp show heuristics)

  • 对应的 PowerShell 命令是查看 TCP 启发式设置。你可以使用 Get-NetTCPSetting 命令来查看相关配置:
powershell
Get-NetTCPSetting | Select-Object -Property SettingName

3. 显示支持接收段合并的接口的 TCP 统计信息 (netsh interface tcp show rscstats)

  • 若要查看 TCP 接口的 RSC (Receive Segment Coalescing) 支持情况,可以使用 Get-NetAdapterRsc 来查看支持 RSC 的适配器信息:
powershell
Get-NetAdapterRsc

PS C:\Users\Administrator> Get-NetAdapterRsc

Name                           IPv4Enabled  IPv6Enabled  IPv4Operational IPv6Operational IPv4FailureReason IPv6FailureReason
                                                         State           State
----                           -----------  -----------  --------------- --------------- ----------------- -----------------
WLAN                           True         True         True            True            NoFailure         NoFailure

4. 显示 TCP 安全参数 (netsh interface tcp show security)

  • 相关的 PowerShell cmdlet 是 Get-NetTCPSetting,通过它可以查看 TCP 安全配置:
powershell
Get-NetTCPSetting | Select-Object -Property Name, Security

5. 显示基于 TCP 参数的补充模板 (netsh interface tcp show supplemental)

  • 虽然 PowerShell 没有直接的命令来显示 TCP 补充模板,但你可以通过 Get-NetTCPSetting 结合 Advanced 或其他 TCP 配置来查看更详细的设置:
powershell
Get-NetTCPSetting | Select-Object -Property 

6. 显示 TCP 补充筛选器表中的端口元组 (netsh interface tcp show supplementalports)

  • PowerShell 中可以使用 Get-NetTCPConnection 来查看活动的 TCP 连接,包括端口和 IP 信息:
powershell
Get-NetTCPConnection


PS C:\Users\Administrator> Get-NetTCPConnection

LocalAddress                        LocalPort RemoteAddress                       RemotePort State       AppliedSetting OwningProcess
------------                        --------- -------------                       ---------- -----       -------------- -------------

7. 显示目标子网中的 TCP 补充筛选器表 (netsh interface tcp show supplementalsubnets)

  • 可以使用 Get-NetIPAddress 来查看目标子网的相关网络设置:
powershell
Get-NetIPAddress

这些 PowerShell 命令可以帮助你查看和配置与 TCP 连接相关的各项设置,虽然它们并不完全与 netsh 命令一一对应,但提供了类似的功能。

命令 描述 应用场景
netsh interface tcp show global 显示全局 TCP 参数 用于查看和调整全局 TCP 设置,如窗口大小等。
netsh interface tcp show heuristics 显示启发 TCP 参数 用于分析 TCP 启发式算法的配置,优化网络性能。
netsh interface tcp show rscstats 显示支持接收段合并的接口的 TCP 统计信息 用于监控接收段合并(RSC)的性能和效果。
netsh interface tcp show security 显示 TCP 安全参数 用于检查和配置 TCP 连接的安全性设置。
netsh interface tcp show supplemental 显示基于 TCP 参数的补充模板 用于查看和管理 TCP 的补充配置模板。
netsh interface tcp show supplementalports 在 TCP 补充筛选器表中显示端口元组 用于查看和管理 TCP 连接的补充筛选器设置。
netsh interface tcp show supplementalsubnets 在 TCP 补充筛选器表中显示目标子网 用于查看和管理与 TCP 连接相关的补充子网设置。

 


进一步细化和改进的 netsh interface tcp set global 命令参数表格,包括了按功能分类的更详细说明和示例:

功能类别 参数 可选值 说明 示例
接收窗口优化 rss disabled 禁用接收方缩放。 netsh interface tcp set global rss=disabled
    enabled 启用接收方缩放。 netsh interface tcp set global rss=enabled
    default 将接收方缩放状态还原为系统默认值。 netsh interface tcp set global rss=default
接收窗口自动调整 autotuninglevel disabled 将接收窗口固定为其默认值。 netsh interface tcp set global autotuninglevel=disabled
    highlyrestricted 允许接收窗口增大至超出其默认值,但仅在适当范围内。 netsh interface tcp set global autotuninglevel=highlyrestricted
    restricted 允许接收窗口增大至超出其默认值,但在某些方案中限制此类增大。 netsh interface tcp set global autotuninglevel=restricted
    normal 允许接收窗口增大以适应几乎所有方案。 netsh interface tcp set global autotuninglevel=normal
    experimental 允许接收窗口增大以适应特殊方案。 netsh interface tcp set global autotuninglevel=experimental
ECN(显式拥塞通知) ecncapability disabled 禁用 ECN 功能。 netsh interface tcp set global ecncapability=disabled
    enabled 启用 ECN 功能。 netsh interface tcp set global ecncapability=enabled
    default 将 ECN 状态还原为系统默认值。 netsh interface tcp set global ecncapability=default
时间戳 timestamps disabled 禁用时间戳。 netsh interface tcp set global timestamps=disabled
    enabled 出站时协商时间戳,若对等方协商,则在入站时启用时间戳。 netsh interface tcp set global timestamps=enabled
    allowed 若对等方协商,则在入站时启用时间戳(默认)。 netsh interface tcp set global timestamps=allowed
TCP重传控制 initialrto <300-3000> 设置初始 TCP 重传超时时间(毫秒)。默认:3000。 netsh interface tcp set global initialrto=2000
接收段合并 rsc disabled 禁用接收段合并。 netsh interface tcp set global rsc=disabled
    enabled 启用接收段合并。 netsh interface tcp set global rsc=enabled
    default 将接收段合并状态还原为系统默认值。 netsh interface tcp set global rsc=default
非SACK客户端RTT恢复 nonsackrttresiliency disabled 禁用非SACK客户端的 RTT 复原。 netsh interface tcp set global nonsackrttresiliency=disabled
    enabled 启用非SACK客户端的 RTT 复原。 netsh interface tcp set global nonsackrttresiliency=enabled
    default 默认:已禁用。 netsh interface tcp set global nonsackrttresiliency=default
SYN重试次数 maxsynretransmissions <2-8> 设置 SYN 数据包的最大重传次数。默认:2。 netsh interface tcp set global maxsynretransmissions=4
TCP快速打开 fastopen disabled 禁用 TCP 快速打开功能。 netsh interface tcp set global fastopen=disabled
    enabled 启用 TCP 快速打开功能。 netsh interface tcp set global fastopen=enabled
    default 将状态还原为系统默认值。 netsh interface tcp set global fastopen=default
TCP快速打开回退 fastopenfallback disabled 禁用 TCP 快速打开回退。 netsh interface tcp set global fastopenfallback=disabled
    enabled 启用 TCP 快速打开回退。 netsh interface tcp set global fastopenfallback=enabled
    default 将状态还原为系统默认值。 netsh interface tcp set global fastopenfallback=default
慢启动算法 hystart disabled 禁用 HyStart 慢启动算法。 netsh interface tcp set global hystart=disabled
    enabled 启用 HyStart 慢启动算法。 netsh interface tcp set global hystart=enabled
比例费率降低算法 prr disabled 禁用比例费率降低算法。 netsh interface tcp set global prr=disabled
    enabled 启用比例费率降低算法。 netsh interface tcp set global prr=enabled
    default 将状态还原为系统默认值。 netsh interface tcp set global prr=default
节奏控制 pacingprofile off 从不启用节奏控制。 netsh interface tcp set global pacingprofile=off
    initialwindow 对初始拥塞窗口启用节奏控制。 netsh interface tcp set global pacingprofile=initialwindow
    slowstart 仅在慢启动期间启用节奏控制。 netsh interface tcp set global pacingprofile=slowstart
    always 始终启用节奏控制。 netsh interface tcp set global pacingprofile=always
    default 默认:关闭节奏控制。 netsh interface tcp set global pacingprofile=default
名称 描述 应用场景 示例
接收方缩放状态 (Receive Window Scaling) 控制是否启用接收窗口缩放。 在高带宽、高延迟的网络环境中,接收窗口缩放能帮助提升数据吞吐量。 应用场景:高延迟和大带宽环境(如云计算、远程服务器连接)。示例enabled 可以提高大流量数据传输的性能。
接收窗口自动调节级别 (Auto-Tuning Level) 定义接收窗口自动调节的级别。 自动调节窗口大小可以优化数据接收过程,尤其是在网络状况变化时。 应用场景:在宽带不稳定或网络负载较高时,normal 设置能根据实际情况自动调整接收窗口大小。
加载项拥塞控制提供程序 (Congestion Control Provider) 定义网络中的拥塞控制算法。 选择不同的拥塞控制提供程序可以优化数据包的传输效率,避免网络拥堵。 应用场景:大规模数据传输和实时通信应用。示例default 通常适用于大部分场景,CUBIC 可以提供更好的拥塞控制。
ECN 功能 (Explicit Congestion Notification) 启用或禁用显式拥塞通知。 在网络发生拥塞时,ECN 提供了更早的通知,以避免丢包。 应用场景:实时通信、视频会议,减少丢包带来的影响。示例enabled 可以有效减少高延迟网络的丢包情况。
RFC 1323 时间戳 (RFC 1323 Timestamp) 是否允许时间戳扩展选项。 在高延迟网络中,时间戳有助于精确测量RTT和优化传输速度。 应用场景:用于高延迟、长距离连接的优化。示例allowed 可以帮助获取更精确的延迟信息。
初始 RTO (Initial RTO) 初始的重传超时时间(单位:毫秒)。 设置网络传输中的初始超时时间,对于提高网络稳定性很重要。 应用场景:对高延迟或不稳定的网络环境进行优化。示例1000 设置较长的初始重传超时可以防止在高延迟网络中过早重传数据。
接收段合并状态 (Receive Segment Coalescing) 是否启用接收段合并。 启用后,多个接收到的包会合并为一个包,有助于减少 CPU 负担和提高效率。 应用场景:大规模数据传输,尤其是在多核服务器或高并发情况下。示例enabled 提升网络吞吐量。
非 Sack Rtt 复原 (Non-Sack Rtt Recovery) 启用或禁用非 Sack 的 RTT 恢复功能。 在存在丢包的网络环境下,SACK 能够帮助恢复丢失的部分数据包,non-SACK 则可能影响恢复速度。 应用场景:要求高可靠性的场景,如大规模文件传输。示例disabled 可以禁用非 Sack 恢复,减少恢复时间。
最大 SYN 重新传输次数 (Max SYN Retransmissions) 设置最大 SYN 重传次数。 控制 TCP 握手过程中 SYN 包的重传次数。适用于需要控制连接建立超时的场景。 应用场景:防止长时间等待连接,适合在高延迟或较差网络环境中使用。示例4 可以确保在尝试建立连接时不会过度延迟。
快速打开 (TCP Fast Open) 启用或禁用 TCP 快速打开。 快速打开可以减少 TCP 握手时间,适用于需要低延迟的应用。 应用场景:需要加速连接建立的场景,如 HTTP/2 协议。示例disabled 在传统的 TCP 连接中不启用快速打开。
快速打开回退 (Fast Open Fallback) 控制快速打开失败时的回退机制。 启用时,如果快速打开失败,使用传统的三次握手。 应用场景:需要高可靠性的场景,当快速打开失败时,使用传统握手方式。示例enabled 防止快速打开失败导致连接不稳定。
HyStart 启用或禁用 HyStart 拥塞控制算法。 该算法帮助避免在开始时过快地增加发送窗口,避免网络过度拥塞。 应用场景:适用于网络负载较高、需要更平滑发送速率的情况。示例enabled 可以有效避免网络瞬时过载。
比例费率降低 (Proportional Rate Reduction) 启用或禁用比例速率降低。 该功能可以帮助网络更平滑地恢复,减少突发网络拥塞。 应用场景:避免快速增加的流量造成过度拥塞,适合大流量数据传输的场景。示例enabled 使得速率控制更为平滑。
节奏配置文件 (Rhythm Profile) 控制数据传输速率的节奏。 设置节奏可以优化大量流量的网络传输,避免突发性的网络拥塞。 应用场景:流量控制,减少大流量数据传输时的拥塞问题。示例off 禁用节奏配置,允许最大吞吐量。

应用场景总结

  1. 高延迟、大带宽环境:通过启用接收方缩放(Receive Window Scaling)和调整接收窗口自动调节级别(Auto-Tuning),可以优化数据传输性能,特别是在云计算、远程服务器访问中。

  2. 实时应用:如视频会议、VoIP 通话,启用 ECN(Explicit Congestion Notification)和 RFC 1323 时间戳,可以有效减少丢包和延迟,改善用户体验。

  3. 大规模文件传输:启用接收段合并(Receive Segment Coalescing)和快速打开(TCP Fast Open),可以减少 CPU 负担并加快连接建立速度,提升数据传输效率。

  4. 网络不稳定场景:通过调整最大 SYN 重新传输次数(Max SYN Retransmissions)和启用比例速率降低(Proportional Rate Reduction),可以有效防止网络波动对连接稳定性造成影响。

TCP Global Parameter English Description 中文描述 Options
Receiver Window Scaling Determines if the receiver window scaling is enabled. 控制接收方窗口缩放是否启用。 enabled (启用), disabled (禁用)
Auto-Tuning Level Defines the auto-tuning level for the receiver window size. 定义接收窗口的自动调节级别。 normalhighdisabled
Congestion Control Provider Defines the congestion control algorithm. 定义拥塞控制算法。 defaultCUBICReno
ECN Capability Determines if Explicit Congestion Notification is enabled. 确定是否启用显式拥塞通知。 enableddisabled
RFC 1323 Timestamp Allows or disallows timestamp options for RTT measurement. 是否允许时间戳扩展选项。 alloweddisallowed
Initial RTO The initial Retransmission Timeout (RTO) value in milliseconds. 初始重传超时(RTO)值(单位:毫秒)。 Any integer value (e.g., 1000)
Receive Segment Coalescing Enables or disables receive segment coalescing. 是否启用接收段合并。 enableddisabled
Non-SACK RTT Recovery Enables or disables non-SACK RTT recovery. 启用或禁用非SACK的RTT恢复。 enableddisabled
Max SYN Retransmissions Defines the maximum number of SYN retransmissions. 设置最大SYN重传次数。 Any integer value (e.g., 4)
TCP Fast Open Enables or disables TCP Fast Open. 启用或禁用TCP快速打开。 enableddisabled
Fast Open Fallback Enables or disables fallback to standard 3-way handshake when Fast Open fails. 快速打开失败时是否回退到标准的三次握手。 enableddisabled
HyStart Enables or disables HyStart congestion control. 启用或禁用HyStart拥塞控制算法。 enableddisabled
Proportional Rate Reduction Enables or disables proportional rate reduction. 启用或禁用比例速率降低。 enableddisabled
Rhythm Profile Controls the transmission rate profile. 控制数据传输速率的节奏。 onoff

通过根据实际应用场景调整这些参数,能够大幅提高网络性能,优化用户体验和降低网络延迟。

名称 描述
接收方缩放状态 enabled
接收窗口自动调节级别 normal
加载项拥塞控制提供程序 default
ECN 功能 enabled
RFC 1323 时间戳 allowed
初始 RTO 1000 ms
接收段合并状态 enabled
非 Sack Rtt 复原 disabled
最大 SYN 重新传输次数 4
快速打开 disabled
快速打开回退 enabled
HyStart enabled
比例费率降低 enabled
节奏配置文件 off
  1. 接收窗口优化(RSS, Receive Side Scaling)
    RSS 是一种网络性能优化技术,它允许多个处理器核心在接收网络数据时进行并行处理,从而提高网络吞吐量。该技术将传入的数据包分配到不同的处理器核心上,减少单个处理器核心的负担,提升处理效率,尤其是在多核处理器系统中非常有效。

  2. 接收窗口自动调整(Autotuninglevel)
    Autotuninglevel 是TCP协议中用于自动调整接收缓冲区大小的设置。接收窗口大小决定了发送方可以未确认的最大数据量。通过自动调整缓冲区大小,可以优化性能,尤其在高延迟和高带宽的网络环境下。根据网络条件,系统会动态调整接收窗口的大小,从而提高数据传输的效率。

  3. 显式拥塞通知(ECN, Explicit Congestion Notification)
    ECN 是一种网络拥塞控制机制,它允许网络设备(如路由器)在网络出现拥塞时,显式地通知数据发送方,而不是简单丢包。这种机制帮助避免因丢包导致的重传,降低了网络的延迟。ECN通过在IP头部的标志位中传递信息,帮助TCP发送方减少发送速率,从而缓解拥塞。

  4. 时间戳(Timestamps)
    TCP时间戳 是TCP协议中用于提高传输效率和延迟测量的一项功能。通过在每个TCP数据包中加入时间戳,接收方可以测量数据包的往返时延(RTT),并基于此调整重传超时(RTO)和传输策略。启用时间戳可以帮助在网络条件变化时优化性能。

  5. TCP重传控制(InitialRTO)
    InitialRTO 是TCP协议中用于设置初始重传超时(RTO,Retransmission Timeout)的值。该值决定了TCP重传机制的初始等待时间,如果数据包在指定时间内未得到确认,发送方会重传该数据包。此值通常设为一个默认值,能够在网络出现丢包时有效控制重传行为。

  6. 接收段合并(RSC, Receive Segment Coalescing)
    RSC 是一种网络优化技术,用于减少数据包的处理次数。在网络接收端,当多个较小的段被接收到时,RSC将这些段合并成一个较大的段,这样可以减少处理和内存访问次数,提高网络接收效率,尤其在高速网络中表现明显。

  7. 非SACK客户端 RTT恢复(NonsackRTTResiliency)
    Non-SACK RTT恢复 是指在TCP协议中,客户端如果不支持SACK(Selective Acknowledgement,选择性确认),则采用传统的确认方式进行数据包的确认和RTT(往返时延)测量。在这种情况下,TCP协议会依据传统的ACK机制来恢复RTT的计算。

  8. SYN重试次数(MaxSYNRetransmissions)
    MaxSYNRetransmissions 是TCP协议中规定的,在建立连接的过程中,发送方最多可以重试SYN(同步)包的次数。如果接收方未能在规定时间内回应SYN包,发送方会重试发送SYN包。此值规定了最大重试次数,用于保证连接建立的可靠性。

  9. TCP快速打开(FastOpen)
    TCP快速打开(TFO) 是一种优化技术,可以让客户端在建立连接的过程中,向服务器发送数据,而不需要等待三次握手完成。通过减少握手过程的时间,TCP快速打开能够降低连接建立的延迟,特别是在高延迟网络中表现明显。

  10. TCP快速打开回退(FastOpenFallback)
    FastOpenFallback 是在目标服务器不支持TCP快速打开(TFO)时的回退机制。如果目标服务器不支持TFO,则客户端将退回到传统的三次握手过程。这项机制确保在不支持TFO的环境下,连接仍然能够正常建立。

  11. 慢启动算法(HyStart)
    HyStart 是一种TCP慢启动算法,它通过在慢启动阶段对拥塞窗口的增加进行更加保守的控制,减少网络拥塞的发生。传统的慢启动算法可能会导致数据包丢失,而HyStart通过预测网络的负载变化来避免过快的窗口增大,优化TCP连接的吞吐量和稳定性。

  12. 比例费率降低算法(PRR, Proportional Rate Reduction)
    PRR 是TCP协议中的一个算法,用于在网络出现拥塞时控制发送速率。它通过平滑的速率调整,避免了由于网络拥塞导致的快速重传,从而减少了拥塞造成的性能波动。PRR算法能够在数据包丢失时减缓速率调整过程,提供更加稳定的网络传输。

  13. 节奏控制(PacingProfile)
    PacingProfile 是一种用于TCP流量控制的机制,通过对数据包发送速率进行控制,避免网络中流量过于集中,造成过度拥塞。它通常根据网络的实际状况调整数据包发送的间隔,确保数据流的平稳性,从而提高整体的网络利用率和性能。

这些术语与TCP/IP协议栈的性能优化和控制机制相关,通常涉及网络延迟、吞吐量、拥塞控制和流量管理等方面。

1. 接收窗口优化 (RSS, Receive Side Scaling)

解释
RSS 是一种技术,用于在接收端网络接口卡(NIC)上将接收的数据包分配到多个处理器核心上处理,进而提高网络吞吐量,尤其在多核处理器系统中,能够减少单个核心的负担,从而提高系统性能。

示例
在一台配备四核处理器的服务器上,网络流量被分配到四个核心,分别处理接收到的数据流。这样可以避免单一核心的瓶颈,提升网络吞吐量。


2. 接收窗口自动调整 (Autotuninglevel)

解释
在TCP协议中,接收窗口自动调整是指根据网络条件自动调整接收缓冲区大小,从而优化数据传输的性能。Autotuninglevel是用于配置接收窗口自动调整的强度级别。

示例
在Windows操作系统中,如果开启了自动调整(Autotune),系统会根据网络延迟和带宽动态调整TCP接收窗口大小,从而减少丢包和延迟,优化网络性能。


3. 显式拥塞通知 (ECN, Explicit Congestion Notification)

解释
ECN 是一种网络拥塞控制机制,通过在IP包头部设置标志位,告诉发送方网络链路存在拥塞,而不是丢包。这帮助发送方减少发送速率,避免网络拥堵进一步加剧。

示例
当路由器检测到网络拥塞时,它可以设置ECN标志位,并将数据包转发给接收方。接收方再将该信息通过ACK告知发送方,发送方会相应地降低数据发送速率。


4. 时间戳 (Timestamps)

解释
在TCP协议中,时间戳用于测量往返时延(RTT)并优化重传超时(RTO)。通过每个数据包中加入时间戳,接收方能够准确计算往返时延,并相应地调整发送方的重传策略。

示例
发送方在每个TCP包中附带一个时间戳,接收方在返回ACK时附带该时间戳。发送方通过接收到的时间戳计算RTT,从而调整重传超时。


5. TCP重传控制 (InitialRTO)

解释
InitialRTO 是指在TCP连接初始阶段设定的重传超时(RTO)。它决定了如果TCP包丢失,发送方在重传数据包之前会等待的初始时间。

示例
假设初始RTO为3秒。如果发送方发送的数据包没有收到ACK确认,它会等待3秒后重发该数据包。


6. 接收段合并 (RSC, Receive Segment Coalescing)

解释
RSC 是一种优化技术,旨在减少接收端处理数据包的次数。它通过将多个小数据包合并成一个较大的数据包,从而减少CPU处理次数,提高网络性能。

示例
当多个小数据包到达接收端时,RSC将它们合并为一个大的数据包,这样处理器只需处理一次,减少了处理开销。


7. 非SACK客户端 RTT恢复 (NonsackRTTResiliency)

解释
在TCP协议中,SACK(选择确认)允许接收方通知发送方丢失的数据包。Non-SACK RTT恢复是指当客户端不支持SACK时,如何恢复网络的RTT(往返时延)测量。通常,通过传统的ACK机制进行恢复。

示例
如果客户端不支持SACK,当某个数据包丢失时,发送方会基于ACK包推算丢失的数据包,并根据RTT调整重传超时。


8. SYN重试次数 (MaxSYNRetransmissions)

解释
MaxSYNRetransmissions 是在TCP连接建立过程中,发送方尝试重发SYN数据包的最大次数。如果没有成功建立连接,超过此次数后,连接请求会被放弃。

示例
如果最大SYN重试次数设置为5次,那么在连接未建立成功的情况下,发送方会重试最多5次。如果仍未连接成功,则会放弃连接。


9. TCP快速打开 (FastOpen)

解释
TCP快速打开(TFO)是一项性能优化技术,使得客户端在连接建立的初期就能够开始传输数据,而不需要等到三次握手完成。这减少了延迟。

示例
客户端向服务器发送连接请求时,附带了数据包内容,服务器在响应SYN包时就开始传输数据,而不需要等待握手过程完成。


10. TCP快速打开回退 (FastOpenFallback)

解释
FastOpenFallback 是在目标服务器不支持TCP快速打开时的回退机制。当目标服务器不支持TFO时,客户端会退回到标准的三次握手过程。

示例
如果客户端尝试启用TFO,但目标服务器不支持这一功能,那么客户端会回退到传统的三次握手协议,直到连接建立。


11. 慢启动算法 (HyStart)

解释
HyStart 是一种TCP慢启动算法,它在TCP连接初期采用更保守的拥塞窗口增长方式,避免因为快速增大窗口而导致网络拥塞。

示例
在进行TCP连接时,使用HyStart算法的系统在初期会逐步增加窗口大小,以避免因网络条件不稳定导致的丢包现象。


12. 比例费率降低算法 (PRR, Proportional Rate Reduction)

解释
PRR 是TCP的一种拥塞控制算法,在丢包发生时,采用比例减速的方式降低发送速率,以避免因过快的速率减小而引起的过度波动。

示例
当丢包发生时,PRR算法会减少发送速率,但不会像传统算法那样急剧减少,而是以比例方式减缓速率,从而确保稳定性。


13. 节奏控制 (PacingProfile)

解释
PacingProfile 是TCP流量控制的一种方式,通过控制数据包发送的节奏(发送间隔),减少突发流量并避免网络拥塞。

示例
在一个高速网络中,PacingProfile可以配置发送数据包的速率,使得发送方在一个合适的时间间隔内发送数据,避免突发流量过载网络。


这些术语涉及到TCP协议的优化与控制,包括拥塞控制、性能调优和网络吞吐量提升等方面。通过合理的配置和算法,可以显著提高网络传输效率和稳定性。

Windows Server相关命令示例,针对您提到的各个网络优化和TCP配置的专业术语:

1. 接收窗口优化 (RSS, Receive Side Scaling)

解释
RSS 是将接收到的数据流分配到多个处理器核心,从而提高网络处理效率。

相关命令示例

powershellCopy Code
# 查看当前RSS配置
Get-NetAdapterRss

# 启用或禁用RSS
Set-NetAdapterRss -Name "Ethernet" -Enabled $true

Get-NetAdapterRss


Name                                            : 以太网
InterfaceDescription                            : Realtek Gaming GbE Family Controller
Enabled                                         : True
NumberOfReceiveQueues                           : 4
Profile                                         : NUMAStatic
BaseProcessor: [Group:Number]                   : 0:0
MaxProcessor: [Group:Number]                    : 0:10
MaxProcessors                                   : 4
RssProcessorArray: [Group:Number/NUMA Distance] : 0:0/0  0:2/0  0:4/0  0:6/0  0:8/0  0:10/0
IndirectionTable: [Group:Number]             :

Get-NetAdapterRss 完整拆解

基础标识

PowerShell 命令
powershell
# 查询网卡RSS配置
Get-NetAdapterRss
# 修改RSS参数(管理员权限)
Set-NetAdapterRss
# 启用/关闭RSS
Enable-NetAdapterRss
Disable-NetAdapterRss
归属模块:NetAdapter
 
调用链路
 
PowerShell → NetAdapter WMI提供程序 → NDIS驱动接口 → 网卡驱动 → tcpip.sys
RSS 全称:Receive Side Scaling,接收端扩展
 
作用:将网卡接收的网络流量,分发到多个 CPU 核心并行处理,解决单 CPU 核心接收瓶颈;是服务器大流量场景核心卸载技术;仅作用接收方向,发送流量不使用 RSS。
 
关联技术:RSC(接收段合并)、VMQ、SR-IOV。

一、底层原理

  1. 网卡硬件对入站五元组(源 IP、目的 IP、源端口、目的端口、协议)计算哈希;
  2. 通过间接表(IndirectionTable) 将哈希映射到指定 CPU 核心;
  3. 不同流调度至不同 CPU 队列,多核并行处理报文,避免单核心软中断瓶颈;
  4. 支持 NUMA 感知调度,优先将流量分配至网卡所属 NUMA 节点 CPU,降低跨 NUMA 内存访问延迟。
执行流程:
  1. PowerShell 通过 NetAdapter 模块调用 NDIS 查询网卡 RSS 能力与运行配置;
  2. 网卡驱动上报硬件队列数量、CPU 亲和策略、间接表、处理器掩码;
  3. 输出结构化 RSS 调度信息;
查询无需管理员;修改 RSS 策略、启停 RSS 需要管理员权限。

二、输出字段逐条释义 + 运维阈值对照表

原始示例输出
plaintext
Name                                            : 以太网
InterfaceDescription                            : Realtek Gaming GbE Family Controller
Enabled                                         : True
NumberOfReceiveQueues                           : 4
Profile                                         : NUMAStatic
BaseProcessor: [Group:Number]                   : 0:0
MaxProcessor: [Group:Number]                    : 0:10
MaxProcessors                                   : 4
RssProcessorArray: [Group:Number/NUMA Distance] : 0:0/0  0:2/0  0:4/0  0:6/0  0:8/0  0:10/0
IndirectionTable: [Group:Number]             :
 
参数字段 取值说明 参数释义 推荐正常值 过低风险 过高风险 预警说明
Name 网卡名称 Windows 网卡适配器名称 多网卡环境用于区分实例
InterfaceDescription 硬件驱动名称 网卡硬件型号 判断是物理网卡 / 虚拟网卡;部分虚拟网卡 RSS 支持受限
Enabled True / False RSS 总开关 物理网卡:True
 
老旧虚拟网卡:按需测试关闭
所有接收流量绑定单一 CPU 核心,高吞吐场景 CPU 单核打满、吞吐上限被锁死 无直接风险;依赖网卡硬件队列资源 流量大于千兆的服务器必须启用 RSS;部分虚拟化网卡开启 RSS 出现乱序、丢包需关闭测试
NumberOfReceiveQueues 1~ 网卡硬件最大队列数 RSS 接收队列数量(硬件队列) 根据 CPU 核心配置;千兆 4 队列;25G/10G 网卡 8~16 队列 队列过少,多核无法分担负载,达不到多核加速效果 超过硬件支持最大值会被驱动强制截断;队列过多轻微增加中断开销 队列数量 ≤ MaxProcessors;不能超过网卡硬件能力上限
Profile Closest / ClosestStatic / NUMA / NUMAStatic RSS 调度策略模板 NUMAStatic(物理服务器推荐)
 
Closest(无 NUMA 单核主机)
- - NUMAStatic:固定绑定 NUMA 本地核心,延迟稳定;Closest 动态调度适合负载波动场景
BaseProcessor [Group:Number] CPU 组:逻辑核心编号 RSS 可用起始 CPU 核心 避开 CPU0(可选) 全部流量挤压在低编号核心 高负载服务器建议不要全部绑定 CPU0,隔离系统中断
MaxProcessor [Group:Number] CPU 组:逻辑核心编号 RSS 可用最大 CPU 核心编号 与 MaxProcessors 匹配 可用核心区间不足,负载无法分散 区间过大引入跨 NUMA 调度 双路 NUMA 服务器严格限制在本 NUMA 节点核心范围
MaxProcessors 1~ 硬件上限 RSS 最多可使用 CPU 核心数目 和 ReceiveQueues 数量匹配(4 队列→4 核心) 核心少于队列,队列闲置无法并行分流 预留过多核心但无流量,资源浪费 标准配比:MaxProcessors = NumberOfReceiveQueues
RssProcessorArray [组:核心 / NUMA 距离] 驱动预分配给 RSS 候选 CPU 列表,NUMA 距离 0 = 同节点 优先选用 NUMA 距离 = 0 核心 选用跨 NUMA 核心,内存访问延迟上升、性能下降 距离数值越大,跨 NUMA 访问延迟越高
IndirectionTable 哈希→CPU 映射表 网卡硬件哈希分流索引表,内核控制流量调度目标核心 由驱动自动维护 哈希倾斜:大量流哈希命中同一核心,造成负载不均 出现单核 CPU 高占用,大概率存在 RSS 哈希倾斜;可重启网卡刷新间接表

RSS Profile 四种策略区别

  1. NUMAStatic:固定优先使用同 NUMA 节点核心;不动态漂移;低延迟稳定,生产服务器首选
  2. NUMA:NUMA 优先,负载高时允许动态跨 NUMA 调度
  3. ClosestStatic:固定一组就近核心,无视 NUMA
  4. Closest:动态就近核心调度,适合负载波动大的终端主机

三、常见运维故障特征

  1. 现象:带宽跑满但只有一个 CPU 核心占用很高
     
    排查:Enabled=False RSS 关闭;或 NumberOfReceiveQueues=1;
  2. 现象:RSS 已开启,但负载集中某几个核心(哈希倾斜)
     
    原因:业务流五元组变化少;解决方案:调整网卡哈希类型(TCP/UDP 四元组 / 五元组),重启网卡刷新 IndirectionTable;
  3. 现象:虚拟化环境开启 RSS 出现 TCP 乱序、丢包
     
    原因:虚拟网卡驱动缺陷;临时执行 Disable-NetAdapterRss 验证;
  4. 双路 NUMA 服务器性能不佳
     
    核查:RssProcessorArray 是否分配到跨 NUMA 核心;优先锁定网卡所在 NUMA 域 CPU。

四、常用 PowerShell 运维命令(管理员)

powershell
# 查看所有网卡RSS配置
Get-NetAdapterRss

# 启用指定网卡RSS
Enable-NetAdapterRss -Name "以太网"

# 设置网卡4队列、NUMA静态策略、最多4颗核心
Set-NetAdapterRss -Name "以太网" -NumberOfReceiveQueues 4 -MaxProcessors 4 -Profile NUMAStatic

# 关闭RSS(故障测试)
Disable-NetAdapterRss -Name "以太网"

# 查看网卡硬件支持的最大RSS队列数量
Get-NetAdapterAdvancedProperty -Name "以太网" -RegistryKeyword *rss*

五、完整执行链路

plaintext
PowerShell
        ↓
NetAdapter WMI Provider
        ↓
NDIS 网卡驱动接口
        ↓
网卡驱动读取/写入RSS硬件配置、间接表、CPU亲和掩码
        ↓
配置生效后,硬件报文中断分发策略更新
        ↓
tcpip.sys 在指定CPU核心上下文处理接收报文

六、配套关联技术区分

  1. RSS:接收流量多核分发(硬件中断层)
  2. RSC:单 CPU 核心内,硬件合并多个 TCP 分段(报文聚合)
最佳组合:RSS + RSC 同时开启;先 RSS 分流到多核,再 RSC 降低单核报文处理开销。

标准化文档条目

功能名称 (中文):Get-NetAdapterRss(查询网卡 RSS 接收端扩展配置)
 
功能描述 (英文):PowerShell NetAdapter cmdlet to retrieve Receive Side Scaling configuration of network adapters. Query RSS status, hardware receive queues, scheduling profile, CPU core range, NUMA affinity and indirection table. Controls multi-core parallel processing for inbound network traffic via NDIS and NIC driver.
 
应用场景:服务器大流量吞吐优化、单核 CPU 中断瓶颈排查、NUMA 架构网卡调优、虚拟化环境网络丢包 / 乱序故障定位。
 
安全提醒:查询无需管理员权限;调整 RSS 队列与 CPU 掩码需要管理员;双路服务器避免 RSS 跨 NUMA 调度;部分虚拟网卡开启 RSS 存在兼容性缺陷;哈希倾斜会造成负载不均衡。
 
配套链:NDIS 网卡驱动、tcpip.sys、Get-NetAdapterRscGet-NetNetAdapterAdvancedProperty、VMQ/SR-IOV 虚拟化卸载。
 
名称                                              : 以太网
接口描述                                          : Realtek Gaming GbE 家庭控制器
启用状态                                          : 启用
接收队列数                                        : 4
配置文件                                          : NUMAStatic
基础处理器: [组:编号]                             : 0:0
最大处理器: [组:编号]                             : 0:10
最大处理器数                                      : 4
Rss处理器数组: [组:编号/NUMA距离]                  : 0:0/0  0:2/0  0:4/0  0:6/0  0:8/0  0:10/0
间接表: [组:编号]                                  : 
 
中文 英文
名称 Name
接口描述 Interface Description
启用状态 Enabled
接收队列数 Number of Receive Queues
配置文件 Profile
基础处理器: [组:编号] Base Processor: [Group:Number]
最大处理器: [组:编号] Max Processor: [Group:Number]
最大处理器数 Max Processors
Rss处理器数组: [组:编号/NUMA距离] Rss Processor Array: [Group:Number/NUMA Distance]
间接表: [组:编号] Indirection Table: [Group:Number]
中文 英文 描述 应用场景
名称 Name 以太网接口的名称 用于标识网络接口设备,通常显示为“以太网”或类似名称
接口描述 Interface Description 网络适配器的具体描述信息,如芯片制造商和型号 用于识别网络适配器类型,帮助确认硬件信息
启用状态 Enabled 网络适配器是否已启用 适用于判断该网络接口是否处于工作状态,影响网络通信
接收队列数 Number of Receive Queues 用于接收数据包的队列数量 适用于性能优化,更多的接收队列可以提升高流量网络的处理能力
配置文件 Profile NUMA(非统一内存访问)配置文件 适用于多核处理器和NUMA架构的系统,优化资源调度
基础处理器: [组:编号] Base Processor: [Group:Number] 配置的基础处理器的组号和编号 用于指定网络流量处理的基础CPU核心,优化负载均衡
最大处理器: [组:编号] Max Processor: [Group:Number] 配置的最大处理器组号和编号 用于指定最大支持的CPU核心,帮助提高处理能力
最大处理器数 Max Processors 系统允许使用的最大处理器数量 适用于配置中需要限制或优化网络处理器使用量的场景
Rss处理器数组: [组:编号/NUMA距离] Rss Processor Array: [Group:Number/NUMA Distance] 显示接收端分散的CPU处理器组以及其与NUMA节点的距离 适用于高性能计算场景,如大规模数据传输时的负载均衡和优化
间接表: [组:编号] Indirection Table: [Group:Number] 显示网络适配器流量转发的处理器组编号 用于优化网络流量的处理路径,提升数据包处理效率

解释与应用场景:

  1. 名称与接口描述:通常用于网络接口设备的标识和硬件识别。网络管理员或系统管理员会用这些信息来识别设备类型或故障排除。
  2. 启用状态:通过启用或禁用接口来控制是否允许该网络接口参与数据传输,应用在需要临时断开网络或重启接口的场景。
  3. 接收队列数:接收队列数决定了适配器处理网络流量的方式,适用于数据流量较大或需要优化并行处理的网络环境。
  4. 配置文件与处理器设置:适用于NUMA架构的系统,帮助将流量负载均衡到不同的处理器或处理器组,提高处理性能。
  5. RSS处理器数组与间接表:适用于优化高流量网络的并行处理,通过调整处理器的负载分配来实现更高效的流量管理。

这些字段和设置常用于大规模网络环境、数据中心、游戏服务器和需要处理大量并发连接的应用中。


2. 接收窗口自动调整 (Autotuninglevel)

解释
自动调整TCP接收窗口的大小,适应网络环境,提升TCP连接性能。

相关命令示例

powershellCopy Code
# 查看当前接收窗口自动调整设置
netsh interface tcp show global

# 设置接收窗口自动调整级别为正常
netsh interface tcp set global autotuninglevel=normal

netsh interface tcp show global
查询活动状态...

TCP 全局参数
----------------------------------------------
接收方缩放状态          : enabled
接收窗口自动调节级别    : normal
加载项拥塞控制提供程序  : default
ECN 功能                      : enabled
RFC 1323 时间戳                 : allowed
初始 RTO                         : 1000
接收段合并状态    : enabled
非 Sack Rtt 复原             : disabled
最大 SYN 重新传输次数             : 4
快速打开                           : disabled
快速打开回退                  : enabled
HyStart                             : enabled
比例费率降低         : enabled
节奏配置文件                      : off

 

netsh interface tcp show global命令查询结果的中文和英文对照表格:

中文 英文 描述
接收方缩放状态 Receive Window Auto-Tuning Level 控制接收方窗口缩放的状态,决定了接收窗口的调整方式
接收窗口自动调节级别 Receive Window Auto-Tuning Level 接收窗口自动调节的级别,通常设置为“normal”表示正常调节
加载项拥塞控制提供程序 Congestion Control Provider 当前使用的拥塞控制算法,"default"为系统默认的算法
ECN 功能 ECN (Explicit Congestion Notification) 是否启用显式拥塞通知功能,有助于减少网络拥堵
RFC 1323 时间戳 RFC 1323 Timestamps Allowed 是否允许RFC 1323标准中的时间戳,帮助网络协议优化性能
初始 RTO Initial RTO (Retransmission Timeout) 初始重传超时时间,单位为毫秒,决定数据包丢失后的重传等待时间
接收段合并状态 Receive Segment Coalescing 是否启用接收段合并功能,有助于提高接收数据的效率
非 Sack Rtt 复原 Non-SACK RTT Recovery 是否启用非SACK协议的RTT恢复,SACK是一个TCP选项用于可靠数据传输
最大 SYN 重新传输次数 Maximum SYN Retransmissions 最大SYN包重新传输次数,影响TCP连接建立的可靠性
快速打开 TCP Fast Open 是否启用TCP快速打开,减少TCP连接的建立时间
快速打开回退 TCP Fast Open Fallback 是否启用TCP快速打开回退机制,确保在不支持快速打开时使用回退方式
HyStart HyStart Congestion Control 启用HyStart算法进行流量控制,主要用于减少TCP流量突发情况
比例费率降低 Proportional Rate Reduction 启用比例费率降低功能,以应对高网络流量时的拥塞
节奏配置文件 TCP Delayed Acknowledgment Profile 是否启用TCP延迟确认,影响TCP数据包的确认时间

解释:

  • 接收窗口自动调节级别接收段合并SACK协议等功能控制TCP连接的流量和拥塞管理,有助于优化网络性能。
  • 快速打开初始RTO等设置帮助减少连接延迟,特别是在需要快速建立连接的环境中,如Web服务。
  • HyStart比例费率降低是高级的拥塞控制功能,用于优化高流量和拥塞环境下的TCP性能。

这些设置通常在网络优化、服务器配置、数据传输和高吞吐量场景中起到关键作用。

 

针对每个 TCP 设置的进一步改进与应用场景分析,提供了如何在不同的网络环境中应用这些设置来优化性能。

中文 英文 描述 应用场景
接收方缩放状态 Receive Window Auto-Tuning Level 控制接收方窗口缩放的状态,决定了接收窗口的调整方式 在高带宽延迟网络(如卫星链接、大规模分布式系统)中,自动调整接收窗口有助于提高数据传输的效率,避免网络拥堵。
接收窗口自动调节级别 Receive Window Auto-Tuning Level 接收窗口自动调节的级别,通常设置为“normal”表示正常调节 在流量波动较大的网络环境下,启用自动调节可以避免接收方吞吐量不足导致的性能瓶颈。
加载项拥塞控制提供程序 Congestion Control Provider 当前使用的拥塞控制算法,"default"为系统默认的算法 在高负载、动态变化的网络中,选择适合的拥塞控制算法(如BBR、CUBIC等)可以减少网络拥堵,提升整体吞吐量。
ECN 功能 ECN (Explicit Congestion Notification) 是否启用显式拥塞通知功能,有助于减少网络拥堵 在拥塞敏感的应用(如金融交易系统、视频会议)中启用ECN可以更快地响应拥塞,减少延迟,改善用户体验。
RFC 1323 时间戳 RFC 1323 Timestamps Allowed 是否允许RFC 1323标准中的时间戳,帮助网络协议优化性能 在高延迟、长距离的网络环境中(如跨国连接、数据中心之间的连接),启用时间戳可以更准确地估算RTT,优化连接性能。
初始 RTO Initial RTO (Retransmission Timeout) 初始重传超时时间,单位为毫秒,决定数据包丢失后的重传等待时间 在高丢包率的环境中(如无线网络或不稳定的网络连接),增加初始RTO可减少不必要的重传,从而提升稳定性。
接收段合并状态 Receive Segment Coalescing 是否启用接收段合并功能,有助于提高接收数据的效率 在需要处理大量小数据包的应用场景(如Web应用、API调用)中,启用接收段合并可以减少中断,提高吞吐量。
非 Sack Rtt 复原 Non-SACK RTT Recovery 是否启用非SACK协议的RTT恢复,SACK是一个TCP选项用于可靠数据传输 在数据包丢失较多的网络中(如卫星连接、无线网络),启用非SACK RTT恢复可以减少重传导致的延迟。
最大 SYN 重新传输次数 Maximum SYN Retransmissions 最大SYN包重新传输次数,影响TCP连接建立的可靠性 在高并发连接的场景下,增加SYN重传次数有助于确保连接建立的成功率,避免过早的连接失败。
快速打开 TCP Fast Open 是否启用TCP快速打开,减少TCP连接的建立时间 在需要快速启动连接的应用(如Web浏览、在线游戏)中,启用TCP快速打开能够显著减少延迟,提高用户体验。
快速打开回退 TCP Fast Open Fallback 是否启用TCP快速打开回退机制,确保在不支持快速打开时使用回退方式 在不支持快速打开的网络环境中,启用回退机制能保证连接仍然能够顺利建立,避免连接失败。
HyStart HyStart Congestion Control 启用HyStart算法进行流量控制,主要用于减少TCP流量突发情况 在云计算环境或高流量传输环境中,启用HyStart有助于平稳增加TCP连接的发送速率,避免网络拥塞。
比例费率降低 Proportional Rate Reduction 启用比例费率降低功能,以应对高网络流量时的拥塞 在高负载、拥塞的网络中(如大规模的数据迁移、视频流媒体服务),启用比例费率降低可以动态调整流量,避免网络过载。
节奏配置文件 TCP Delayed Acknowledgment Profile 是否启用TCP延迟确认,影响TCP数据包的确认时间 在大规模数据传输应用中(如文件传输、数据库同步),延迟确认可以减少网络负担,提升效率。

进一步优化与应用场景:

  1. 高带宽-高延迟网络:如卫星链路、大规模分布式系统等,启用接收窗口自动调节、时间戳和拥塞控制算法(BBR、CUBIC等)能有效提升性能。结合TCP的快速打开、时间戳等技术,减少连接建立的时间和网络延迟。

  2. 无线网络或不稳定网络环境:如移动网络、Wi-Fi或农村宽带网络,启用初始RTO、接收段合并以及非SACK RTT恢复,能够在丢包和网络波动较大的情况下提升稳定性和吞吐量。

  3. 高并发与低延迟应用:如在线游戏、即时通讯、视频流等,启用TCP快速打开、ECN和比例费率降低,可以大大减少连接建立的延迟和动态调整流量,保证低延迟的同时避免网络拥塞。

  4. 大规模数据传输与文件共享:在云计算环境、大数据传输等应用中,通过启用HyStart、比例费率降低、延迟确认等功能,可以平稳地管理高负载情况,避免网络拥塞,提升数据传输效率。

通过调整这些 TCP 设置,可以根据不同的网络环境和应用场景,优化数据传输的性能、稳定性和效率。

 

 

 


3. 显式拥塞通知 (ECN, Explicit Congestion Notification)

解释
ECN用于允许路由器通知发送方网络拥塞,而非丢包,从而避免网络过载。

相关命令示例

powershellCopy Code
# 启用ECN
netsh interface tcp set global ecncapability=enabled

# 禁用ECN
netsh interface tcp set global ecncapability=disabled

netsh interface tcp set global ecncapability=enabled 命令的详细描述、示例、应用场景以及表格化内容:

命令 描述 示例 应用场景
netsh interface tcp set global ecncapability=enabled 启用显式拥塞通知(ECN)功能 netsh interface tcp set global ecncapability=enabled 用于减少网络拥堵和提升网络性能,适用于高延迟、流量变化大的网络环境。

详细说明

  • 命令netsh interface tcp set global ecncapability=enabled
    • 描述:此命令启用显式拥塞通知(ECN)功能。在网络拥塞情况下,ECN允许路由器通知发送方有拥塞发生,从而减少数据包的丢失,并避免全网的拥塞。这种机制有助于降低延迟和提高吞吐量。

    • 示例

      bashCopy Code
      netsh interface tcp set global ecncapability=enabled

      该命令用于启用TCP连接中的ECN功能,允许在发生拥塞时通过TCP头中的ECN位进行通知,从而避免数据包丢失并优化网络性能。

    • 应用场景

      • 高带宽、低延迟网络:在高带宽、高延迟的网络环境中(例如卫星链接、大型数据中心间的连接),启用ECN可以减少因为拥塞引起的延迟,提高网络吞吐量。
      • 实时流量传输:例如视频会议、在线游戏、实时通信等应用,ECN有助于在网络拥塞时迅速响应,减少丢包,提升用户体验。
      • 大规模数据传输:在大规模数据迁移或云计算场景下,启用ECN可以避免网络拥塞,确保高效的数据传输。

通过启用ECN,系统可以更加智能地管理网络流量,提高数据传输的稳定性,尤其在网络条件不稳定或者拥塞的情况下,提供更好的网络体验。

 


4. 时间戳 (Timestamps)

解释
TCP时间戳用于测量网络的往返时间(RTT),帮助优化重传超时(RTO)。

相关命令示例

powershellCopy Code
# 启用TCP时间戳
netsh interface tcp set global timestamps=enabled

# 禁用TCP时间戳
netsh interface tcp set global timestamps=disabled
命令 描述 示例 应用场景
netsh interface tcp set global timestamps=enabled 启用 TCP 时间戳功能,在数据包中加入时间戳用于计算往返时间(RTT)。 netsh interface tcp set global timestamps=enabled 用于提高网络性能,尤其在高延迟或长距离的网络中优化 RTT 测量,提升连接的效率。

详细说明

  • 命令netsh interface tcp set global timestamps=enabled
    • 描述:此命令启用 TCP 时间戳功能。启用后,每个 TCP 数据包将携带一个时间戳,用于计算往返时间(RTT),并帮助系统更准确地估算连接的延迟。这对于高延迟或长距离的网络尤为重要,可以帮助更好地管理数据传输速率。

    • 示例

      bashCopy Code
      netsh interface tcp set global timestamps=enabled

      该命令启用 TCP 时间戳功能,确保每个传输的数据包都会附带时间戳信息,以便更精确地计算网络延迟。

    • 应用场景

      • 长距离、高延迟的网络环境:例如跨国网络连接、卫星链路或云服务之间的连接,启用 TCP 时间戳有助于准确测量网络延迟并调整发送窗口,从而优化性能。
      • 实时应用:如视频会议、在线游戏、实时通信等应用,启用时间戳可以帮助快速计算 RTT,减少延迟,提升用户体验。
      • 大规模分布式系统:在需要高精度延迟监测的分布式系统中(如跨数据中心的应用),启用时间戳可以精确测量网络性能,帮助优化负载均衡和数据传输策略。

通过启用 TCP 时间戳,网络连接可以更智能地管理延迟和数据包的传输,从而提升稳定性和效率,特别是在处理高延迟或长距离网络时。


5. TCP重传控制 (InitialRTO)

解释
InitialRTO是TCP连接的初始重传超时时间,用于决定第一次重传的等待时间。

相关命令示例

powershellCopy Code
# 查看当前初始RTO
netsh interface tcp show global

# 设置初始RTO为3000ms
netsh interface tcp set global initialrto=3000

netsh interface tcp show global 命令的详细描述、示例、应用场景以及表格化内容:

命令 描述 示例 应用场景
netsh interface tcp show global 显示当前全局 TCP 配置设置,包括 TCP 选项和状态信息。 netsh interface tcp show global 用于查看 TCP 配置的当前状态,帮助网络管理员排查问题或优化设置。

详细说明

  • 命令netsh interface tcp show global
    • 描述:此命令用于显示当前系统上所有 TCP 全局设置的配置,包括启用的选项、TCP 参数以及其当前状态。例如,时间戳、显式拥塞通知(ECN)、窗口扩大因子等 TCP 配置项的状态。通过此命令,网络管理员可以快速检查 TCP 配置是否符合预期,并帮助排查与网络性能相关的问题。

    • 示例

      bashCopy Code
      netsh interface tcp show global

      该命令将输出当前系统的 TCP 全局配置,包括当前启用的 TCP 选项(如时间戳、窗口扩大因子等)。

    • 应用场景

      • 故障排查:如果遇到网络性能问题或 TCP 连接异常,可以使用此命令检查全局配置项,确保设置没有被错误修改,帮助快速定位问题。
      • 性能优化:网络管理员可以通过查看当前配置,优化 TCP 参数(例如启用时间戳、ECN 等)以提升网络吞吐量和延迟。
      • 配置审计:用于定期检查系统的 TCP 配置,确保系统保持最佳的网络性能,并符合组织的网络策略和要求。
      • 验证网络调整效果:在调整了某些网络参数后,可以使用此命令验证配置是否生效,确保网络优化的改动已正确应用。

通过使用 netsh interface tcp show global,管理员可以快速查看和确认系统当前的 TCP 配置,为进一步的优化或故障排查提供依据。


6. 接收段合并 (RSC, Receive Segment Coalescing)

解释
RSC合并多个小的数据包,减少CPU处理负担,提高吞吐量。

相关命令示例

powershellCopy Code
# 启用RSC
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Receive Segment Coalescing" -DisplayValue "Enabled"

# 禁用RSC
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Receive Segment Coalescing" -DisplayValue "Disabled"

Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Receive Segment Coalescing" -DisplayValue "Enabled" 命令的详细描述、示例、应用场景以及表格化内容:

命令 描述 示例 应用场景
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Receive Segment Coalescing" -DisplayValue "Enabled" 此命令启用或配置网络适配器的“接收段合并”功能。接收段合并可以减少 CPU 负载并提高网络性能,尤其是在处理大量小数据包时。 Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Receive Segment Coalescing" -DisplayValue "Enabled" 用于提升网络性能,减少 CPU 负担,特别是在高流量网络环境中处理大量小数据包时。

详细说明

  • 命令Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Receive Segment Coalescing" -DisplayValue "Enabled"
    • 描述:此命令用于启用或配置网络适配器上的 "Receive Segment Coalescing" (RSC) 功能,RSC 是一种优化机制,它将多个小的数据包合并成一个较大的数据包来进行处理。启用该功能有助于减少 CPU 处理网络流量时的负担,提高网络吞吐量,特别是在高流量或低延迟环境中。

    • 示例

      powershellCopy Code
      Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Receive Segment Coalescing" -DisplayValue "Enabled"

      该命令会在名为 "Ethernet" 的网络适配器上启用接收段合并,帮助优化网络性能并减少 CPU 的负担。

    • 应用场景

      • 高流量环境:在处理大量小数据包的网络环境中(如文件传输、视频流、服务器通信等),启用接收段合并可以显著提升性能。
      • 低延迟要求的网络:对于延迟敏感的应用,启用 RSC 可以减少包的处理时间,优化整体网络延迟。
      • 减少 CPU 负担:当网络适配器收到大量小包时,启用 RSC 可以将多个小包合并为一个大包,从而减少 CPU 频繁处理中断,提高处理效率。
      • 服务器和数据中心:在服务器或数据中心中,启用 RSC 有助于处理大规模并发网络请求,尤其是高带宽要求的应用,如数据库访问、云服务等。

通过启用接收段合并功能,可以提升网络适配器的效率,降低处理多个小数据包的开销,特别适合高负载或带宽要求高的环境。


7. 非SACK客户端 RTT恢复 (NonsackRTTResiliency)

解释
此设置影响TCP在没有选择确认(SACK)时的RTT恢复过程。

相关命令示例

powershellCopy Code
# 启用非SACK RTT恢复
netsh interface tcp set global nonsackrttresiliency=enabled

# 禁用非SACK RTT恢复
netsh interface tcp set global nonsackrttresiliency=disabled

netsh interface tcp set global nonsackrttresiliency=enabled 命令的详细描述、示例、应用场景以及表格化内容:

命令 描述 示例 应用场景
netsh interface tcp set global nonsackrttresiliency=enabled 此命令启用 TCP 的非 SACK RTT(Round Trip Time)弹性特性。当启用时,它可以改善在某些网络条件下,尤其是在网络出现丢包或延迟时,TCP 的响应时间和连接稳定性。 netsh interface tcp set global nonsackrttresiliency=enabled 用于改善网络丢包或延迟高的环境下的 TCP 连接性能,增强 TCP 对于 RTT 变化的适应性。

详细说明

  • 命令netsh interface tcp set global nonsackrttresiliency=enabled
    • 描述:该命令启用 TCP 非 SACK RTT 弹性 特性。SACK(Selective Acknowledgment)是 TCP 协议中的一个功能,用于在数据包丢失的情况下提供更好的恢复能力。nonsackrttresiliency 是一个优化特性,当网络出现丢包或延迟时,它增强了 TCP 在 RTT(往返时间)变化下的适应能力,从而提升连接的稳定性和响应速度。

    • 示例

      powershellCopy Code
      netsh interface tcp set global nonsackrttresiliency=enabled

      这个命令会启用 TCP 协议中的非 SACK RTT 弹性优化,帮助改善网络环境不稳定时的连接表现。

    • 应用场景

      • 高延迟网络环境:在存在高延迟的网络环境中(如卫星互联网、长途连接等),启用此特性可以提升 TCP 连接的稳定性和性能。
      • 网络丢包和拥塞:在网络质量较差、丢包或网络拥塞较为常见的场合,启用该功能有助于提高 TCP 性能,尤其是在丢包频繁的情况下,减少传输延迟。
      • 优化远程连接:对于远程访问或者跨地区、跨国的网络连接,启用此特性可以提高连接的响应速度,并减轻丢包或延迟对连接质量的影响。
      • 移动网络环境:在移动网络环境下,网络波动和丢包较为常见,启用 nonsackrttresiliency 可以使得 TCP 更好地适应变化的网络状况,改善用户体验。

启用 nonsackrttresiliency 特性是针对那些面临网络不稳定、丢包或者延迟较高的环境,优化 TCP 连接的一个有效手段。


8. SYN重试次数 (MaxSYNRetransmissions)

解释
此设置控制SYN包的最大重试次数,如果重试超过该次数,则连接会失败。

相关命令示例

powershellCopy Code
# 设置SYN重试次数为5次
netsh interface tcp set global maxsynretransmissions=5

netsh interface tcp set global maxsynretransmissions 命令的详细描述、示例、应用场景以及表格化内容:

命令 描述 示例 应用场景
netsh interface tcp set global maxsynretransmissions 此命令用于设置在 TCP 连接过程中,最大允许的 SYN 重传次数。SYN 重传是 TCP 连接建立过程中的一个环节,如果初始的连接请求(SYN)没有收到确认(ACK),TCP 会尝试重新发送 SYN 请求,直到达到最大重传次数。 netsh interface tcp set global maxsynretransmissions=5 用于控制 TCP 连接的建立过程中的 SYN 重传次数,帮助避免过多的重试导致连接延迟。适用于网络延迟较高或连接不稳定的环境。

详细说明

  • 命令netsh interface tcp set global maxsynretransmissions
    • 描述:该命令允许你设置 TCP 连接过程中 SYN 包的最大重传次数。SYN 包用于建立 TCP 连接。当一个客户端向服务器发送连接请求(SYN 包)时,如果没有收到服务器的确认(ACK 包),则会重新发送 SYN 包。如果达到设置的最大重传次数,连接尝试将被放弃。默认值通常为 3 次,通过此命令可以增加或减少最大重传次数。

    • 示例

      powershellCopy Code
      netsh interface tcp set global maxsynretransmissions=5

      该命令将 TCP SYN 包的最大重传次数设置为 5 次,表示在建立连接时,如果没有收到确认(ACK),最多会重试 5 次。

    • 应用场景

      • 网络不稳定或延迟较高的环境:在存在网络延迟或丢包的情况下,适当增加最大 SYN 重传次数可以提高 TCP 连接成功的概率,尤其是在网络不稳定时。
      • 远程连接和跨地域连接:跨地区或者远程连接时,网络丢包或延迟可能导致 SYN 包未及时到达接收端,增加重传次数可以有效避免连接过早失败。
      • 大规模网络环境:在大型数据中心或者企业网络中,设置合适的重传次数可以优化大量连接的建立过程,减少因网络问题而频繁断开的情况。
      • 动态网络环境:在无线或移动网络环境中,由于网络条件变化较大,增加重传次数有助于提高 TCP 连接的稳定性,减少中断。

设置 maxsynretransmissions 的目的是通过增加最大重传次数来减少因网络问题导致的连接失败,但过高的设置可能会导致连接建立的延迟增加,因此需要根据实际网络环境进行调整。


9. TCP快速打开 (FastOpen)

解释
TCP快速打开允许客户端在建立连接时发送数据,从而减少建立连接的延迟。

相关命令示例

powershellCopy Code
# 启用TCP快速打开
netsh interface tcp set global fastopen=enabled

# 禁用TCP快速打开
netsh interface tcp set global fastopen=disabled

netsh interface tcp set global fastopen=enabled 命令的详细描述、示例、应用场景以及表格化内容:

命令 描述 示例 应用场景
netsh interface tcp set global fastopen=enabled 此命令用于启用 TCP 快速打开(TCP Fast Open,TFO)功能。TCP Fast Open 允许客户端在连接建立之前发送数据,从而减少连接延迟,提高数据传输效率。 netsh interface tcp set global fastopen=enabled 适用于低延迟应用和需要频繁建立连接的场景,如即时消息应用、在线游戏或 HTTP 请求等。

详细说明

  • 命令netsh interface tcp set global fastopen=enabled
    • 描述:TCP 快速打开(TCP Fast Open,TFO)是 TCP 协议的扩展,允许在客户端与服务器之间建立连接时,客户端可以在发送 SYN 包时携带数据(例如 HTTP 请求数据)。服务器在收到 SYN 包时可以立即开始处理数据,而不必等待完整的三次握手过程完成。这种方式可以显著减少连接的延迟,尤其适用于那些需要快速响应的应用。

    • 示例

      powershellCopy Code
      netsh interface tcp set global fastopen=enabled

      该命令启用 TCP Fast Open 功能,使得 TCP 连接在三次握手时可以携带数据,减少连接建立的延迟。

    • 应用场景

      • 低延迟应用:如在线游戏、即时通讯(IM)应用,这些场景对连接建立的延迟要求极高,启用 TCP Fast Open 可以显著减少连接延迟。
      • 频繁建立连接的服务:例如 Web 服务,尤其是 HTTP 请求频繁的情况下,启用 TFO 可以减少每次连接建立时的延迟,从而提高整体性能。
      • HTTP/2 或类似协议:现代 Web 协议(如 HTTP/2)对延迟非常敏感,启用 TCP Fast Open 可以使得请求/响应过程更高效,减少用户等待时间。
      • 跨地域通信:在跨区域的网络环境中,连接建立的时间可能受到较大影响,使用 TCP Fast Open 可以减少建立连接时的延迟。

注意事项

  • 该功能要求客户端和服务器都支持 TCP Fast Open。若一方不支持此功能,则不会生效。
  • 启用 TFO 后,可能会增加一些安全性上的考虑,因为它允许在握手过程中就发送数据,可能暴露一定的信息给攻击者。

启用 TCP Fast Open 主要目的是优化网络延迟,特别是在高频次连接的场景中,可以显著提升用户体验和网络效率。


10. TCP快速打开回退 (FastOpenFallback)

解释
当服务器不支持TCP快速打开时,客户端回退到传统的三次握手。

相关命令示例

powershellCopy Code
# 启用快速打开回退
netsh interface tcp set global fastopenfallback=enabled

# 禁用快速打开回退
netsh interface tcp set global fastopenfallback=disabled

netsh interface tcp set global fastopenfallback=enabled 命令的详细描述、示例、应用场景以及表格化内容:

命令 描述 示例 应用场景
netsh interface tcp set global fastopenfallback=enabled 此命令用于启用 TCP 快速打开回退机制(TCP Fast Open Fallback)。当启用此选项时,如果客户端或服务器不支持 TCP Fast Open,系统将回退到传统的 TCP 连接建立方式。这确保在不支持 TCP Fast Open 的情况下,连接仍然能够正常建立。 netsh interface tcp set global fastopenfallback=enabled 适用于需要启用 TCP 快速打开但又要兼容不支持 TFO 的设备或服务器的场景。

详细说明

  • 命令netsh interface tcp set global fastopenfallback=enabled
    • 描述:TCP 快速打开回退机制(TCP Fast Open Fallback)是一个附加的功能,用于确保在启用 TCP Fast Open(TFO)时,如果某些客户端或服务器不支持该功能,系统可以自动回退到传统的 TCP 连接建立方式。启用此选项可以保证即使在网络环境中某些节点不支持 TFO,连接仍然可以正常建立,并且不会因缺乏支持而导致连接失败。

    • 示例

      powershellCopy Code
      netsh interface tcp set global fastopenfallback=enabled

      该命令启用 TCP Fast Open 回退机制。当启用此功能时,客户端和服务器之间的连接仍然可以使用传统的三次握手过程进行建立,而不使用 TCP Fast Open。

    • 应用场景

      • 兼容性要求:在多种设备和服务器环境中,需要启用 TCP Fast Open 的同时,又要确保即使部分设备或服务器不支持 TFO,连接也能正常建立。在这种场景下,启用 TCP Fast Open 回退机制可以提升兼容性。
      • 混合网络环境:例如在一些老旧系统和新系统并存的网络环境中,启用回退机制可以确保连接不会因协议不兼容而失败。
      • 性能和稳定性的平衡:启用 TCP Fast Open 时,可能遇到一些设备不支持此功能,而启用回退机制确保这些设备仍然能够正常连接而不影响整体稳定性。

注意事项

  • 启用回退机制可能会使得在某些情况下无法充分利用 TCP Fast Open 的性能提升,因此在确保所有设备都支持 TFO 的情况下,可能不需要启用此选项。
  • 启用此功能可以提高兼容性,但会使得在不支持 TFO 的情况下回退到传统的连接建立方式,可能会导致一定的性能损失。

启用 TCP Fast Open 回退机制能够提升网络连接的兼容性,尤其是在混合网络环境中,同时保证连接能够顺利建立,即使某些设备或服务器不支持 TCP Fast Open。


11. 慢启动算法 (HyStart)

解释
HyStart是一种TCP慢启动算法,旨在减少连接开始时的丢包风险,并加速网络初始化过程。

相关命令示例

powershellCopy Code
# 启用HyStart算法
netsh interface tcp set global hystart=enabled

# 禁用HyStart算法
netsh interface tcp set global hystart=disabled

netsh interface tcp set global hystart=enabled 命令的详细描述、示例、应用场景以及表格化内容:

命令 描述 示例 应用场景
netsh interface tcp set global hystart=enabled 此命令用于启用 TCP 慢启动的高阶模式(TCP HyStart)。HyStart 是一种增强型的 TCP 慢启动机制,旨在通过动态调整拥塞窗口大小,以提高网络连接的吞吐量并减少网络延迟。启用此功能时,TCP 协议将根据网络的实际情况更加智能地调整连接的初始拥塞窗口,从而实现更快的传输速率并减少网络拥堵。 netsh interface tcp set global hystart=enabled 适用于需要提高 TCP 连接性能、减少延迟并提高吞吐量的网络环境,尤其是在高延迟或带宽变化较大的环境中。

详细说明

  • 命令netsh interface tcp set global hystart=enabled
    • 描述:HyStart(高阶 TCP 慢启动)是 TCP 协议的一个增强功能,旨在通过智能调整 TCP 连接的慢启动阶段,使得在网络条件较差时仍能实现更快的传输。启用该功能后,TCP 慢启动的初始拥塞窗口将更灵活地进行调整,避免了传统慢启动过程中可能出现的过度拥塞和网络延迟问题。

    • 示例

      powershellCopy Code
      netsh interface tcp set global hystart=enabled

      该命令启用 TCP HyStart 功能,允许系统在 TCP 连接的初期阶段智能地调整拥塞窗口,从而提高网络的传输效率和减少延迟。

    • 应用场景

      • 高延迟网络:在高延迟的网络环境中,传统的慢启动可能会导致连接初期表现不佳,启用 HyStart 能够提高初期传输性能。
      • 带宽不稳定的环境:在网络带宽频繁波动的环境中,HyStart 通过动态调整拥塞窗口,避免了传统慢启动可能导致的过度拥塞和性能瓶颈。
      • 高性能需求的应用:例如在实时通信、视频流传输、大规模数据传输等对延迟敏感的应用中,启用 HyStart 可以显著提高网络传输性能和响应速度。
      • TCP 性能优化:需要优化 TCP 连接性能,尤其是在高延迟、带宽变化较大的环境下,启用 HyStart 能够有效提高吞吐量并减少延迟。

注意事项

  • 启用 HyStart 可能需要较新的操作系统和网络设备的支持,确保目标系统能够正确实现该功能。
  • 在某些网络环境中,启用该功能可能导致不稳定或意外的网络行为,建议进行测试后再全面部署。

 

启用 TCP HyStart 功能可以提升网络连接的性能,尤其是在高延迟或带宽不稳定的环境中。通过智能调整慢启动阶段的拥塞窗口,可以减少延迟并提高吞吐量,优化 TCP 连接的表现,适用于对网络性能要求较高的场景。


12. 比例费率降低算法 (PRR, Proportional Rate Reduction)

解释
PRR是一种TCP拥塞控制算法,用于减少数据发送速率,避免过快地减速导致网络波动。

相关命令示例

powershellCopy Code
# 启用PRR
netsh interface tcp set global prr=enabled

# 禁用PRR
netsh interface tcp set global prr=disabled

netsh interface tcp set global prr=enabled 命令的详细描述、示例、应用场景以及表格化内容:

命令 描述 示例 应用场景
netsh interface tcp set global prr=enabled 此命令用于启用 TCP 拥塞控制的 PRR(Paced Recovery Retransmission)机制。PRR 旨在改进传统的 TCP 重传机制,避免在丢包时通过快速重传导致网络中出现突发的拥塞。启用 PRR 后,TCP 将通过平滑的速率控制重传数据,从而更有效地使用网络带宽并减少网络抖动。 netsh interface tcp set global prr=enabled 适用于需要优化 TCP 重传性能、减少丢包带来的网络性能波动,特别是在高丢包率或不稳定网络环境下。

详细说明

  • 命令netsh interface tcp set global prr=enabled
    • 描述:PRR(Paced Recovery Retransmission)是一个 TCP 拥塞控制机制,旨在通过平滑的速率控制重传数据,避免在网络中发生拥塞。它通过减少快速重传的数量并平滑丢包重传过程,改善了网络的稳定性和传输效率。启用此功能后,TCP 会在丢包时使用 PRR 策略,从而减少拥塞窗口剧烈波动,提供更稳定的传输性能。

    • 示例

      powershellCopy Code
      netsh interface tcp set global prr=enabled

      启用 TCP PRR 功能,这使得在丢包时,TCP 会使用平滑的速率控制进行数据重传,以减少网络中的突发拥塞现象。

    • 应用场景

      • 高丢包率网络:在丢包率较高的网络环境中,启用 PRR 能够减少由于快速重传而导致的网络性能剧烈波动,提供更平稳的数据传输。
      • 不稳定的无线网络:无线网络通常面临较高的丢包率和延迟波动,启用 PRR 能够平滑传输,避免网络中的拥塞。
      • 实时应用:实时语音、视频通话和流媒体应用通常对延迟敏感。启用 PRR 可减少丢包带来的影响,从而提高网络稳定性,改善应用体验。
      • 拥塞控制优化:对需要优化 TCP 拥塞控制的应用,特别是当网络条件变化较大时,启用 PRR 可以帮助提高传输效率并减少性能波动。

注意事项

  • PRR 功能的效果会受到网络环境、丢包率和带宽的影响,最好在多种网络条件下进行测试,确保它能在特定场景下发挥作用。
  • 启用 PRR 后,可能会与其他拥塞控制机制产生交互作用,因此需要确保与其他优化措施兼容。

 

启用 TCP PRR 可以显著改善丢包率较高或不稳定网络环境中的性能,避免快速重传带来的网络拥塞,提供更平滑的数据传输,适用于对网络稳定性和性能要求较高的应用,如实时通信和流媒体服务等。


13. 节奏控制 (PacingProfile)

解释
节奏控制用于控制发送数据的速率,防止发送数据过于集中导致网络拥塞。

相关命令示例

powershellCopy Code
# 查看节奏控制配置
netsh interface tcp show global

# 设置节奏控制配置
netsh interface tcp set global pacingprofile=enabled

netsh interface tcp show global 命令的详细描述、示例、应用场景以及表格化内容:

命令 描述 示例 应用场景
netsh interface tcp show global 此命令用于显示当前计算机的全局 TCP 设置。它会列出与 TCP 连接和性能相关的全局配置参数,如最大连接数、延迟等。使用该命令可以查看 TCP 设置的状态和当前配置。 netsh interface tcp show global 用于排查 TCP 配置问题、优化网络性能、了解当前系统的 TCP 设置、诊断 TCP 连接问题等场景。

详细说明

  • 命令netsh interface tcp show global
    • 描述:此命令用于查询计算机上 TCP 配置的全局设置,输出的信息包括当前 TCP 设置的各种参数。可以查看与 TCP 拥塞控制、最大连接数、连接超时、延迟优化等相关的全局配置。通过此命令,用户可以清晰了解当前系统的 TCP 配置,并根据需要调整优化网络性能。

    • 示例

      powershellCopy Code
      netsh interface tcp show global

      执行该命令后,系统将显示当前的全局 TCP 设置,例如是否启用了 TCP 延迟确认、TCP 拥塞控制算法、最大连接数等。

    • 应用场景

      • 诊断 TCP 连接问题:当出现网络连接问题时,可以使用此命令查看当前的 TCP 设置,检查是否存在配置不当导致的问题。
      • 优化网络性能:通过查看当前的 TCP 设置,网络管理员可以评估是否需要调整某些参数,以提高网络性能和稳定性。
      • 排查延迟或丢包问题:如果出现延迟或丢包问题,使用此命令可以帮助查看 TCP 延迟确认、拥塞控制等参数设置,便于发现问题并调整优化。
      • 调整 TCP 配置:对于需要根据特定应用场景调整 TCP 配置的情况,可以通过该命令检查当前设置,并决定是否需要进行修改。
      • 了解系统的 TCP 状态:当需要对系统的网络行为进行详细了解时,此命令能够帮助获取关于 TCP 全局设置的信息。

注意事项

  • 此命令仅显示当前系统的 TCP 全局设置,不会修改任何配置。
  • 输出的信息较多,可能需要结合其他网络诊断工具一起使用,才能更有效地排查和优化网络问题。
  • 如果需要对 TCP 设置进行修改,可以结合其他命令,如 netsh interface tcp set global

SnowShot_2026-02-20_02-04-50

netsh interface tcp show global 命令是一个非常有用的网络诊断工具,可以帮助用户查看当前系统的 TCP 配置。通过查看这些全局设置,用户可以诊断和优化 TCP 性能,特别是在出现网络问题时。


这些命令主要通过netshSet-NetAdapterAdvancedProperty来调整网络优化参数,适用于Windows Server环境,可以帮助提升网络性能,尤其是在高负载或高延迟的网络环境中。

  • 表格按照功能分类将每个参数细分,并提供了对应的可选值与具体说明。
  • 示例中的命令可以直接用于配置每个功能,帮助用户实现 TCP/IP 网络的优化。

netsh interface tcp set global 命令支持的 TCP 参数分类表格,并附带了相应的示例。每个参数都增加了实际使用命令的示例,以帮助您理解如何应用这些设置。

TCP 参数表格与示例

功能类别 参数名称 可选值及说明 示例命令
接收方缩放 (RSS) rss disabled:禁用接收方缩放。enabled:启用接收方缩放。default:恢复为系统默认值。 netsh interface tcp set global rss=enabled
接收窗口调整 autotuninglevel disabled:接收窗口固定为默认值。highlyrestricted:接收窗口可增大至适当范围内。restricted:接收窗口可增大,但某些方案下限制。normal:接收窗口可增大,适应几乎所有方案。experimental:接收窗口可增大,适应特殊方案。 netsh interface tcp set global autotuninglevel=normal
ECN功能 ecncapability disabled:禁用ECN。enabled:启用ECN。default:恢复为系统默认值。 netsh interface tcp set global ecncapability=enabled
时间戳 timestamps disabled:禁用时间戳。enabled:启用时间戳。allowed:仅对等方协商时启用。默认值。 netsh interface tcp set global timestamps=enabled
初始RTO initialrto 设置重新传输超时时间,单位为毫秒。默认值:3000。 netsh interface tcp set global initialrto=2500
接收段合并 (RSC) rsc disabled:禁用接收段合并。enabled:启用接收段合并。default:恢复为系统默认值。 netsh interface tcp set global rsc=enabled
非SACK RTT复原 nonsackrttresiliency disabled:禁用非SACK RTT复原。enabled:启用非SACK RTT复原。default:默认禁用。 netsh interface tcp set global nonsackrttresiliency=enabled
最大SYN重传次数 maxsynretransmissions 设置SYN重传的最大次数。默认值:2。 netsh interface tcp set global maxsynretransmissions=5
TCP快速打开 fastopen disabled:禁用TCP快速打开。enabled:启用TCP快速打开。default:恢复为系统默认值。 netsh interface tcp set global fastopen=enabled
快速打开回退 fastopenfallback disabled:禁用快速打开回退。enabled:启用快速打开回退。default:恢复为系统默认值。 netsh interface tcp set global fastopenfallback=enabled
HyStart慢启动 hystart disabled:禁用HyStart慢启动算法。enabled:启用HyStart慢启动算法。default:恢复为系统默认值。 netsh interface tcp set global hystart=enabled
比例费率降低 (PRR) prr disabled:禁用比例费率降低算法。enabled:启用比例费率降低算法。default:恢复为系统默认值。 netsh interface tcp set global prr=enabled
节奏配置 pacingprofile off:从不启用节奏。initialwindow:仅在初始拥塞窗口启用节奏。slowstart:仅在慢启动期间启用节奏。always:始终启用节奏。default:默认禁用。 netsh interface tcp set global pacingprofile=always

具体示例解析

  1. 启用接收方缩放 (RSS)

    shellCopy Code
    netsh interface tcp set global rss=enabled

    这条命令启用接收方缩放功能,以改善多核处理器上的网络性能。

  2. 调整接收窗口自动调节级别

    shellCopy Code
    netsh interface tcp set global autotuninglevel=normal

    这条命令将接收窗口调节级别设置为“normal”,即允许系统根据网络条件自动调整接收窗口的大小。

  3. 启用ECN (显式拥塞通知)

    shellCopy Code
    netsh interface tcp set global ecncapability=enabled

    启用ECN,可以让发送方知道网络上是否发生了拥塞,以便采取适当的调整措施。

  4. 启用TCP快速打开 (TFO)

    shellCopy Code
    netsh interface tcp set global fastopen=enabled

    这条命令启用了TCP快速打开功能,减少了三次握手的延迟,提升了连接建立的速度。

  5. 调整最大SYN重传次数

    shellCopy Code
    netsh interface tcp set global maxsynretransmissions=5

    将最大SYN重传次数设置为5次,若连接无法成功建立,则会进行更多次的重试。

这些示例命令可以根据具体的网络环境和需求进行调整和优化。

 

netsh interface tcp set global 命令的更详细的改进,包括更多示例和每个命令的具体用途说明。

改进后的功能分类和示例命令

功能分类 命令参数 描述 示例命令
TCP 窗口管理 autotuninglevel 控制自动调整 TCP 接收窗口的行为。可以设置为:disabledhighlyrestrictedrestrictednormalexperimental 启用自动调整接收窗口: netsh interface tcp set global autotuninglevel=normal
  chimney 控制 TCP 窗口的加速功能,启用或禁用 TCP 窗口加速。可以设置为:enableddisabled 启用 TCP 窗口加速: netsh interface tcp set global chimney=enabled
SACK(选择性确认) enablesecurityretrysack 启用或禁用选择性确认(SACK)。可以设置为:enableddisabled 启用 SACK: netsh interface tcp set global enablesecurityretrysack=enabled
TCP 时间戳 timestamps 控制 TCP 时间戳选项是否启用。可以设置为:enableddisabled 启用 TCP 时间戳: netsh interface tcp set global timestamps=enabled
TCP 自动重传 ackfilter 启用或禁用 ACK 滤波器,影响 TCP 自动重传。可以设置为:enableddisabled 禁用 ACK 滤波器: netsh interface tcp set global ackfilter=disabled
TCP 最大连接数 maxsynretries 设置最大 SYN 重试次数,控制 TCP 三次握手中的 SYN 重试次数。默认值为 5。 设置最大 SYN 重试次数为 3: netsh interface tcp set global maxsynretries=3
ECN(显式拥塞通知) ecncapability 启用或禁用显式拥塞通知(ECN)。可以设置为:enableddisabled 禁用 ECN: netsh interface tcp set global ecncapability=disabled
TCP 动态调整 delayedack 启用或禁用 TCP 延迟确认。可以设置为:enableddisabled 启用延迟确认: netsh interface tcp set global delayedack=enabled
TCP 拥塞控制 congestionprovider 设置拥塞控制算法。可以选择不同的拥塞控制提供者,如 ctcp(Cubic)、reno(传统的 Reno)、dctcp 等。 使用 Ctcp 拥塞控制算法: netsh interface tcp set global congestionprovider=ctcp

示例命令和应用场景

  1. 启用自动调整接收窗口

    • 这是 TCP 的一个优化选项,启用后会根据网络条件动态调整接收窗口的大小,从而提高网络吞吐量。
    bashCopy Code
    netsh interface tcp set global autotuninglevel=normal
  2. 启用 TCP 窗口加速

    • 启用 TCP 窗口加速可以提高连接的吞吐量,尤其是在高延迟网络环境下。
    bashCopy Code
    netsh interface tcp set global chimney=enabled
  3. 启用 SACK(选择性确认)

    • SACK 选项允许接收方告知发送方哪些数据已经成功接收,从而提高数据传输效率。
    bashCopy Code
    netsh interface tcp set global enablesecurityretrysack=enabled
  4. 启用 TCP 时间戳

    • 时间戳可以帮助检测和调优网络延迟,特别是在高延迟网络环境下非常有用。
    bashCopy Code
    netsh interface tcp set global timestamps=enabled
  5. 禁用 ACK 滤波器

    • 禁用 ACK 滤波器可能有助于降低 TCP 拥塞控制的复杂性,但在某些环境下可能会影响性能。
    bashCopy Code
    netsh interface tcp set global ackfilter=disabled
  6. 设置最大 SYN 重试次数为 3

    • 通过设置较低的 SYN 重试次数,可以减少连接建立时的延迟。
    bashCopy Code
    netsh interface tcp set global maxsynretries=3
  7. 禁用 ECN(显式拥塞通知)

    • 禁用 ECN 可以避免某些网络环境下的负面影响,例如当防火墙或其他中间设备无法正确处理 ECN 时。
    bashCopy Code
    netsh interface tcp set global ecncapability=disabled
  8. 启用延迟确认(Delayed ACK)

    • 延迟确认可以减少发送方和接收方之间的 ACK 包数量,从而提升网络吞吐量。
    bashCopy Code
    netsh interface tcp set global delayedack=enabled
  9. 使用 Ctcp 拥塞控制算法

    • Ctcp(Compound TCP)是微软为高带宽-高延迟网络设计的一种拥塞控制算法,比传统的 Reno 算法更能提高吞吐量。
    bashCopy Code
    netsh interface tcp set global congestionprovider=ctcp

 

通过使用 netsh interface tcp set global 命令,你可以根据网络环境的不同需求,调整系统的 TCP 参数。常见的调整包括启用或禁用自动窗口调整、选择性确认、TCP 时间戳、TCP 窗口加速等。根据具体的网络状况和应用需求,合理的配置可以显著提升网络性能和稳定性。

netsh interface tcp set global 是用于配置 Windows TCP/IP 堆栈的命令,可以通过它来调整系统的 TCP 参数。以下是按功能分类的 netsh interface tcp set global 命令的一些常见参数,并以表格形式呈现:

功能分类 命令参数 描述
TCP 窗口管理 autotuninglevel 控制自动调整 TCP 接收窗口的行为。可以设置为:disabledhighlyrestrictedrestrictednormalexperimental
  chimney 控制 TCP 窗口的加速功能,启用或禁用 TCP 窗口加速。可以设置为:enableddisabled
SACK(选择性确认) enablesecurityretrysack 启用或禁用选择性确认(SACK)。可以设置为:enableddisabled
TCP 时间戳 timestamps 控制 TCP 时间戳选项是否启用。可以设置为:enableddisabled
TCP 自动重传 ackfilter 启用或禁用 ACK 滤波器,影响 TCP 自动重传。可以设置为:enableddisabled
TCP 最大连接数 maxsynretries 设置最大 SYN 重试次数,控制 TCP 三次握手中的 SYN 重试次数。默认值为 5。
ECN(显式拥塞通知) ecncapability 启用或禁用显式拥塞通知(ECN)。可以设置为:enableddisabled
TCP 动态调整 delayedack 启用或禁用 TCP 延迟确认。可以设置为:enableddisabled
TCP 拥塞控制 congestionprovider 设置拥塞控制算法,可以选择不同的拥塞控制提供者,如 ctcpreno 或 cubic 等。

示例命令:

  1. 启用自动调整接收窗口

    bashCopy Code
    netsh interface tcp set global autotuninglevel=normal
  2. 启用 TCP 时间戳

    bashCopy Code
    netsh interface tcp set global timestamps=enabled
  3. 设置最大 SYN 重试次数为 3

    bashCopy Code
    netsh interface tcp set global maxsynretries=3
  4. 禁用 ECN

    bashCopy Code
    netsh interface tcp set global ecncapability=disabled
  5. 启用延迟确认

    bashCopy Code
    netsh interface tcp set global delayedack=enabled

说明:

  • netsh interface tcp set global 命令通常用于调整 TCP 协议栈的行为,以提高网络连接的性能和稳定性。
  • 具体的参数和选项可以根据网络环境和需求来调整。

netsh interface tcp set global 命令按功能分类的表格:

功能分类 命令参数 描述 示例命令
TCP 窗口管理 autotuninglevel 控制自动调整 TCP 接收窗口的行为。可以设置为:disabledhighlyrestrictedrestrictednormalexperimental 启用自动调整接收窗口: netsh interface tcp set global autotuninglevel=normal
  chimney 控制 TCP 窗口的加速功能,启用或禁用 TCP 窗口加速。可以设置为:enableddisabled 启用 TCP 窗口加速: netsh interface tcp set global chimney=enabled
SACK(选择性确认) enablesecurityretrysack 启用或禁用选择性确认(SACK)。可以设置为:enableddisabled 启用 SACK: netsh interface tcp set global enablesecurityretrysack=enabled
TCP 时间戳 timestamps 控制 TCP 时间戳选项是否启用。可以设置为:enableddisabled 启用 TCP 时间戳: netsh interface tcp set global timestamps=enabled
TCP 自动重传 ackfilter 启用或禁用 ACK 滤波器,影响 TCP 自动重传。可以设置为:enableddisabled 禁用 ACK 滤波器: netsh interface tcp set global ackfilter=disabled
TCP 最大连接数 maxsynretries 设置最大 SYN 重试次数,控制 TCP 三次握手中的 SYN 重试次数。默认值为 5。 设置最大 SYN 重试次数为 3: netsh interface tcp set global maxsynretries=3
ECN(显式拥塞通知) ecncapability 启用或禁用显式拥塞通知(ECN)。可以设置为:enableddisabled 禁用 ECN: netsh interface tcp set global ecncapability=disabled
TCP 动态调整 delayedack 启用或禁用 TCP 延迟确认。可以设置为:enableddisabled 启用延迟确认: netsh interface tcp set global delayedack=enabled
TCP 拥塞控制 congestionprovider 设置拥塞控制算法。可以选择不同的拥塞控制提供者,如 ctcp(Cubic)、reno(传统的 Reno)、dctcp 等。 使用 Ctcp 拥塞控制算法: netsh interface tcp set global congestionprovider=ctcp

这张表格展示了 netsh interface tcp set global 命令按功能分类的常见选项。根据你的具体需求,你可以调整不同的网络参数来优化 TCP 连接性能。

netsh interface tcp set global 命令的功能可以分为以下几个主要分类:

  1. 性能优化

    • 调整 TCP 接收窗口大小 (autotuninglevel 参数)。
    • 启用或禁用 TCP 时间戳选项 (timestamps 参数)。
    • 控制是否启用网络直接内存访问 (NetDMA) (netdma 参数)。
  2. 拥塞控制

    • 指定 TCP 拥塞控制算法 (congestionprovider 参数)。
  3. 网络安全

    • 启用或禁用 TCP ECN (Explicit Congestion Notification) 支持 (ecncapability 参数)。

这些功能分类涵盖了 netsh interface tcp set global 命令可用的主要参数,可以根据网络环境和需求进行调整以优化性能、提高安全性和管理拥塞控制。

netsh interface tcp set global 命令用于设置 TCP 协议的全局参数。这些参数可以影响 TCP 连接的行为和性能。以下是一些常见参数及其作用:

  • autotuninglevel: 控制 Windows 是否可以自动调整 TCP 接收窗口大小。可选值包括 disabledhighlyrestrictedrestrictednormal, 和 experimental
  • ecncapability: 启用或禁用 TCP ECN (Explicit Congestion Notification) 支持。可选值为 enabled 或 disabled
  • timestamps: 启用或禁用 TCP 时间戳选项。可选值为 enabled 或 disabled
  • netdma: 控制是否启用网络直接内存访问 (NetDMA)。可选值为 enabled 或 disabled
  • congestionprovider: 指定 TCP 拥塞控制算法。可选值包括 defaultctcpdctcpcubicledbatnewrenowestwoodvenoscalablehtcphyblaillinoislpoliayeahbicrenohighspeedhyblabicvegasveno, 和 westwood

例如,要禁用 TCP 时间戳选项,可以使用以下命令:

Copy Code
netsh interface tcp set global timestamps=disabled

这会禁用 TCP 时间戳选项,从而在 TCP 头部中不包含时间戳信息。

演示如何使用 netsh interface tcp set global 命令来设置 TCP 全局参数:

  1. 禁用 TCP 时间戳选项

    Copy Code
    netsh interface tcp set global timestamps=disabled
  2. 启用 TCP ECN 支持

    Copy Code
    netsh interface tcp set global ecncapability=enabled
  3. 调整 TCP 接收窗口大小

    Copy Code
    netsh interface tcp set global autotuninglevel=normal

netsh interface tcp set global autotuninglevel 命令用于配置 TCP 自动调整窗口大小的级别。这个设置影响操作系统在网络连接中动态调整接收窗口大小的方式,从而优化网络吞吐量和性能。

以下是按功能分类整理的 netsh interface tcp set global autotuninglevel 命令的常见选项及其描述:

功能分类 命令参数 描述 示例命令
关闭自动调节 disabled 禁用自动调整接收窗口大小,使用固定的窗口大小。 禁用自动调整: netsh interface tcp set global autotuninglevel=disabled
启用最小自动调节 highlyrestricted 启用最小的自动调整窗口大小,适用于非常低带宽的连接。 启用最小自动调节: netsh interface tcp set global autotuninglevel=highlyrestricted
启用有限自动调节 restricted 启用受限的自动调整,适用于中等带宽的网络。 启用受限自动调节: netsh interface tcp set global autotuninglevel=restricted
启用最大自动调节 normal 启用常规的自动调整接收窗口大小,适用于大多数常见的网络环境。 启用常规自动调节: netsh interface tcp set global autotuninglevel=normal
启用最大自动调节(最优) experimental 启用最大自动调整接收窗口大小,适用于带宽较大且延迟较低的网络环境(实验性设置)。 启用最大自动调节: netsh interface tcp set global autotuninglevel=experimental

备注:

  • 自动调整窗口:TCP 自动调整窗口大小可以动态优化接收缓冲区大小,以提高数据传输的效率。当网络带宽增加时,系统会自动增大接收窗口以容纳更多的数据,反之亦然。
  • 级别的选择:选择适当的自动调整级别可以优化不同网络环境中的性能。一般来说,normal 是大多数用户的最佳选择,但在一些特定网络环境下,restricted 或 experimental 可能会带来更好的效果。

通过配置这些不同的自动调整级别,用户可以根据网络状况调节系统的网络性能,以获得最佳的传输速度和响应时间。

  1. 启用网络直接内存访问 (NetDMA)

    Copy Code
    netsh interface tcp set global netdma=enabled

netsh interface tcp set global netdma 命令用于启用或禁用网络直接内存访问(NetDMA)功能。NetDMA 允许通过直接内存访问技术减少网络处理延迟,优化网络性能,尤其是在高性能服务器和数据中心环境中。

以下是按功能分类整理的 netsh interface tcp set global netdma 命令的常见选项及其描述:

功能分类 命令参数 描述 示例命令
启用 NetDMA netdma 启用或禁用网络直接内存访问(NetDMA)。这可以改善网络数据包的处理效率。 启用 NetDMA: netsh interface tcp set global netdma=enabled
禁用 NetDMA netdma 禁用网络直接内存访问功能。禁用后,网络数据包的处理会回到传统的方式。 禁用 NetDMA: netsh interface tcp set global netdma=disabled

备注:

  • NetDMA(网络直接内存访问) 允许网络适配器直接将数据包写入主内存,而无需通过 CPU 进行中转,这对于减少延迟和提高数据传输速度非常有用。
  • 启用 NetDMA 后,网络接口卡(NIC)会直接访问主内存来处理网络数据包,从而提升性能,尤其是在需要大量网络传输的应用中,如数据中心、虚拟化和高性能计算环境。

通过上述命令,你可以根据需求在系统中启用或禁用 NetDMA,以优化网络性能。

  1. 指定 TCP 拥塞控制算法为 Cubic

    Copy Code
    netsh interface tcp set global congestionprovider=cubic

netsh interface tcp set global congestionprovider 命令用于设置 TCP 拥塞控制算法(Congestion Control Provider)。这个命令允许你选择不同的拥塞控制算法来优化网络性能。以下是按功能分类整理的常见选项及其描述:

功能分类 命令参数 描述 示例命令
拥塞控制算法选择 congestionprovider 设置 TCP 拥塞控制算法。可以选择不同的算法来优化网络的拥塞控制。 设置为 ctcp(Cubic 拥塞控制算法): netsh interface tcp set global congestionprovider=ctcp
Cubic(Ctcp)算法 ctcp 默认的 TCP 拥塞控制算法,适用于高延迟和大带宽网络环境。 启用 Cubic 拥塞控制算法: netsh interface tcp set global congestionprovider=ctcp
Reno 算法 reno 传统的 TCP 拥塞控制算法,适用于稳定网络环境。 启用 Reno 拥塞控制算法: netsh interface tcp set global congestionprovider=reno
BBR 算法 bbr BBR(Bottleneck Bandwidth and RTT)算法,旨在优化网络吞吐量和延迟。 启用 BBR 拥塞控制算法: netsh interface tcp set global congestionprovider=bbr
DCTCP 算法 dctcp DCTCP(Data Center TCP)是优化数据中心网络中拥塞控制的算法。 启用 DCTCP 拥塞控制算法: netsh interface tcp set global congestionprovider=dctcp
Vegas 算法 vegas Vegas 是一种基于延迟的 TCP 拥塞控制算法,适用于低延迟网络。 启用 Vegas 拥塞控制算法: netsh interface tcp set global congestionprovider=vegas

这张表格展示了 netsh interface tcp set global congestionprovider 命令按功能分类的常见选项。你可以根据网络的实际需求选择合适的拥塞控制算法,以提升连接性能。

这些示例演示了如何使用不同的参数来配置 TCP 全局参数,以满足特定的性能、安全性和拥塞控制需求。根据需要,可以将这些示例中的参数值进行修改。

  1. 启用 TCP 自适应接收窗口

    Copy Code
    netsh interface tcp set global autotuninglevel=normal

netsh interface tcp set global autotuninglevel 命令按功能分类整理的表格:

功能分类 命令参数 描述 示例命令
关闭自动调整 disabled 禁用自动调整接收窗口大小,使用固定的窗口大小。 netsh interface tcp set global autotuninglevel=disabled
启用最小自动调整 highlyrestricted 启用最小的自动调整接收窗口大小,适用于非常低带宽的连接。 netsh interface tcp set global autotuninglevel=highlyrestricted
启用受限自动调整 restricted 启用受限的自动调整接收窗口大小,适用于中等带宽的网络。 netsh interface tcp set global autotuninglevel=restricted
启用常规自动调整 normal 启用常规的自动调整接收窗口大小,适用于大多数常见的网络环境。 netsh interface tcp set global autotuninglevel=normal
启用最大自动调整 experimental 启用最大自动调整接收窗口大小,适用于带宽较大且延迟较低的网络环境(实验性设置)。 netsh interface tcp set global autotuninglevel=experimental

解释:

  • disabled:完全禁用自动调整窗口大小,使用固定的窗口大小。
  • highlyrestricted:仅在带宽极低的网络上使用,非常有限的自动调整。
  • restricted:适用于中等带宽的网络,有限的自动调整。
  • normal:默认设置,适用于大多数网络环境。
  • experimental:实验性设置,启用最大窗口大小调整,适用于高带宽、低延迟网络。
  1. 禁用 TCP 连接的延迟 ACK

    Copy Code
    netsh interface tcp set global ackfrequency=disabled

netsh interface tcp set global ackfrequency 命令按功能分类整理的表格:

功能分类 命令参数 描述 示例命令
设置ACK频率 value 设置TCP确认(ACK)报文的发送频率,value为一个整数,指定在多少字节的数据传输后发送一个ACK。 netsh interface tcp set global ackfrequency=1
启用低延迟确认 off 禁用ACK确认延迟,即每传输一定量的数据就立即发送ACK,适用于低延迟传输。 netsh interface tcp set global ackfrequency=off
启用高效确认 on 启用ACK确认的优化,提高高效数据传输,减少过多的ACK报文。 netsh interface tcp set global ackfrequency=on

解释:

  • value:表示确认报文(ACK)发送的频率。value为整数,可以设定为具体的字节数,指定数据传输多少字节后发送一个ACK确认。
  • off:禁用确认报文的发送频率调整,每传输数据都会及时发送ACK,适用于低延迟环境。
  • on:启用确认报文优化,减少不必要的ACK报文发送,提高数据传输效率。

注意: ackfrequency 主要用于调整ACK确认的发送频率,以适应不同网络环境,帮助优化带宽使用和减少不必要的网络开销。

  1. 设置 TCP 初始拥塞窗口大小

    Copy Code
    netsh interface tcp set global initialcongestionwindow=<size>

netsh interface tcp set global initialcongestionwindow 命令按功能分类整理的表格:

功能分类 命令参数 描述 示例命令
设置初始拥塞窗口大小 value 设置TCP连接初始的拥塞窗口大小,value 是一个整数,表示以字节为单位的初始窗口大小。 netsh interface tcp set global initialcongestionwindow=10
默认初始拥塞窗口大小 default 恢复到操作系统的默认初始拥塞窗口大小,通常在操作系统的默认TCP堆栈中定义。 netsh interface tcp set global initialcongestionwindow=default
禁用初始拥塞窗口调整 disabled 禁用初始拥塞窗口大小的动态调整,使其保持固定大小。 netsh interface tcp set global initialcongestionwindow=disabled

解释:

  • value:设置初始拥塞窗口大小的具体字节数。这个值决定了TCP连接开始时,允许发送的数据量。常见的数值包括 10、20、30 等,具体数值依网络状况而定。
  • default:恢复系统默认的初始拥塞窗口大小,通常是操作系统的默认设置。
  • disabled:禁用初始拥塞窗口大小的动态调整,使用固定大小。禁用此功能可能会限制TCP连接在启动时的吞吐量。

注意: 初始拥塞窗口的大小对于TCP连接的启动非常重要,它影响了连接开始时的数据传输速率。通过调整此值,可以优化连接的建立过程,适应不同的网络环境。

  1. 启用 TCP Fast Open

    Copy Code
    netsh interface tcp set global tcpfastopen=enabled

netsh interface tcp set global tcpfastopen 命令按功能分类整理的表格:

功能分类 命令参数 描述 示例命令
启用TCP快速打开 enable 启用TCP快速打开(TCP Fast Open)功能,加速TCP连接的建立过程,减少延迟。 netsh interface tcp set global tcpfastopen=enable
禁用TCP快速打开 disable 禁用TCP快速打开功能,恢复默认的TCP连接建立过程。 netsh interface tcp set global tcpfastopen=disable
查看TCP快速打开状态 query 查询当前系统是否启用了TCP快速打开功能。 netsh interface tcp set global tcpfastopen=query

解释:

  • enable:启用TCP快速打开功能。此功能通过在三次握手过程中提前发送数据来减少延迟,加快连接的建立过程,特别适用于低延迟应用。
  • disable:禁用TCP快速打开功能,恢复传统的TCP连接建立过程,适用于不需要低延迟连接的场景。
  • query:查询TCP快速打开功能的当前状态,返回启用或禁用的状态信息。

注意: TCP快速打开(TFO)是一种优化TCP连接建立的技术,通过在连接建立时就可以传输数据,降低连接延迟,提升应用程序响应速度。启用该功能可以显著减少客户端和服务器之间的连接延迟,特别适合频繁连接的应用程序。

  1. 启用 TCP 重传超时时间估算

    Copy Code
    netsh interface tcp set global tcpretransmissiontime=enabled

这些示例提供了更多的选项,以帮助你配置 TCP 全局参数,以满足特定的网络性能、安全性和可靠性需求。

  1. 启用 TCP 快速回复

    Copy Code
    netsh interface tcp set global tcpquickack=enabled

netsh interface tcp set global tcpquickack 命令用于在 Windows 系统上启用或禁用 TCP 快速确认 (TCP Quick Ack) 功能。该功能用于调整 TCP 协议的 ACK(确认)消息的发送行为,影响网络延迟和吞吐量。以下是该命令按功能分类的详细表格:

功能分类 命令选项 说明
启用 TCP 快速确认 tcpquickack=enabled 启用 TCP 快速确认功能。在此模式下,系统会尽量减少确认包的延迟,有助于减少网络延迟。
禁用 TCP 快速确认 tcpquickack=disabled 禁用 TCP 快速确认功能。系统将按照标准的 TCP 确认机制工作,可能会导致更高的网络延迟,但更符合传统 TCP 处理方式。
全局设置 global 对系统中所有网络接口应用此设置,影响整个系统的 TCP 快速确认行为。
适用场景 网络性能优化 启用快速确认有助于在低延迟网络环境中优化吞吐量和减少延迟,尤其适用于需要高效网络传输的场景。
提高网络响应速度 减少确认延迟 快速确认模式通过减少 ACK 延迟提高响应速度,适合对网络延迟敏感的应用,如实时通信和游戏。
适应性调优 调节 TCP 确认行为 快速确认机制可以根据网络情况动态调整,优化传输效率和延迟,特别是在高带宽和低延迟环境中。
影响传输性能 影响吞吐量和网络延迟 启用 TCP 快速确认可能会提高传输速率,但在一些情况下可能会增加带宽消耗,需根据应用需求调整。

示例命令:

  1. 启用 TCP 快速确认

    powershellCopy Code
    netsh interface tcp set global tcpquickack=enabled
  2. 禁用 TCP 快速确认

    powershellCopy Code
    netsh interface tcp set global tcpquickack=disabled

作用:

  • 提高网络响应速度:通过减少 ACK 延迟,启用快速确认模式能够提高响应速度,适合高性能需求的网络应用。
  • 优化网络性能:在需要低延迟、高吞吐量的网络环境中,快速确认可以带来更好的性能表现,尤其在高带宽网络中。
  • 适用于实时应用:如 VoIP(语音通信)、视频会议、在线游戏等,快速确认能够减少延迟,提升用户体验。
  1. 设置 TCP 最大连接数

    Copy Code
    netsh interface tcp set global maxconnections=<number>
  2. 设置 TCP 最大段大小

    Copy Code
    netsh interface tcp set global mss=<size>
  3. 设置 TCP 最大窗口大小

    Copy Code
    netsh interface tcp set global maxwindow=<size>
  4. 启用 TCP 根据网络拥塞自动调整窗口大小

    Copy Code
    netsh interface tcp set global autotuning=normal

这些示例提供了更多选项,让你能够更细致地调整 TCP 的行为和性能,以适应特定的网络环境和需求。

  1. 设置 TCP 接收窗口自动调整水平

    Copy Code
    netsh interface tcp set global rss=enabled
  2. 启用 TCP/IP v6 全局参数

    Copy Code
    netsh interface tcp set global 6to4=enabled
  3. 禁用 TCP/IP v4 栈

    Copy Code
    netsh interface tcp set global 4to6=disabled
  4. 设置 TCP 最大链接超时时间

    Copy Code
    netsh interface tcp set global maxsynretransmissions=<number>
  5. 启用 TCP 根据延迟和丢包自动调整窗口大小

    Copy Code
    netsh interface tcp set global autotuninglevel=experimental

这些示例提供了更多选项,让你能够更精细地调整 TCP 的行为和性能,以满足特定的网络需求和优化要求。

  1. 设置 TCP 重传超时时间

    Copy Code
    netsh interface tcp set global initialretransmissiontimeout=<milliseconds>
  2. 设置 TCP 连接超时时间

    Copy Code
    netsh interface tcp set global connectiontimeout=<milliseconds>
  3. 启用 TCP 数据包校验和计算

    Copy Code
    netsh interface tcp set global tcpchecksum=enabled
  4. 设置 TCP 最大重传次数

    Copy Code
    netsh interface tcp set global maxretransmissions=<number>
  5. 设置 TCP FIN 等待时间

    Copy Code
    netsh interface tcp set global finwait2timeout=<milliseconds>

这些示例提供了更多选项,让你能够更加精确地控制 TCP 的行为和性能,以满足特定的网络环境和需求。

  1. 启用 TCP 并发连接复用

    Copy Code
    netsh interface tcp set global multipointconnections=enabled
  2. 设置 TCP 最大发送缓冲区大小

    Copy Code
    netsh interface tcp set global maxtransmitsize=<size>
  3. 设置 TCP 最大接收缓冲区大小

    Copy Code
    netsh interface tcp set global maxreceivesize=<size>
  4. 启用 TCP 连接保活功能

    Copy Code
    netsh interface tcp set global keepaliveinterval=<seconds>
  5. 设置 TCP 重传间隔时间

    Copy Code
    netsh interface tcp set global retransmissioninterval=<milliseconds>

这些示例提供了更多选项,让你能够更好地管理 TCP 的连接和数据传输,以提高网络性能和可靠性。

  1. 设置 TCP 接收窗口大小自动调整比例

    Copy Code
    netsh interface tcp set global ecn=enabled
  2. 设置 TCP 最大数据包大小

    Copy Code
    netsh interface tcp set global maxsegmentsize=<size>
  3. 设置 TCP 连接建立超时时间

    Copy Code
    netsh interface tcp set global connecttimeout=<milliseconds>
  4. 设置 TCP 超时重传次数

    Copy Code
    netsh interface tcp set global timeoutretransmissions=<number>
  5. 启用 TCP/IP v6 连接套接字选项

    Copy Code
    netsh interface tcp set global ipv6to4tunneling=enabled

netsh interface tcp set global ipv6to4tunneling 命令用于在 Windows 系统上启用或禁用 IPv6 到 IPv4 隧道功能。该功能允许通过 IPv4 网络传输 IPv6 数据包,通常用于 IPv6 网络在 IPv4 基础设施上的过渡。以下是该命令按功能分类的详细表格:

功能分类 命令选项 说明
启用 IPv6 到 IPv4 隧道 ipv6to4tunneling=enabled 启用 IPv6 到 IPv4 隧道功能,使得 IPv6 数据包可以通过 IPv4 网络传输,实现 IPv6 和 IPv4 的互通。
禁用 IPv6 到 IPv4 隧道 ipv6to4tunneling=disabled 禁用 IPv6 到 IPv4 隧道功能,IPv6 数据包将无法通过 IPv4 网络传输。
全局设置 global 对系统中所有网络接口应用此设置,影响整个系统的 IPv6 到 IPv4 隧道设置。
适用场景 IPv6 过渡技术 主要用于在不支持 IPv6 的网络环境中通过 IPv4 网络进行 IPv6 数据的传输,解决 IPv6 和 IPv4 的互通问题。
提高兼容性 IPv6 与 IPv4 网络互通 启用此功能有助于在只有 IPv4 支持的网络上实现 IPv6 数据的传输,帮助过渡到全面 IPv6 支持的网络环境。
网络协议类型 IPv6 和 IPv4 混合使用 该功能仅适用于 IPv6 数据包与 IPv4 网络的互通,不影响 IPv4 数据包的传输。

示例命令:

  1. 启用 IPv6 到 IPv4 隧道

    powershellCopy Code
    netsh interface tcp set global ipv6to4tunneling=enabled
  2. 禁用 IPv6 到 IPv4 隧道

    powershellCopy Code
    netsh interface tcp set global ipv6to4tunneling=disabled

作用:

  • IPv6 过渡支持:IPv6 到 IPv4 隧道为在仅支持 IPv4 的网络上运行的设备提供了支持 IPv6 的解决方案。这对于正在向 IPv6 过渡的组织非常有用。
  • 网络兼容性:通过启用该功能,网络能够兼容同时运行 IPv4 和 IPv6,从而实现平滑过渡而不依赖完全的 IPv6 基础设施。

这些示例提供了更多选项,让你能够更细致地调整 TCP 的行为和性能,以满足不同场景下的网络需求和优化要求。

  1. 设置 TCP 接收窗口缩放因子

    Copy Code
    netsh interface tcp set global windowscaling=enabled
  2. 启用 TCP 快速打开功能

    Copy Code
    netsh interface tcp set global fastopen=enabled

netsh interface tcp set global fastopen 命令用于在 Windows 系统上启用或禁用 TCP 快速打开(TCP Fast Open)功能。此功能可以减少 TCP 握手延迟,从而提高网络连接的建立速度。以下是该命令按功能分类的详细表格:

功能分类 命令选项 说明
启用 TCP 快速打开 fastopen=enabled 启用 TCP 快速打开功能。减少 TCP 握手延迟,从而加速网络连接的建立,适用于支持该特性的服务器。
禁用 TCP 快速打开 fastopen=disabled 禁用 TCP 快速打开功能,使用常规的 TCP 三次握手过程。
全局设置 global 对全局 TCP 配置应用该设置,影响系统中所有网络接口的 TCP 快速打开设置。
适用场景 网络延迟优化 适用于延迟较高的网络环境,尤其是需要频繁建立连接的应用程序。
提高连接速度 减少握手延迟 快速打开通过允许客户端在初次连接时发送数据,减少了连接建立所需的时间。
系统资源影响 影响某些应用的连接效率 启用快速打开可能会影响某些应用的行为,特别是如果这些应用未优化为支持快速打开的情况下。
支持的协议类型 TCP协议 仅适用于 TCP 协议,不影响 UDP 或其他协议的连接方式。

示例命令:

  1. 启用 TCP 快速打开

    powershellCopy Code
    netsh interface tcp set global fastopen=enabled
  2. 禁用 TCP 快速打开

    powershellCopy Code
    netsh interface tcp set global fastopen=disabled

作用:

  • 减少连接延迟:通过启用 TCP 快速打开功能,可以减少建立新连接所需的延迟,特别是在 Web 服务、电子邮件和其他需要频繁建立连接的应用中,能显著提高响应速度。
  • 提高数据传输效率:快速打开在握手过程中允许数据发送,可以减少等待时间,提高整体数据传输效率,尤其适用于需要快速响应的应用。
  1. 设置 TCP 数据接收超时时间

    Copy Code
    netsh interface tcp set global recvtimeout=<milliseconds>
  2. 设置 TCP 数据发送超时时间

    Copy Code
    netsh interface tcp set global sendtimeout=<milliseconds>
  3. 启用 TCP 延迟 ACK(确认)功能

    Copy Code
    netsh interface tcp set global delayedack=enabled

这些设置可以进一步优化 TCP 的性能和行为,以提高网络传输效率和可靠性。

  1. 设置 TCP 连接最大生存时间

    Copy Code
    netsh interface tcp set global maxconnectionssper10s=<number>
  2. 设置 TCP 连接最大生存时间

    Copy Code
    netsh interface tcp set global maxconnectionssperminute=<number>
  3. 启用 TCP 连接最大生存时间

    Copy Code
    netsh interface tcp set global maxconnectionssperhour=<number>
  4. 设置 TCP 回退窗口大小

    Copy Code
    netsh interface tcp set global autotuninglevel=<level>
  5. 启用 TCP 窗口自动调整

    Copy Code
    netsh interface tcp set global autotuninglevel=normal

这些设置可以进一步优化 TCP 的性能和行为,以提高网络传输效率和可靠性。

 

netsh interface tcp set supplemental 命令用于配置 TCP 网络接口的补充选项。这个命令主要影响 TCP 连接的性能和行为,以下是按功能分类整理的常见选项及其描述:

功能分类 命令参数 描述 示例命令
TCP 自动调整 autotuninglevel 控制自动调整 TCP 接收窗口的行为。可以设置为:disabledhighlyrestrictedrestrictednormalexperimental 设置为 normal: netsh interface tcp set supplemental autotuninglevel=normal
TCP 窗口加速 chimney 启用或禁用 TCP 窗口加速功能。可以设置为:enableddisabled 启用 TCP 窗口加速: netsh interface tcp set supplemental chimney=enabled
SACK(选择性确认) enablesecurityretrysack 启用或禁用选择性确认(SACK)。可以设置为:enableddisabled 启用 SACK: netsh interface tcp set supplemental enablesecurityretrysack=enabled
TCP 时间戳 timestamps 启用或禁用 TCP 时间戳选项。可以设置为:enableddisabled 启用 TCP 时间戳: netsh interface tcp set supplemental timestamps=enabled
TCP 确认处理 delayedack 启用或禁用 TCP 延迟确认。可以设置为:enableddisabled 启用延迟确认: netsh interface tcp set supplemental delayedack=enabled
TCP 窗口大小调整 recvbuffersize 设置接收缓冲区的大小。 设置接收缓冲区大小为 512 KB: netsh interface tcp set supplemental recvbuffersize=524288
TCP 超时设置 tcpkeepalive 设置 TCP 保活时间。控制 TCP 连接保持活动的时间。 设置保持活动时间为 600 秒: netsh interface tcp set supplemental tcpkeepalive=600
TCP 连接限制 maxconnections 设置最大 TCP 连接数。 设置最大连接数为 1000: netsh interface tcp set supplemental maxconnections=1000

这张表格展示了 netsh interface tcp set supplemental 命令按功能分类的常见选项。你可以根据需要配置这些补充选项来优化系统的 TCP 性能。

  1. 设置 TCP 初始拥塞窗口大小

    Copy Code
    netsh interface tcp set supplemental initialcongestionwindow=<size>
  2. 设置 TCP 最大拥塞窗口大小

    Copy Code
    netsh interface tcp set supplemental maxcongestionwindow=<size>
  3. 设置 TCP 慢启动阈值

    Copy Code
    netsh interface tcp set supplemental slowstartthreshold=<size>
  4. 设置 TCP 快速重传阈值

    Copy Code
    netsh interface tcp set supplemental fastretransmitthreshold=<size>
  5. 启用 TCP 带外数据传输功能

    Copy Code
    netsh interface tcp set supplemental outofbanddata=enabled

这些设置提供了更精细的控制,可以优化 TCP 的拥塞控制、流量控制和数据传输效率,以提升网络性能和可靠性。

  1. 设置 TCP 窗口规模自动调整因子

    Copy Code
    netsh interface tcp set supplemental windowscalingfactor=<factor>
  2. 启用 TCP 连接中断重试功能

    Copy Code
    netsh interface tcp set supplemental retryinterruptibletcp=enabled
  3. 设置 TCP 连接中断重试次数

    Copy Code
    netsh interface tcp set supplemental retryinterruption=<number>
  4. 设置 TCP 连接的最大保持时间

    Copy Code
    netsh interface tcp set supplemental maxkeepalivetime=<milliseconds>
  5. 设置 TCP 连接的空闲时间

    Copy Code
    netsh interface tcp set supplemental keepalivetime=<milliseconds>

这些设置可以帮助调整 TCP 的连接管理和维护策略,以提高网络连接的稳定性和可靠性。

  1. 设置 TCP 接收缓冲区大小

    Copy Code
    netsh interface tcp set supplemental receivebuffersize=<size>
  2. 设置 TCP 发送缓冲区大小

    Copy Code
    netsh interface tcp set supplemental sendbuffersize=<size>
  3. 启用 TCP 连接速率控制功能

    Copy Code
    netsh interface tcp set supplemental congestionprovider=<provider>
  4. 设置 TCP 最小 MSS(最大分段大小)

    Copy Code
    netsh interface tcp set supplemental minsegmentsize=<size>
  5. 启用 TCP 数据包重传功能

    Copy Code
    netsh interface tcp set supplemental retransmission=enabled

这些设置可以对 TCP 的数据传输和拥塞控制进行更精细的调整,以优化网络性能和吞吐量。

  1. 设置 TCP 最大 MSS(最大分段大小)

    Copy Code
    netsh interface tcp set supplemental maxsegmentsize=<size>
  2. 设置 TCP 最大重传超时时间

    Copy Code
    netsh interface tcp set supplemental maxackdelay=<milliseconds>
  3. 设置 TCP 重传超时时间

    Copy Code
    netsh interface tcp set supplemental ackdelay=<milliseconds>
  4. 启用 TCP 快速打开功能

    Copy Code
    netsh interface tcp set supplemental fastopen=enabled
  5. 启用 TCP SACK(选择性确认)功能

    Copy Code
    netsh interface tcp set supplemental sacks=enabled

这些设置可以进一步调整 TCP 的数据传输行为和性能特性,以提高网络连接的效率和可靠性。

  1. 设置 TCP 短连接超时时间

    Copy Code
    netsh interface tcp set supplemental shortcircuit=enabled
  2. 设置 TCP 连接复位超时时间

    Copy Code
    netsh interface tcp set supplemental resettimeout=<milliseconds>
  3. 设置 TCP 持续连接超时时间

    Copy Code
    netsh interface tcp set supplemental keepalivetimeout=<milliseconds>
  4. 设置 TCP 连接最大重传次数

    Copy Code
    netsh interface tcp set supplemental maxretransmissions=<number>
  5. 设置 TCP 重传间隔时间

    Copy Code
    netsh interface tcp set supplemental retransmissioninterval=<milliseconds>

这些设置可以帮助优化 TCP 连接的管理和维护,以提高网络连接的稳定性和可靠性。

  1. 设置 TCP 吞吐量优化模式

    Copy Code
    netsh interface tcp set supplemental throughputoptimization=enabled
  2. 设置 TCP 连接最大接收窗口大小

    Copy Code
    netsh interface tcp set supplemental maxreceivewindow=<size>
  3. 设置 TCP 连接最大发送窗口大小

    Copy Code
    netsh interface tcp set supplemental maxsendwindow=<size>
  4. 启用 TCP 快速重传功能

    Copy Code
    netsh interface tcp set supplemental fastretransmit=enabled
  5. 启用 TCP 快速恢复功能

    Copy Code
    netsh interface tcp set supplemental fastrecovery=enabled

这些设置可以进一步优化 TCP 的传输机制,以提高网络连接的性能和效率。

  1. 设置 TCP 初始拥塞窗口大小

    Copy Code
    netsh interface tcp set supplemental initialcongestionwindow=<size>
  2. 设置 TCP 最大拥塞窗口大小

    Copy Code
    netsh interface tcp set supplemental maxcongestionwindow=<size>
  3. 设置 TCP 最小拥塞窗口大小

    Copy Code
    netsh interface tcp set supplemental mincongestionwindow=<size>
  4. 启用 TCP 拥塞控制算法

    Copy Code
    netsh interface tcp set supplemental congestioncontrol=enabled
  5. 设置 TCP 拥塞控制算法类型

    Copy Code
    netsh interface tcp set supplemental congestioncontroltype=<type>

这些设置可以调整 TCP 拥塞控制算法的行为,以优化网络传输的拥塞处理和性能表现。

  1. 启用 TCP ECN(显式拥塞通知)功能

    Copy Code
    netsh interface tcp set supplemental ecn=enabled
  2. 设置 TCP ECN 能力

    Copy Code
    netsh interface tcp set supplemental ecncapability=<capability>
  3. 启用 TCP ECN 兼容性模式

    Copy Code
    netsh interface tcp set supplemental ecncomp=enabled
  4. 设置 TCP ECN 兼容性等级

    Copy Code
    netsh interface tcp set supplemental ecncomp=<level>

这些设置可以帮助优化 TCP 在网络拥塞时的表现和响应机制,提高网络传输的效率和可靠性。

  1. 设置 TCP 接收窗口自动调整功能

    Copy Code
    netsh interface tcp set supplemental autotuning=enabled
  2. 设置 TCP 接收窗口自动调整级别

    Copy Code
    netsh interface tcp set supplemental autotuninglevel=<level>
  3. 启用 TCP Timestamps(时间戳)功能

    Copy Code
    netsh interface tcp set supplemental timestamps=enabled
  4. 启用 TCP 窗口缩放功能

    Copy Code
    netsh interface tcp set supplemental windowscaling=enabled

netsh interface tcp set supplemental windowscaling 命令与 TCP 窗口缩放因子的设置相关。以下是该命令按功能分类的详细表格:

功能分类 命令选项 说明
设置窗口缩放因子 windowscaling <value> 设置 TCP 窗口缩放因子(Window Scaling)。<value> 是一个整数,通常值为 0 到 14。
启用或禁用窗口缩放 windowscaling=0 禁用窗口缩放,设置为 0。禁用后,TCP 窗口大小保持默认值。
配置网络接口 interface=<interface_name> 指定要配置的网络接口,例如 interface=Ethernet 或 interface=Wi-Fi
调整TCP参数 set supplemental 设置附加的 TCP 参数,其中包括窗口缩放因子的调整。
作用范围 interface 对指定网络接口应用窗口缩放设置。
优化网络性能 增加带宽和延迟网络的性能 在高带宽和高延迟网络环境中,通过扩大窗口大小来提高数据传输效率。
影响系统资源 增加内存和资源占用 增大窗口缩放因子可能会增加接收缓冲区的大小,从而占用更多内存资源,特别是在并发连接数较多时。
适用场景 高带宽、低延迟的网络环境 适用于大带宽和低延迟网络,能够充分利用可用带宽,避免 TCP 窗口的瓶颈。

示例命令:

  1. 启用窗口缩放,设置为 7

    powershellCopy Code
    netsh interface tcp set supplemental windowscaling=7
  2. 禁用窗口缩放(设置为 0)

    powershellCopy Code
    netsh interface tcp set supplemental windowscaling=0

作用:

  • 提高高带宽延迟网络的性能:通过扩大窗口缩放因子,TCP 能够处理更多的数据量,从而提高传输效率。
  • 优化内存管理:增大窗口因子时,可能会使用更多内存,适用于需要大量并发连接的场景。
  1. 设置 TCP 窗口缩放因子

    Copy Code
    netsh interface tcp set supplemental windowscale=<factor>

netsh interface tcp set supplemental windowscale 命令用于调整 Windows 操作系统中 TCP 协议的窗口缩放因子(Window Scaling)。窗口缩放用于在高带宽延迟网络(BDP)中扩大 TCP 窗口大小,帮助提高数据传输效率。以下是该命令按功能分类的表格化说明:

功能分类 命令选项 说明
设置窗口缩放因子 windowscale <value> 设置 TCP 窗口缩放因子(Window Scaling)。<value> 为缩放因子的值,通常为 0 到 14 之间的整数。
作用范围 interface 指定要配置的网络接口,例如 interface=Ethernet 或 interface=Wi-Fi
协议类型 tcp 此命令适用于 TCP 协议,用于控制 TCP 窗口缩放选项,以提高传输性能。
附加选项 set supplemental 用于设置 TCP 协议的附加参数,这里用来设置窗口缩放选项。
优化网络性能 提升高带宽连接性能 增大窗口缩放因子,能在高带宽和高延迟网络环境中提高数据传输效率,避免数据传输过程中出现瓶颈。
系统资源影响 增加内存占用 更大的窗口缩放因子可能导致接收缓冲区增大,进而占用更多内存资源,尤其是在大规模并发连接时。
应用场景 高带宽延迟网络(BDP) 适用于具有高带宽和高延迟的网络环境,可以有效利用可用带宽,提升数据传输性能。

示例命令:

  1. 启用窗口缩放因子为 7

    powershellCopy Code
    netsh interface tcp set supplemental windowscale=7
  2. 禁用窗口缩放(设置为 0):

    powershellCopy Code
    netsh interface tcp set supplemental windowscale=0

使用场景:

  • 高带宽和高延迟网络:在网络带宽较大但延迟较高的环境中,启用窗口缩放因子并设置适当的值,可以避免TCP窗口过小而导致的带宽浪费。
  • 大规模数据传输:通过增大窗口缩放因子,可以使 TCP 连接的发送和接收窗口更大,从而提高大规模数据传输的效率,减少丢包和阻塞。

通过调整窗口缩放因子,网络传输的性能可以得到显著提升,尤其是在高速、大容量的网络连接中。

这些设置可以帮助 TCP 在不同网络环境下进行自适应调整,以优化传输性能和吞吐量。

  1. 设置 TCP 接收缓冲区大小

    Copy Code
    netsh interface tcp set supplemental recvbuffer=<size>

netsh interface tcp set supplemental recvbuffer 命令用于调整 Windows 系统中 TCP 协议的接收缓冲区大小。以下是该命令按功能分类的表格化说明:

功能分类 命令选项 说明
设置接收缓冲区大小 recvbuffer <value> 设置 TCP 连接的接收缓冲区大小。<value> 是缓冲区的字节数,通常建议的大小范围为 64KB 到 1MB。
作用范围 interface 指定要配置的网络接口,例如 interface=Ethernet 或 interface=Wi-Fi
协议类型 tcp 此命令仅适用于 TCP 协议,控制 TCP 接收数据时使用的缓冲区大小。
附加选项 set supplemental 用于设置 TCP 协议的附加参数,此处用于设置接收缓冲区大小。
优化网络性能 控制接收数据速率 通过调整接收缓冲区大小,帮助提高接收数据的能力,避免缓冲区过小导致数据包丢失或过大浪费内存资源。
系统资源影响 内存消耗 设置过大的接收缓冲区会占用更多内存,可能影响系统的其他任务和性能,特别是在内存受限的情况下。
应用场景 高带宽网络应用 在高带宽、低延迟网络环境中,增大接收缓冲区有助于提高数据传输的效率和减少丢包现象。

示例命令:

  1. 设置接收缓冲区为 1MB

    powershellCopy Code
    netsh interface tcp set supplemental recvbuffer=1048576
  2. 设置接收缓冲区为 512KB

    powershellCopy Code
    netsh interface tcp set supplemental recvbuffer=524288

使用场景:

  • 高带宽网络:在大数据流量的环境中,增加接收缓冲区的大小可以提升数据接收能力,避免频繁的丢包。
  • 高延迟连接:在网络延迟较高的情况下,增大接收缓冲区可以减少数据接收时的阻塞和延迟,提升整体传输效率。

通过适当调整接收缓冲区大小,可以优化 TCP 连接的接收性能,减少数据丢包和提高传输稳定性。

  1. 设置 TCP 发送缓冲区大小

    Copy Code
    netsh interface tcp set supplemental sendbuffer=<size>

netsh interface tcp set supplemental sendbuffer 命令用于调整 Windows 系统中 TCP 协议的发送缓冲区大小。以下是该命令按功能分类的表格化说明:

功能分类 命令选项 说明
设置发送缓冲区大小 sendbuffer <value> 设置 TCP 连接的发送缓冲区大小。<value> 为缓冲区的字节数,通常建议为 64KB 到 1MB 之间。
作用范围 interface 指定要配置的网络接口,例如 interface=Ethernet 或 interface=Wi-Fi
协议类型 tcp 此命令仅适用于 TCP 协议,控制 TCP 发送数据时使用的缓冲区大小。
附加选项 set supplemental 用于设置 TCP 协议的附加参数,此处用于设置发送缓冲区大小。
优化网络性能 控制数据发送速率 通过调整发送缓冲区大小,改善网络传输效率,避免缓冲区过小导致频繁的包丢失或过大的浪费系统资源。
系统资源影响 内存消耗 设置过大的发送缓冲区会占用更多内存,可能影响系统性能,特别是在资源有限的情况下。
应用场景 高带宽网络应用 在需要传输大量数据的场景中(如视频流、文件传输等),增大发送缓冲区可提高数据传输效率。

示例命令:

  1. 设置发送缓冲区为 1MB

    powershellCopy Code
    netsh interface tcp set supplemental sendbuffer=1048576
  2. 设置发送缓冲区为 512KB

    powershellCopy Code
    netsh interface tcp set supplemental sendbuffer=524288

使用场景:

  • 高带宽网络:在高带宽、低延迟的网络环境中,增加发送缓冲区可以提升网络吞吐量。
  • 大数据传输:例如在文件服务器、大规模数据传输等场景中,增加发送缓冲区大小可以减少数据传输中的瓶颈。

通过设置适当的发送缓冲区大小,能够优化 TCP 连接的性能,减少延迟,提高数据传输的稳定性。

  1. 设置 TCP 最大连接数

    Copy Code
    netsh interface tcp set supplemental maxconnections=<number>

netsh interface tcp set supplemental maxconnections 命令的按功能分类的表格化说明:

功能分类 命令选项 说明
设置最大连接数 maxconnections <value> 设置允许的最大 TCP 连接数。<value> 是您希望设置的最大连接数,可以根据需要调整。
作用范围 interface 指定要设置的网络接口,例如 interface=Ethernet 或 interface=Wi-Fi,可用于指定特定接口的配置。
协议类型 tcp 此命令只适用于 TCP 协议。
附加选项 set supplemental 用于设置 TCP 协议的附加补充参数,在此上下文中用于设置最大连接数。
应用场景 网络性能优化 通过限制最大连接数,控制系统的 TCP 连接数,从而优化系统的性能和资源分配。
系统资源影响 内存和处理器负载 设置过高的连接数可能导致内存和 CPU 资源紧张,影响系统稳定性。
调整依据 需求和系统资源 根据实际应用需求,适当调整连接数,以确保系统的高效运行和资源利用。

示例命令:

  1. 设置最大连接数为 5000

    powershellCopy Code
    netsh interface tcp set supplemental maxconnections=5000
  2. 设置最大连接数为 10000

    powershellCopy Code
    netsh interface tcp set supplemental maxconnections=10000

此命令对于需要处理大量 TCP 连接的系统(如 Web 服务器或数据库服务器)非常有用,可以帮助管理员限制并发连接数,确保系统资源的合理使用。

  1. 设置 TCP 连接超时时间

    Copy Code
    netsh interface tcp set supplemental timeout=<time>
  2. 设置 TCP 内部参数

    Copy Code
    netsh interface tcp set supplemental parameters=<parameters>

netsh interface tcp set supplemental parameters 命令用于配置 TCP 协议的一些高级参数。这些参数有助于优化网络性能和行为。以下是对该命令常见选项的功能分类,并以表格形式展示:

功能分类 命令选项 说明
启用/禁用 TCP 时间戳 `time stamp {enabled disabled}`
启用/禁用快速打开 `tcp fastopen {enabled disabled}`
启用/禁用 Nagle 算法 `nagle {enabled disabled}`
启用/禁用接收窗口自动调节 `receive window auto-tuning {enabled disabled}`
启用/禁用 MTU 聚合 `mtu aggregation {enabled disabled}`
启用/禁用 确认延迟 `delayed ack {enabled disabled}`
启用/禁用 Pacing `pacing {enabled disabled}`
启用/禁用 TCP 自适应 `adaptive {enabled disabled}`
配置最大接收窗口大小 receive window size <value> 设置接收窗口的最大大小。接收窗口大小影响数据的流量控制,较大的窗口可以提高吞吐量。

解释:

  1. TCP 时间戳 (time stamp):

    • 启用时间戳有助于测量传输延迟,特别是在高延迟网络环境中,时间戳可以帮助改进网络连接的稳定性和优化重传机制。
  2. TCP 快速打开 (tcp fastopen):

    • 快速打开允许在连接建立时就发送数据,减少了等待握手的时间,适合延迟敏感的应用程序。
  3. Nagle 算法 (nagle):

    • Nagle 算法用于合并小的 TCP 数据包,以减少网络中小包的数量,节省带宽并提高效率。如果禁用该算法,数据包会立刻被发送。
  4. 接收窗口自动调节 (receive window auto-tuning):

    • 启用后,接收方的 TCP 会根据网络条件动态调整接收窗口大小,优化数据流量控制。
  5. MTU 聚合 (mtu aggregation):

    • MTU 聚合尝试将多个小的传输单元合并为一个较大的单元,从而减少协议头的开销。
  6. 确认延迟 (delayed ack):

    • 延迟确认可以减少 ACK 确认消息的数量,有时可以提高带宽的利用率,但也会引入额外的延迟。
  7. 流量整形 (pacing):

    • 启用流量整形可以帮助控制数据的发送速率,防止发送过快造成网络拥堵,尤其在高带宽网络中非常重要。
  8. TCP 自适应 (adaptive):

    • 启用后,TCP 会根据网络的实时状况调整其窗口大小、重传间隔等参数,以适应变化的网络环境。
  9. 接收窗口大小 (receive window size):

    • 直接设置接收窗口的最大大小。更大的窗口可以在带宽较大的网络中提高吞吐量,但也可能带来更大的延迟。

示例命令:

  • 启用时间戳

    powershellCopy Code
    netsh interface tcp set supplemental parameters time stamp=enabled
  • 禁用 Nagle 算法

    powershellCopy Code
    netsh interface tcp set supplemental parameters nagle=disabled
  • 启用接收窗口自动调节

    powershellCopy Code
    netsh interface tcp set supplemental parameters receive window auto-tuning=enabled
  • 设置接收窗口大小

    powershellCopy Code
    netsh interface tcp set supplemental parameters receive window size=65535
  • 启用流量整形

    powershellCopy Code
    netsh interface tcp set supplemental parameters pacing=enabled

通过这些选项,你可以根据不同的网络环境和需求调整 TCP 的行为,优化网络传输的性能。

这些设置可以微调 TCP 协议栈的参数,以满足特定网络环境下的性能需求和优化要求。

  1. 设置 TCP 最大段大小 (MSS)

    Copy Code
    netsh interface tcp set supplemental mss=<size>

netsh interface tcp set supplemental mss 是用于设置 Windows 操作系统中 TCP 连接的 最大报文段长度(MSS, Maximum Segment Size) 的命令。MSS 是 TCP 协议在传输数据时允许的最大数据段大小,它不包括 TCP 头和 IP 头的大小。配置 MSS 可以优化网络性能,避免分片,并确保数据以合适的大小传输。

以下是 netsh interface tcp set supplemental mss 命令的功能分类表:

功能分类 命令选项 说明
设置 MSS netsh interface tcp set supplemental mss=<value> 设置 TCP 连接的最大报文段长度(MSS)。该值决定了 TCP 发送的数据段的最大大小,单位为字节。默认值通常为 1460 字节。
查看当前 MSS netsh interface tcp show supplemental mss 显示当前配置的 TCP 最大报文段长度(MSS)。
设置 MSS 为默认值 netsh interface tcp set supplemental mss=default 将 TCP 最大报文段长度(MSS)恢复为系统的默认值(通常是 1460 字节)。
设置 MSS 为自定义值 netsh interface tcp set supplemental mss=<custom_value> 设置一个自定义的 MSS 值,通常用于特定网络环境下的性能优化,确保最大数据段不超过指定大小。

解释:

  • 设置 MSS

    • mss=<value> 选项允许用户设置 TCP 连接的最大报文段长度(MSS)。MSS 是指数据部分的最大字节数,通常不包括协议头(如 TCP 和 IP 头部)。根据网络链路的不同,适当调整 MSS 大小可以帮助减少分片,优化网络性能。
  • 查看当前 MSS

    • 通过 show supplemental mss 可以查看当前 TCP 连接的 MSS 配置。这对于调试和验证 MSS 配置非常有用。
  • 设置 MSS 为默认值

    • 使用 default 选项可以将 MSS 设置为操作系统的默认值,通常为 1460 字节。这是大多数网络环境中的常见默认值。
  • 设置 MSS 为自定义值

    • 自定义 MSS 设置可帮助在特定的网络环境中优化数据传输性能,避免传输中出现分片。如果网络链路较慢或有特定的 MTU 限制,可以通过设置合适的 MSS 来避免分片,提高传输效率。

示例命令:

  • 设置 MSS 为 1400 字节

    powershellCopy Code
    netsh interface tcp set supplemental mss=1400
  • 查看当前 MSS 配置

    powershellCopy Code
    netsh interface tcp show supplemental mss
  • 将 MSS 设置回默认值

    powershellCopy Code
    netsh interface tcp set supplemental mss=default

使用场景:

  • 调整 MSS:在 VPN、隧道、或存在 MTU 限制的网络环境中,调整 MSS 可以避免因包过大而导致的分片,提高网络性能。MSS 调整通常应用于大型企业网络、数据中心、或长距离网络连接中。
  • 查看当前设置:检查当前系统的 MSS 设置有助于进行性能优化或故障排除。
  1. 设置 TCP 延迟确认时间

    Copy Code
    netsh interface tcp set supplemental delayedack=<time>

netsh interface tcp set supplemental delayedack 命令用于配置 Windows 操作系统中 延迟确认(Delayed Acknowledgment) 功能。延迟确认是 TCP 协议中的一种优化机制,它允许接收方推迟对收到的数据包的确认响应,直到满足某些条件或经过一定时间。这种方式可以减少传输中的确认包数量,提高带宽效率。

以下是 netsh interface tcp set supplemental delayedack 命令的功能分类表:

功能分类 命令选项 说明
启用延迟确认 netsh interface tcp set supplemental delayedack=enabled 启用延迟确认功能。接收方将推迟对数据包的确认,直到接收到更多数据或经过一定时间。
禁用延迟确认 netsh interface tcp set supplemental delayedack=disabled 禁用延迟确认功能。接收方将在接收到每个数据包后立即发送确认响应。
查看当前延迟确认状态 netsh interface tcp show supplemental delayedack 查看当前 TCP 延迟确认功能的状态(启用或禁用)。
恢复为默认设置 netsh interface tcp set supplemental delayedack=default 将延迟确认设置恢复为系统的默认值,通常是自动根据网络条件调整。

解释:

  • 启用延迟确认

    • delayedack=enabled 选项启用 TCP 延迟确认功能。这意味着接收方会推迟发送 ACK 确认消息,直到满足某些条件,如接收到更多的数据包或等待指定时间。
  • 禁用延迟确认

    • delayedack=disabled 选项禁用延迟确认功能。禁用后,接收方会在收到每个数据包后立即发送确认消息,而不再推迟确认。
  • 查看当前延迟确认状态

    • 通过 show supplemental delayedack 命令,可以查看当前是否启用了延迟确认功能,以及其配置状态。
  • 恢复为默认设置

    • 使用 default 选项将延迟确认设置恢复为默认值,通常系统会根据网络条件自动调整是否启用延迟确认。

示例命令:

  • 启用延迟确认

    powershellCopy Code
    netsh interface tcp set supplemental delayedack=enabled
  • 禁用延迟确认

    powershellCopy Code
    netsh interface tcp set supplemental delayedack=disabled
  • 查看当前延迟确认状态

    powershellCopy Code
    netsh interface tcp show supplemental delayedack
  • 恢复默认设置

    powershellCopy Code
    netsh interface tcp set supplemental delayedack=default

使用场景:

  • 优化网络性能:延迟确认有助于减少确认包的数量,尤其是在高延迟或带宽有限的网络环境中,通过减少确认消息的频率来提升带宽的利用率。
  • 实时应用的影响:在实时性要求较高的应用(如视频流或实时游戏)中,禁用延迟确认可以减少传输延迟,使系统响应更为快速。
  • 查看当前配置:可以通过查看延迟确认的状态,帮助网络管理员了解 TCP 配置,进行性能调优和故障排查。
  1. 设置 TCP 最大重传超时时间

    Copy Code
    netsh interface tcp set supplemental maxrtt=<time>
  2. 设置 TCP 连接保持活动时间

    Copy Code
    netsh interface tcp set supplemental keepalive=<time>

netsh interface tcp set supplemental keepalive 是一个用于设置 Windows 操作系统中 TCP 连接的 Keep-Alive 机制的命令。Keep-Alive 机制用于在 TCP 连接空闲时定期发送心跳包,确保连接仍然保持活动状态。

netsh 命令中,keepalive 参数控制以下功能:

  1. Keep-Alive 开启/关闭:启用或禁用 TCP 保持活动(Keep-Alive)机制。
  2. Keep-Alive 时间间隔:定义发送 Keep-Alive 包的时间间隔。
  3. Keep-Alive 尝试次数:控制在断开连接之前最大尝试次数。

以下是 netsh interface tcp set supplemental keepalive 命令的功能分类表:

功能分类 命令选项 说明
开启/关闭 Keep-Alive netsh interface tcp set supplemental keepalive=enabled 启用 TCP Keep-Alive 机制,使得 TCP 连接会定期发送 Keep-Alive 包,保持连接活动。
关闭 Keep-Alive netsh interface tcp set supplemental keepalive=disabled 禁用 Keep-Alive 机制,连接保持空闲时不发送 Keep-Alive 包。
设置 Keep-Alive 时间 netsh interface tcp set supplemental keepalive-time=<seconds> 设置 TCP 保持活动包发送的间隔时间(单位:秒)。默认值通常是 7200 秒,即 2 小时。
设置 Keep-Alive 尝试 netsh interface tcp set supplemental keepalive-interval=<seconds> 设置在关闭连接之前,发送 Keep-Alive 包的最大尝试次数。每次失败都会增加间隔时间,直到达到最大尝试次数。
设置最大重试次数 netsh interface tcp set supplemental keepalive-retries=<number> 设置发送 Keep-Alive 包的最大重试次数。如果在这些重试次数内未收到对方的响应,TCP 连接将被认为断开。

解释:

  • 开启/关闭 Keep-Alive

    • 通过设置 keepalive=enabled 来启用 Keep-Alive 机制,启用后,空闲的 TCP 连接会定期发送 Keep-Alive 包,以确保连接仍然有效。
    • 设置为 keepalive=disabled 时,禁用 Keep-Alive 机制,连接空闲时不发送任何心跳包。
  • 设置 Keep-Alive 时间

    • keepalive-time 控制连接在没有数据传输时,等待多长时间后发送第一次 Keep-Alive 包。单位为秒。
    • 默认情况下,Windows 系统通常设置为 7200 秒(即 2 小时),如果超过此时间没有活动,系统会发送第一个 Keep-Alive 包。
  • 设置 Keep-Alive 尝试

    • keepalive-interval 设置尝试重新发送 Keep-Alive 包之间的间隔时间。如果一个尝试没有收到回应,间隔时间会逐渐增加,直到达到最大重试次数。
  • 设置最大重试次数

    • keepalive-retries 用于设置在关闭连接之前,最大重试次数。这个值设置了最大发送 Keep-Alive 包的次数,如果在这些尝试内仍未收到响应,则认为连接丢失。

示例命令:

  • 开启 Keep-Alive

    powershellCopy Code
    netsh interface tcp set supplemental keepalive=enabled
  • 关闭 Keep-Alive

    powershellCopy Code
    netsh interface tcp set supplemental keepalive=disabled
  • 设置 Keep-Alive 时间为 600 秒

    powershellCopy Code
    netsh interface tcp set supplemental keepalive-time=600
  • 设置 Keep-Alive 尝试间隔为 60 秒

    powershellCopy Code
    netsh interface tcp set supplemental keepalive-interval=60
  • 设置最大重试次数为 5

    powershellCopy Code
    netsh interface tcp set supplemental keepalive-retries=5

使用场景:

  • 开启 Keep-Alive:适用于需要保持 TCP 连接稳定的场景,例如在 Web 服务、数据库连接等领域,定期发送心跳包可以确保长时间没有数据传输的连接仍然有效。
  • 关闭 Keep-Alive:适用于不需要维持空闲连接的场景,可以减少不必要的网络流量。
  • 自定义时间与重试次数:适用于需要精确控制心跳包间隔和重试次数的应用,常见于实时通信、金融交易等领域,确保连接的及时恢复和响应。
  1. 启用 TCP 尽快释放连接资源

    Copy Code
    netsh interface tcp set supplemental linger=enabled

netsh interface tcp set supplemental linger 是 Windows 操作系统中的一个网络命令,用于调整 TCP 连接关闭时的 linger 行为。linger 是一个 TCP 参数,用于控制在 TCP 连接关闭后等待数据传输完成的时间。这个命令的作用是设置在 TCP 连接关闭后,操作系统会等待多少时间以确保所有未发送的消息都能够被正确发送。

功能分类及命令表格:

功能分类 命令选项 说明
关闭linger功能 netsh interface tcp set supplemental linger=0 禁用 linger 功能,TCP 连接关闭时,操作系统不再等待未发送的数据,会立即关闭连接。
最小linger时间 netsh interface tcp set supplemental linger=1 设置最短的 linger 等待时间(1秒),即关闭连接后,操作系统等待1秒钟完成所有剩余的传输。
中等linger时间 netsh interface tcp set supplemental linger=5 设置较长的 linger 等待时间(5秒),即关闭连接后,操作系统等待5秒钟确保传输完成。
较长linger时间 netsh interface tcp set supplemental linger=10 设置较长的 linger 等待时间(10秒),确保在连接关闭后,系统等待10秒钟处理所有数据传输。
最大linger时间 netsh interface tcp set supplemental linger=65535 设置最大linger时间(大约18小时),这意味着操作系统会在连接关闭后等待最长的时间来完成未完成的传输。

解释:

  • 关闭linger功能(linger=0)

    • 当设置为 0 时,表示禁用 linger 参数,连接关闭后操作系统不会等待,立即断开连接。这种情况下可能会导致一些未完成的数据丢失。
  • 最小linger时间(linger=1)

    • 当设置为 1 时,表示连接关闭后操作系统会等待 1 秒钟以完成未完成的数据传输。这个设置适用于对延迟不敏感的场景。
  • 中等linger时间(linger=5)

    • 设置为 5 秒时,操作系统会在连接关闭后等待 5 秒,确保未完成的数据能有足够的时间进行传输。适用于需要一定程度数据可靠性的情况。
  • 较长linger时间(linger=10)

    • 设置为 10 秒时,操作系统在连接关闭后会等待 10 秒钟。适用于需要较长时间确保数据传输完成的场景。
  • 最大linger时间(linger=65535)

    • 设置为最大值时(65535,约 18 小时),系统将长时间等待,直到所有数据都传输完成。这种设置适用于极其重要或高可靠性要求的数据传输。

示例命令:

  • 关闭linger功能

    powershellCopy Code
    netsh interface tcp set supplemental linger=0
  • 设置最短linger时间

    powershellCopy Code
    netsh interface tcp set supplemental linger=1
  • 设置中等linger时间

    powershellCopy Code
    netsh interface tcp set supplemental linger=5
  • 设置较长linger时间

    powershellCopy Code
    netsh interface tcp set supplemental linger=10
  • 设置最大linger时间

    powershellCopy Code
    netsh interface tcp set supplemental linger=65535

使用场景:

  • 禁用linger功能:适用于不关心连接关闭时数据是否完全传输的应用程序。可能会导致数据丢失。
  • 较短到中等linger时间:适用于网络负载较低或延迟较高但对数据传输完成有一定要求的应用。
  • 较长或最大linger时间:适用于高可靠性要求的应用程序,例如金融交易系统,要求每次数据传输都要可靠完成。

这些设置可以进一步微调 TCP 连接的参数,以优化连接的性能和资源利用率。

 

netsh int tcp set global dca=enabled 命令添加到批处理脚本中

netsh int tcp set global dca 是一个 Windows 命令,用于启用或禁用数据中心适配(DCA, Data Center Application)的优化设置。DCA 是一个TCP优化技术,专门针对数据中心环境中的应用程序优化,以提高网络性能,尤其是在高延迟和高带宽条件下。

下面是 netsh int tcp set global dca 命令按功能分类的表格说明:

功能分类 命令选项 说明
启用数据中心应用程序优化 netsh interface tcp set global dca=enabled 启用数据中心应用程序优化(DCA)。在启用时,操作系统将对数据中心应用场景中的TCP连接进行优化,减少延迟,提升性能。
禁用数据中心应用程序优化 netsh interface tcp set global dca=disabled 禁用数据中心应用程序优化(DCA)。禁用后,操作系统将不再应用DCA优化设置。可能影响高带宽、低延迟的数据中心应用。

解释:

  1. 启用数据中心应用程序优化(DCA):启用该功能后,Windows操作系统会启用一系列优化,旨在提高数据中心中的网络传输效率,尤其是针对高带宽和低延迟的网络环境。这种优化非常适合数据中心中运行的分布式应用程序、云计算工作负载和大规模数据传输。

  2. 禁用数据中心应用程序优化(DCA):禁用DCA会将所有优化设置恢复为默认设置,这可能会导致在数据中心环境中某些应用的性能下降,特别是在高带宽的应用场景下。

示例命令:

  • 启用数据中心应用程序优化

    powershellCopy Code
    netsh interface tcp set global dca=enabled
  • 禁用数据中心应用程序优化

    powershellCopy Code
    netsh interface tcp set global dca=disabled

使用场景:

  • 启用DCA:适用于数据中心环境,特别是需要高带宽和低延迟的网络传输应用,如大数据处理、云计算平台、虚拟化环境等。启用此功能有助于优化TCP连接,提高网络性能。
  • 禁用DCA:适用于不需要数据中心级别优化的场景,或者当某些应用或网络配置与DCA不兼容时,可以选择禁用此功能。

启用或禁用 dca 取决于特定的网络环境和应用场景,尤其是在数据密集型应用中。

可以启用 Windows 中的数据中心加速 (DCA) 功能。DCA 可以提高网络性能和吞吐量,尤其是在高负载情况下。

需要注意的是,启用 DCA 功能可能对系统稳定性产生影响,因此请谨慎操作并在操作前备份您的数据。


 

netsh int tcp set global autotuninglevel=normal 命令添加到批处理脚本中

netsh int tcp set global autotuninglevel 是 Windows 操作系统中一个用来调整 TCP 自动调优(TCP Auto-Tuning)级别的命令。TCP 自动调优功能帮助操作系统动态调整接收窗口大小,以优化网络性能。

以下是 autotuninglevel 的不同功能级别,以及每个级别的作用的表格:

功能分类 命令选项 说明
关闭自动调优 netsh int tcp set global autotuninglevel=disabled 禁用 TCP 自动调优功能,操作系统不会调整接收窗口的大小,接收窗口大小将保持固定,可能导致性能下降。
最小自动调优 netsh int tcp set global autotuninglevel=highlyrestricted 自动调优仅适用于接收窗口的某些小规模调整,限制性能优化,适用于低带宽网络。
中等自动调优 netsh int tcp set global autotuninglevel=restricted 中等限制的自动调优级别,适用于较为稳定的网络环境,提供适度的性能改进。
完全自动调优(默认) netsh int tcp set global autotuninglevel=normal 默认设置,操作系统动态调整接收窗口的大小,以优化性能,适用于大多数网络环境。
增强自动调优 netsh int tcp set global autotuninglevel=experimental 开启增强的自动调优,操作系统进行更为积极的调优,适用于高速和高延迟的网络环境,但可能存在兼容性问题。

解释:

  1. 禁用自动调优(disabled):关闭所有的 TCP 自动调优功能。这种设置会让 TCP 连接不再动态调整接收窗口大小。虽然可以避免某些问题,但可能会影响网络性能,尤其是在高带宽和高延迟的网络环境中。

  2. 最小自动调优(highlyrestricted):这种模式会限制自动调优的范围,只在非常有限的条件下进行优化,通常适用于带宽较低或连接不稳定的网络环境。

  3. 中等自动调优(restricted):此级别提供适度的优化,适合大多数网络环境,包括普通的局域网或低带宽的网络环境。

  4. 默认自动调优(normal):这是操作系统的默认设置,自动调优会根据网络条件调整接收窗口大小,从而提高性能。适用于大多数网络环境。

  5. 增强自动调优(experimental):这个级别提供更为激进的自动调优设置,适用于需要极高带宽和低延迟的环境(例如高性能计算、视频流等)。但在某些老旧或不稳定的网络环境中可能会存在兼容性问题。

示例命令:

  • 关闭自动调优

    powershellCopy Code
    netsh int tcp set global autotuninglevel=disabled
  • 启用最小自动调优

    powershellCopy Code
    netsh int tcp set global autotuninglevel=highlyrestricted
  • 启用中等自动调优

    powershellCopy Code
    netsh int tcp set global autotuninglevel=restricted
  • 启用默认自动调优

    powershellCopy Code
    netsh int tcp set global autotuninglevel=normal
  • 启用增强自动调优

    powershellCopy Code
    netsh int tcp set global autotuninglevel=experimental

使用场景:

  • 禁用自动调优:当存在兼容性问题或网络环境不适合动态调优时,可以选择禁用自动调优。
  • 最小到中等自动调优:适用于带宽较低的网络环境,或者需要有限优化的场景。
  • 默认或增强自动调优:适用于高速和高带宽的网络,特别是大数据传输、视频流和其他高性能计算任务。

可以重新启用 Windows 中的 TCP/IP 自动调整功能。自动调整功能可以根据当前的网络连接状况自动调整传输数据的窗口大小,并提高网络性能。

需要注意的是,启用自动调整功能可能会对网络连接产生影响,因此请谨慎操作并在操作前备份您的数据。


Windows 10系统

netsh int tcp set supplemental 命令用于配置Windows操作系统中TCP/IP堆栈的补充功能(supplemental features)。这些功能增强了TCP协议的性能和安全性,但也可以根据需求启用或禁用。具体的选项可以影响TCP连接的行为,例如控制拥塞窗口、最大连接数等。

以下是 netsh int tcp set supplemental 命令按功能分类的表格说明:

功能分类 命令选项 说明
启用或禁用TCP扩展功能 netsh interface tcp set supplemental=enabled 启用TCP扩展功能,增强了TCP协议的性能、稳定性和适应性。
  netsh interface tcp set supplemental=disabled 禁用TCP扩展功能,可能导致某些TCP性能和安全优化无法使用。
启用快速打开 netsh interface tcp set supplemental=fastopen=enabled 启用TCP快速打开(TCP Fast Open),可以减少连接建立的延迟,提高性能。
  netsh interface tcp set supplemental=fastopen=disabled 禁用TCP快速打开功能,使用传统的三次握手进行连接建立。
启用TCP自动调整窗口大小 netsh interface tcp set supplemental=autotuning=enabled 启用TCP自动调整窗口大小功能,根据网络的带宽和延迟自动调整接收窗口大小。
  netsh interface tcp set supplemental=autotuning=disabled 禁用TCP自动调整窗口大小功能,使用固定窗口大小。
启用TCP延迟确认 netsh interface tcp set supplemental=delayedack=enabled 启用TCP延迟确认,减少确认包的发送,提高网络带宽利用率。
  netsh interface tcp set supplemental=delayedack=disabled 禁用TCP延迟确认功能,增加数据包的确认频率。
启用或禁用Nagle算法 netsh interface tcp set supplemental=nagle=enabled 启用Nagle算法,减少小数据包的发送,优化网络带宽的使用。
  netsh interface tcp set supplemental=nagle=disabled 禁用Nagle算法,减少延迟但可能会增加网络带宽的使用。

解释:

  1. 启用或禁用TCP扩展功能:启用此功能会启用一组TCP协议的扩展,包括优化性能、增加连接稳定性等。禁用后,一些性能增强和优化可能会失效。

  2. 启用快速打开(Fast Open):TCP快速打开允许客户端发送数据在连接建立时,减少连接延迟。启用后可以在握手的过程中直接发送数据,改善连接速度。

  3. 启用TCP自动调整窗口大小:此功能使操作系统根据网络带宽、延迟和拥塞情况自动调整接收窗口的大小,优化数据传输性能。

  4. 启用TCP延迟确认(Delayed Acknowledgment):延迟确认使TCP协议可以在接收到数据后延迟发送确认包,从而减少确认包的数量,提高带宽利用率。

  5. 启用或禁用Nagle算法:Nagle算法旨在减少网络中的小数据包,通过合并小数据包的发送来提高带宽的使用效率。禁用Nagle算法可能会增加小数据包的发送频率,减少延迟。

示例命令:

  • 启用TCP扩展功能

    powershellCopy Code
    netsh interface tcp set supplemental=enabled
  • 禁用TCP扩展功能

    powershellCopy Code
    netsh interface tcp set supplemental=disabled
  • 启用TCP快速打开

    powershellCopy Code
    netsh interface tcp set supplemental=fastopen=enabled
  • 禁用TCP自动调整窗口大小

    powershellCopy Code
    netsh interface tcp set supplemental=autotuning=disabled
  • 启用Nagle算法

    powershellCopy Code
    netsh interface tcp set supplemental=nagle=enabled

使用场景:

  • 启用TCP扩展功能:适用于需要优化TCP性能和提高网络稳定性的环境,尤其在高延迟、带宽有限的网络条件下尤为有效。
  • 启用快速打开:适用于需要加速连接建立,减少延迟的应用场景,例如实时通信、视频流等。
  • 启用自动调整窗口大小:适用于带宽变化较大或者网络延迟较高的环境,能够优化TCP连接的吞吐量。
  • 禁用Nagle算法:适用于需要低延迟的实时应用,如在线游戏、实时视频通信等,Nagle算法可能导致额外的延迟。

通过这些功能的配置,可以对TCP协议进行更灵活的优化,提升网络性能并减少延迟。

netsh int tcp set supplemental template=datacenter congestionprovider=ctcp 命令添加到批处理脚本中

可以启用 Windows 中的 CTCP 拥塞控制算法,并将 TCP/IP 参数设置为数据中心模板。

CTCP 是由 Microsoft 研究团队开发的一种拥塞控制算法,旨在提高 Internet 上的 TCP 吞吐量和性能。将 TCP 参数设置为数据中心模板,则会自动适配网络流量和连接,提高效率和稳定性,适合于大多数数据中心和服务器环境。

需要注意的是,启用 CTCP 以及设置数据中心模板可能会对系统稳定性产生影响,因此请谨慎操作并在操作前备份您的数据。


 

Windows 7 系统

netsh interface tcp set global congestionprovider=ctcp 命令添加到批处理脚本中可以使用 CTCP 拥塞控制算法来管理 Windows 中的 TCP 连接。

CTCP 是由 Microsoft 研究团队开发的一种 TCP 拥塞控制算法,旨在提高 Internet 上的 TCP 吞吐量和性能。启用 CTCP 可以改善高延迟和高带宽网络的连接速度,对于数据中心和服务器环境尤其有用。

需要注意的是,启用 CTCP 可能会对系统稳定性产生影响,因此请谨慎操作并在操作前备份您的数据。

netsh interface tcp set global congestionprovider 命令用于设置TCP协议的拥塞控制算法。不同的算法可以帮助调整网络的拥塞控制策略,从而优化性能。

以下是常见的TCP拥塞控制算法,按功能分类的表格:

功能分类 算法名称 说明
经典算法 ctcp 基于经典TCP的拥塞控制算法,适用于普通的互联网应用,强调稳定的网络传输性能。
新兴算法 reno TCP Reno 是TCP的一种经典实现,主要用于互联网,具备较为简单的拥塞控制机制,但会遭遇缓慢恢复。
高效算法 bbr BBR (Bottleneck Bandwidth and RTT) 是一种高效的拥塞控制算法,特别适合高带宽、低延迟网络,减少了延迟。
适应性算法 cubic TCP Cubic 是现代Linux系统使用的默认算法,适应性强,适用于高速网络,处理长延迟和大带宽连接表现良好。
混合算法 hybla TCP Hybla 是一种拥塞控制算法,优化了大带宽-高延迟网络中的传输效率,尤其适合卫星连接等远距离网络。
TCP拥塞控制优化 westwood TCP Westwood 是为无线网络优化的拥塞控制算法,具有较好的动态调整能力,能适应无线链路的不稳定性。
节流算法 vegas TCP Vegas 是一种优化网络传输的算法,能够在拥塞之前检测网络瓶颈并提前进行节流,以减少丢包。
适应大规模网络 cubic 针对大规模网络,尤其是高带宽和高延迟的网络,Cubic比Reno表现更好,特别是在网络条件变化较大的环境中。

设置TCP拥塞控制算法示例:

powershellCopy Code
# 设置TCP拥塞控制算法为BBR
netsh interface tcp set global congestionprovider=bbr

# 设置TCP拥塞控制算法为Cubic
netsh interface tcp set global congestionprovider=cubic

# 设置TCP拥塞控制算法为Reno
netsh interface tcp set global congestionprovider=reno

# 设置TCP拥塞控制算法为CTCP
netsh interface tcp set global congestionprovider=ctcp

# 设置TCP拥塞控制算法为Vegas
netsh interface tcp set global congestionprovider=vegas

# 设置TCP拥塞控制算法为Westwood
netsh interface tcp set global congestionprovider=westwood

# 设置TCP拥塞控制算法为Hybla
netsh interface tcp set global congestionprovider=hybla

解释:

  • BBR:提供更高的吞吐量和更低的延迟,适用于需要高速、大带宽的网络。
  • Cubic:优化了TCP的性能,适合大规模网络(例如高带宽、高延迟环境)。
  • Reno:传统的拥塞控制算法,适用于大多数普通网络环境,但在高速网络环境下性能较差。
  • CTCP:Windows系统默认启用的拥塞控制算法,适合一般互联网使用。
  • Vegas:通过提前检测拥塞来减少丢包,适用于延迟敏感型应用。
  • Westwood:无线网络优化算法,适合无线或不稳定网络环境。
  • Hybla:为卫星通信等高延迟网络设计的拥塞控制算法。

通过这些算法的选择,您可以根据不同的网络环境和需求进行优化。


netsh int tcp set global timestamps=enabled 命令添加到批处理脚本中可以启用 Windows 中 TCP/IP 协议栈中的时间戳选项。时间戳选项可用于帮助识别网络延迟和计算往返时间 (RTT)。

启用时间戳选项后,TCP/IP 协议会在数据包头部添加 Timestamps 选项,并在建立连接时协商其使用。此选项也可用于检测包重传、网络延迟以及拥塞控制等问题,从而提高网络连接的可靠性和性能。

需要注意的是,启用时间戳选项可能会对系统稳定性产生影响,因此请谨慎操作并在操作前备份您的数据。

netsh int tcp set global timestamps 命令用于启用或禁用TCP时间戳选项,时间戳选项是TCP协议中的一个特性,用于帮助网络诊断、优化和提高性能。启用时间戳后,TCP连接在数据包头部包含时间戳信息,这有助于计算往返时延(RTT)等指标。

以下是 netsh int tcp set global timestamps 命令的功能分类及表格化说明:

功能分类 命令选项 说明
启用时间戳选项 netsh interface tcp set global timestamps=enabled 启用TCP时间戳选项,允许发送和接收数据包时附加时间戳信息,用于测量往返时延(RTT)等网络性能指标。
禁用时间戳选项 netsh interface tcp set global timestamps=disabled 禁用TCP时间戳选项,数据包中不再包含时间戳信息,可能会影响网络性能诊断和优化。

解释:

  1. 启用时间戳选项:启用TCP时间戳选项后,TCP协议会在每个数据包中附加一个时间戳,这对于精确测量网络延迟非常有用。尤其在高延迟或者对性能敏感的网络环境中,启用时间戳能够帮助优化数据流并精确控制流量。

  2. 禁用时间戳选项:禁用时间戳选项后,TCP协议将不再为每个数据包附加时间戳信息。这会减少一些开销,但也意味着无法准确地进行往返时延(RTT)测量和其他网络性能分析。

示例命令:

  • 启用时间戳选项

    powershellCopy Code
    netsh interface tcp set global timestamps=enabled
  • 禁用时间戳选项

    powershellCopy Code
    netsh interface tcp set global timestamps=disabled

使用场景:

  • 启用时间戳:适用于需要进行网络性能分析、延迟监控,或者进行精细网络调优的环境。时间戳有助于网络工具如Wireshark进行流量分析。
  • 禁用时间戳:适用于对性能要求较低的网络,或者出于隐私和安全考虑(避免泄露精确的时延数据)禁用时间戳选项的场景。

通过调整此设置,可以在网络中灵活选择是否启用TCP时间戳,以便优化性能或满足特定的安全需求。


在 Windows 机器上查看和配置这些与网络相关的参数,可以使用多种方法,包括注册表编辑器、命令提示符或 PowerShell。以下是查看和配置这些参数的概述:

  1. 命令提示符 (netsh) 您可以使用 netsh 命令查看和配置网络设置,例如 TCP/IP 参数。以下是检查和配置一些设置的方法:

    查看全局 TCP 设置 要查看 TCP 设置,请以管理员身份打开命令提示符并运行:

    Copy Code
    netsh interface tcp show global

    这将显示 TCP 全局参数、自动调优、拥塞控制等设置。

    修改 TCP 设置 要修改诸如最大 SYN 重传或 TCP NoDelay 等设置,可以使用 netsh 命令:

    Copy Code
    netsh interface tcp set global <parameter> = <value>

    例如,要更改 TCP NoDelay 设置,使用:

    Copy Code
    netsh interface tcp set global tcpnodelay=enabled
  2. 注册表编辑器 (regedit) 您提到的一些设置,如网络限制索引 (Network Throttling Index)、TCP ACK 频率 (TcpAckFrequency) 和最大连接数 (Max Connections),可以通过注册表编辑器进行配置。

    访问并配置网络参数的步骤:

    1. 通过在“开始”菜单搜索框中输入 regedit 并按回车键打开注册表编辑器。
    2. 导航到以下路径以查找相关的网络参数:
      Copy Code
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
      或者
      Copy Code
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netbt\Parameters

    网络限制索引 (Nti): 要更改网络限制索引,请导航到:

    Copy Code
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

    创建或修改 NetworkThrottlingIndex 值,默认值为 10。

    TCP ACK 频率: 要修改 TcpAckFrequency,请导航到:

    Copy Code
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

    创建或修改 TcpAckFrequency 值。

    大内存缓存 (LargeSystemCache): 如有需要,可以在同一 Tcpip 参数部分修改 LargeSystemCache 值,默认值为 0。

    修改前请务必备份注册表。

  3. PowerShell PowerShell 也可以用于管理一些网络配置。

    在 PowerShell 中查看或配置 TCP 设置:

    1. 以管理员身份打开 PowerShell。
    2. 使用 Get-NetTCPSetting 查看 TCP 设置:
      Copy Code
      Get-NetTCPSetting
    3. 使用 Set-NetTCPSetting 修改 TCP 参数:
      Copy Code
      Set-NetTCPSetting -SettingName "CustomSetting" -TcpAckFrequency 1

    常见的网络参数及配置位置:

    • MaxConnectionsPerServer:在注册表中配置,路径为 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
    • TcpAckFrequency:可以在注册表中配置,路径为 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
    • 初始重传超时 (RTO):通过注册表配置,路径为 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 或通过 netsh 配置。
    • 最大 SYN 重传次数:在注册表中配置,路径为 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

    常见的注册表修改示例:

    • 更改网络限制索引: 导航到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters,然后修改或创建名为 NetworkThrottlingIndex 的 DWORD 值,设置为 10(默认值)。

    • 禁用 Nagle 算法: 要禁用 Nagle 算法以提高实时应用程序的性能,您可以在注册表中创建一个 DWORD 值,路径为:

      Copy Code
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

      名称为 TcpNoDelay,值设置为 1(启用)。

    • 更改 TCP 最大 SYN 重传次数: 您可以在注册表中创建或修改 TcpMaxSynRetransmissions,路径为:

      Copy Code
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

    修改这些设置后,请确保重新启动计算机,以使更改生效。

结论: 您可以通过命令提示符、PowerShell 或注册表编辑器配置和管理各种 TCP/IP 和网络相关的参数。最常见的网络参数可以在注册表中找到,并在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 路径下进行调整。在进行任何更改之前,请务必备份注册表。


分类 参数 描述
Internet Explorer 优化 MaxConnectionsPer1_OServer 4 每个服务器的最大连接数
  MaxConnectionsPerServer 2 每个服务器的最大连接数
服务质量(QoS) NonBestEffortLimit 0 配置 QoS 限制流量,不使用最佳努力服务
  Do not use NLA n/a 不使用网络层身份验证(NLA)
主机解析优先级 LocalPriority 499 本地解析优先级
  HostPriority 500 主机解析优先级
  DnsPriority 2000 DNS 解析优先级
  NetbtPriority 2001 NetBIOS 解析优先级
游戏优化 - 网络带宽限制 NetworkThrottlingIndex default: 10 网络带宽限制指数,影响网络带宽的使用
  SystemResponsiveness default: 20 系统响应能力,影响实时应用和游戏的性能
游戏优化 - 禁用 Nagle 算法 TcpAckFrequency default: n/a TCP ACK 频率设置,影响数据传输延迟
  TCPNoDelay default: n/a 禁用 Nagle 算法,减少数据传输延迟
  TcpDelAckTicks default: n/a TCP 延迟确认设置
重传设置 Max SYN Retransmissions 4 最大 SYN 重传次数,影响连接建立稳定性
  NonSackRttResiliency disabled 禁用 TCP Sack 延迟恢复
网络内存分配 LargeSystemCache default: 0 系统缓存大小,适用于文件服务器性能优化
重传超时(RTO) Initial RTO 1000 ms 初始重传超时设置
  Min RTO 300 ms 最小重传超时设置
动态端口分配 MaxUserPort n/a 最大用户端口,影响端口分配范围
  TcpTimedWaitDelay n/a 设置 TCP 连接进入 TIME_WAIT 状态的延迟时间

解释:

  • Internet Explorer 优化:优化浏览器与服务器之间的连接设置,提高加载速度。
  • 服务质量(QoS):控制不同类型流量的优先级,提升特定流量的性能。
  • 主机解析优先级:设置本地、主机、DNS 和 NetBIOS 解析的优先级,以提高网络解析效率。
  • 游戏优化 - 网络带宽限制:设置网络带宽的限制指数和系统响应能力,优化游戏和实时应用体验。
  • 游戏优化 - 禁用 Nagle 算法:通过禁用 Nagle 算法,减少网络延迟,提高实时应用的性能。
  • 重传设置:控制 SYN 重传次数和延迟恢复,影响连接的稳定性。
  • 网络内存分配:调整操作系统缓存大小,优化内存使用,特别在文件服务器场景中。
  • 重传超时(RTO):配置 TCP 连接的重传超时,影响连接恢复速度。
  • 动态端口分配:控制操作系统端口的分配范围,确保网络连接的有效性。

这些设置有助于优化网络性能,提升系统的响应速度和连接稳定性。


查看和配置这些网络优化设置,通常需要通过Windows注册表组策略编辑器来完成。以下是如何在Windows系统中查看和配置这些设置的详细步骤:

1. 查看和配置 Internet Explorer 优化设置

这些设置通常需要通过修改Windows注册表来完成。

修改 MaxConnectionsPer1_OServer 和 MaxConnectionsPerServer:

  1. 打开注册表编辑器(按 Win + R,输入 regedit,然后按 Enter)。
  2. 导航到:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
  3. 找到或创建以下条目:
    • MaxConnectionsPer1Server
    • MaxConnectionsPerServer
  4. 双击它们并设置为所需的值(例如,4 和 2)。

2. 配置 QoS 设置

这些设置通常与服务质量和网络带宽管理相关,您可以在注册表中进行配置。

设置 NonBestEffortLimit 和禁用 NLA:

  1. 打开注册表编辑器(按 Win + R,输入 regedit,然后按 Enter)。
  2. 导航到:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\DefaultMediaCost
  3. 找到相关条目并设置 NonBestEffortLimit 和 NLA 配置(例如,将 Do not use NLA 设置为 1)。

3. 主机解析优先级(Host Resolution Priority)

这些设置用于控制本地、主机、DNS 和 NetBIOS 解析的优先级。

设置 LocalPriority、HostPriority、DnsPriority 和 NetbtPriority:

  1. 打开注册表编辑器(按 Win + R,输入 regedit,然后按 Enter)。
  2. 导航到:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. 查找并配置这些项:
    • LocalPriority
    • HostPriority
    • DnsPriority
    • NetbtPriority
  4. 配置为所需值,如:
    • LocalPriority = 499
    • HostPriority = 500
    • DnsPriority = 2000
    • NetbtPriority = 2001

4. 游戏优化 - 网络带宽限制(Network Throttling Index)

这些设置有助于优化实时应用的带宽和系统响应性。

配置 NetworkThrottlingIndex 和 SystemResponsiveness:

  1. 打开注册表编辑器(按 Win + R,输入 regedit,然后按 Enter)。
  2. 导航到:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. 配置相关项:
    • NetworkThrottlingIndex = 10(默认为 10)
    • SystemResponsiveness = 20(默认为 20)

5. 禁用 Nagle 算法(Disable Nagle's Algorithm)

Nagle 算法通常用于减少网络负载,但它会增加延迟。禁用它有助于提高实时应用程序的性能。

配置 TcpAckFrequency、TCPNoDelay 和 TcpDelAckTicks:

  1. 打开注册表编辑器(按 Win + R,输入 regedit,然后按 Enter)。
  2. 导航到:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. 查找并配置以下项:
    • TcpAckFrequency(禁用时设置为 1
    • TCPNoDelay(禁用时设置为 1
    • TcpDelAckTicks(禁用时设置为 0

6. 重传设置(Retransmissions)

这些设置控制重传的次数和延迟,通常影响连接的稳定性。

配置 Max SYN Retransmissions 和 NonSackRttResiliency:

  1. 打开注册表编辑器(按 Win + R,输入 regedit,然后按 Enter)。
  2. 导航到:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. 设置:
    • Max SYN Retransmissions = 4
    • NonSackRttResiliency = disabled

7. 网络内存分配(Network Memory Allocation)

网络内存设置通常与文件服务器优化有关。

配置 LargeSystemCache:

  1. 打开注册表编辑器(按 Win + R,输入 regedit,然后按 Enter)。
  2. 导航到:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
  3. 配置 LargeSystemCache 为 0 或 1,以优化内存使用。

8. 重传超时(Retransmit Timeout)

配置 TCP 的初始超时和最小超时,以影响连接恢复速度。

配置 Initial RTO 和 Min RTO:

  1. 打开注册表编辑器(按 Win + R,输入 regedit,然后按 Enter)。
  2. 导航到:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. 配置:
    • Initial RTO = 1000(毫秒)
    • Min RTO = 300(毫秒)

9. 动态端口分配(Dynamic Port Allocation)

配置系统可用的动态端口范围。

配置 MaxUserPort 和 TcpTimedWaitDelay:

  1. 打开注册表编辑器(按 Win + R,输入 regedit,然后按 Enter)。
  2. 导航到:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. 配置相关项(通常是动态端口范围的最大值和 TCP 连接的 TIME_WAIT 延迟时间):
    • MaxUserPort = 65534(最大动态端口号)
    • TcpTimedWaitDelay = 60(TIME_WAIT 状态的持续时间)

通过修改 Windows 注册表中的相关项,您可以优化这些网络设置和性能调整。操作时要小心,因为错误的设置可能会影响系统的稳定性。如果不确定某些设置的影响,请在修改之前备份注册表。


 

posted @ 2023-05-25 01:25  suv789  阅读(6916)  评论(0)    收藏  举报