TCP协议的全局参数 netsh int tcp = NetShell 的 TCP 传输层配置上下文,只管理 tcpip.sys 内 TCP 协议参数,不管理 IP、路由、网卡硬件本身; netsh int tcp 是读写TCP 全局控制块 (TCP_GLOBAL_BLOCK) + TCP Supplemental 自定义策略模板

netsh int 网络接口配套链 全枚举实例

前置说明

  1. netsh int(netsh interface)Windows 网络接口栈管理工具,管理员权限;管理 IP、路由、TCP 参数、网卡、IPv4/IPv6、DNS、端口卸载等,PE 离线 / 在线系统网络运维高频命令。
  2. 子分支:netsh int ip(IP 地址 / 网关 / DNS)、netsh int ipv6netsh int tcp(TCP 全局参数)、netsh int udpnetsh int interface(网卡基础管理)。
  3. 配套链:查看网卡接口 → 设置静态 IP/DNS → DHCP 自动获取 → TCP 参数调优 → 重置网络栈(网络故障终极修复)
  4. 注意:修改 IP、重置网络栈会断网;PE 环境修改离线注册表才可以修改离线系统网络配置,netsh int 默认仅操作当前运行系统。

一、单命令实例

序号 命令 简要说明
1 netsh int ip show interfaces 列出本机所有网卡接口名称、索引、状态
2 netsh int ip show address 查看所有网卡 IPv4 地址、子网掩码、网关配置
3 netsh int ip show dns 查看网卡 DNS 服务器配置
4 netsh int ipv6 show address 查看 IPv6 地址配置信息
5 netsh int tcp show global 查看 TCP 全局参数:自动调优、ECN、RSS 等
6 netsh int ip set address "以太网" static 192.168.1.100 255.255.255.0 为【以太网】网卡设置静态 IP + 子网掩码
7 netsh int ip set address "以太网" dhcp 网卡 IPv4 改为 DHCP 自动获取 IP
8 netsh int ip set dns "以太网" static 223.5.5.5 设置网卡主 DNS 服务器
9 netsh int ip set dns "以太网" dhcp 网卡 DNS 改为 DHCP 自动获取
10 netsh int ip reset 重置 IPv4 协议栈,清空 IP、DNS、路由,修复网络栈损坏
11 netsh int tcp reset 重置 TCP 全局参数为默认值

二、双参数混合组合

序号 命令 简要说明
12 netsh int ip set address "以太网" static 192.168.1.100 255.255.255.0 192.168.1.1 静态 IP + 子网掩码 + 默认网关一次性配置
13 netsh int ip set dns "以太网" static 223.5.5.5 && netsh int ip add dns "以太网" 223.6.6.6 index=2 设置主 DNS,添加备用 DNS 服务器
14 netsh int ip show address "以太网" && netsh int ip show dns "以太网" 查看指定网卡 IP 与 DNS 配置,验证修改结果
15 netsh int ip reset && netsh int tcp reset 重置 IPv4 栈 + TCP 参数,网络异常经典修复组合

三、三参数混合组合

序号 命令 简要说明
16 netsh int ip set address "以太网" static 192.168.1.100 255.255.255.0 192.168.1.1netsh int ip set dns "以太网" static 223.5.5.5netsh int ip add dns "以太网" 223.6.6.6 index=2 完整静态网络配置:IP + 网关 + 主备 DNS
17 netsh int ip reset && netsh int tcp reset && netsh winsock reset 全套网络栈重置(IP+TCP+Winsock),解决大部分系统网络异常

四、多参数复杂混合组合(内网网卡配置配套链 netsh int + ipconfig + ping)

序号 命令脚本 简要说明
18 netsh int ip set address "以太网" static 192.168.1.100 255.255.255.0 192.168.1.1netsh int ip set dns "以太网" static 223.5.5.5netsh int ip add dns "以太网" 223.6.6.6 index=2ipconfig /allping 192.168.1.1 -n 4 配置静态 IP、网关、主备 DNS;查看网卡配置,ping 网关验证连通
19 netsh int ip set address "以太网" dhcpnetsh int ip set dns "以太网" dhcpipconfig /renewipconfig /all 网卡切回 DHCP 模式,释放并重新获取 IP,查看 DHCP 分配结果

场景说明:内网,网卡名称:以太网,静态 IP:192.168.1.100,网关 192.168.1.1,DNS 223.5.5.5 / 223.6.6.6

五、运维完整脚本片段(CMD 网卡静态 IP 配置脚本)

@echo off
rem 配置【以太网】静态IP网关DNS
netsh int ip set address "以太网" static 192.168.1.100 255.255.255.0 192.168.1.1
netsh int ip set dns "以太网" static 223.5.5.5
netsh int ip add dns "以太网" 223.6.6.6 index=2
echo 配置完成,查看网卡信息
ipconfig /all
echo 测试网关连通
ping 192.168.1.1 -n 4
pause

六、无效 / 边界说明

错误命令 原因
网卡名称写错执行 set address 失败 使用netsh int ip show interfaces确认网卡全名,含空格需要英文双引号包裹
netsh int ip reset执行后 IP/DNS 全部清空 重置 IPv4 栈,原有静态 IP、DNS、自定义路由全部丢失,需要重新配置
PE 中直接 netsh int 修改离线系统网卡 netsh int 仅操作当前 PE 运行环境;离线系统网络配置需要加载注册表 hive 修改
设置静态 IP 后无法上网 子网掩码、网关填写错误;或者网卡未启用,DNS 配置错误
普通用户执行 netsh int ip set /reset 修改网络参数、重置协议栈必须管理员权限

七、运维场景快速选型

  • 查看网卡 IP 配置:netsh int ip show address
  • 设置静态 IP 网关:netsh int ip set address "网卡名" static IP 掩码 网关
  • 设置主备 DNS:netsh int ip set dns + add dns
  • 网络栈故障重置:netsh int ip reset && netsh int tcp reset && netsh winsock reset

netsh int tcp 完整解构(底层原理、依赖文件、调用链、配套链、边界)

netsh int tcp = NetShell 的 TCP 传输层配置上下文,只管理 tcpip.sys 内 TCP 协议参数,不管理 IP、路由、网卡硬件本身;Vista/Win10/Win11/Server2008+ 引入 supplemental 多模板机制,支持按端口 / 子网差异化 TCP 策略,iSCSI、存储网络大量使用这套调优。

一、底层原理

Windows NT 网络栈分层:用户态 NetShell 工具 → IP Helper API → IOCTL 控制码 → tcpip.sys 内核 TCP 协议块博客园

  1. netsh int tcp 不是直接操作网卡,是读写TCP 全局控制块 (TCP_GLOBAL_BLOCK) + TCP Supplemental 自定义策略模板
  2. 参数分两类:
    • 运行时动态参数:autotuninglevel、rss、ecn、rsc;下发 IOCTL 可即时生效,无需重启
    • 静态注册表参数:部分老参数写入 HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters必须重启内核 tcpip.sys 才加载
  3. Supplemental(补充模板)机制:
    • 系统内置 5 套预置 TCP 模板;用户新建自定义模板,绑定端口 / 子网(supplementalport/supplementalsubnet
    • 当 TCP 连接源 / 目的端口、子网命中规则,tcpip.sys优先使用 supplemental 模板覆盖全局 TCP 参数,实现同主机多业务差异化 TCP(iSCSI 存储流量单独一套 TCP 参数,业务网卡另一套)
  4. Heuristics:TCP 启发式自动优化,内核动态自适应调整 RTO、重传、拥塞行为;set heuristics 控制启发开关。
  5. Security 上下文:控制 SACK、ECN 安全防护、RFC5961 窗口防护等 TCP 安全校验逻辑。

二、依赖文件(用户态 + 内核态)

用户态

文件 作用
netsh.exe NetShell 主外壳,命令分词、参数解析、加载 helper DLL,交互式 / 脚本执行入口
tcpipcfg.dll(netsh interface tcp helper) 核心扩展 DLL,int tcp 上下文全部命令实现,把 netsh 命令翻译为 iphlpapi 调用
iphlpapi.dll IP Helper API,封装 IOCTL,向内核\Device\Tcp设备下发查询 / 设置控制码(IOCTL_TCP_QUERY_GLOBAL_PARAMETERS / IOCTL_TCP_SET_GLOBAL_PARAMETERS)博客园
advapi32.dll 注册表读写,持久化 TCP 参数、supplemental 模板配置

内核态(必须加载)

驱动 作用
tcpip.sys TCP/IP 协议栈核心;维护 TCB(TCP 控制块)、全局 TCP 参数、supplemental 模板匹配引擎、RSC/RSS/ 自动调优逻辑;netsh int tcp 最终全部落地到此驱动
ndis.sys NDIS 网卡抽象层;RSS、Chimney 卸载、RSC 依赖 NDIS 与网卡硬件能力
afd.sys Winsock AFD 驱动,套接字层,TCP 连接 socket 最终由 AFD 暴露给应用程序
wfplwf.sys/fwpkclnt.sys WFP 过滤平台;TCP 安全校验、数据包过滤,与 security 参数联动

注册表持久化路径:HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters,Supplemental 模板也在此分支下存储。

三、调用链(完整执行链路,示例:netsh int tcp set global rss=enabled

CMD输入命令 → netsh.exe 解析上下文int tcp
    ↓
netsh.exe 加载 tcpipcfg.dll(helper)
    ↓
tcpipcfg.dll 校验参数,调用 iphlpapi.dll
    ↓
iphlpapi 打开内核设备 \Device\Tcp,下发IOCTL_TCP_SET_GLOBAL_PARAMETERS(需要管理员权限SE_NETWORK_CONFIGURATION_PRIVILEGE)
    ↓
tcpip.sys 接收IOCTL,自旋锁锁定TCP_GLOBAL_BLOCK,修改内存运行时参数
    ↓
tcpip.sys同步写入注册表持久化
    ↓
返回结果逐层回传 → tcpipcfg格式化文本输出给netsh控制台

查询命令(show global):普通用户即可执行 IOCTL 查询;set / 修改类命令强制管理员权限,内核校验令牌,无权限直接拒绝 IOCTL 写入博客园。

补充:PowerShell Get-NetTCPSetting / Set-NetTCPSetting 调用链路独立,走 CIM/WMI (ncprov.dll),不走 netsh+tcpipcfg.dll;底层最终同样通过 iphlpapi 与 tcpip.sys 交互。

四、配套链(上下游组件 / 配套命令,运维联动)

1. 网卡硬件 & NDIS 配套

  • 网卡高级属性:RSS、RSC、TCP Chimney Offload、巨帧 JumboFrame;netsh int tcp 开启只是软件开关,网卡驱动必须同时支持并开启硬件卸载才生效,两者缺一不可。
  • 配套命令:netsh int ipv4 set subinterfaceGet-NetAdapterAdvancedProperty 网卡硬件卸载项

2. 上层 Socket / 应用层

  • afd.sys:Winsock,所有 TCP 应用(iSCSI、RDP、文件共享)socket 依赖;TCP 参数最终影响所有 socket 新建连接。
  • iSCSI 场景:iSCSI 跑 TCP,supplemental 模板绑定 iSCSI 存储子网 / 3260 端口,单独调优 iSCSI 的 RTO、拥塞控制、RSC,这是存储网络常用方案。

3. 观测 / 诊断配套工具(共用 tcpip.sys 统计)

配套命令 用途
netsh int tcp show rscstats RSC 接收段合并统计(内核计数器)
netstat -ano TCP 连接 TCB 查看
Get-NetTCPConnection PowerShell 查看 TCP 连接
perfmon TCPv4 性能计数器 内核 TCP 连接、重传、RTO 统计
test-netconnection 端口连通性测试

4. 安全与过滤配套

WFP(Windows 过滤平台)、高级防火墙;netsh int tcp security 参数控制 TCP 栈内置校验,不是防火墙包过滤,二者独立。

5. 重置配套

netsh int tcp reset:清空全部 TCP 全局、heuristics、supplemental 模板,恢复注册表 TCP 默认值,不需要重装 tcpip.sys,部分参数需要重启生效。 netsh winsock reset:重置 Winsock AFD 目录,不属于 tcpip.sys TCP 参数,是 socket 层重置,二者独立(很多人混淆)。

五、逻辑链路分层

  1. 配置层:netsh int tcp 命令(global/heuristics/security/supplemental)
  2. API 层:iphlpapi + IOCTL 控制码
  3. 内核协议层:tcpip.sys(TCP 全局块 + supplemental 模板匹配引擎)
  4. NDIS 硬件层:ndis.sys + 网卡驱动(RSS/RSC/ 卸载硬件能力)
  5. Socket 层:afd.sys → 用户态应用 socket(iSCSI、业务程序)

六、边界与限制(重点踩坑边界)

  1. 作用域边界netsh int tcp 只管TCP 传输层不控制 IP 地址、路由、ARP、网卡 MTU、UDP。MTU 属于 IP 层,netsh int ipv4管理,不在 int tcp。
  2. Supplemental 模板匹配优先级:端口匹配 > 子网匹配 > TCP 全局参数;仅新建 TCP 连接匹配模板,已存在 TCP 会话不会动态切换模板。
  3. 硬件卸载边界(RSS/Chimney/RSC)
    • netsh 开启仅协议栈软件开关;网卡驱动不支持、网卡高级属性关闭 → 功能无效。
    • 部分老旧网卡不支持 RSC,打开无效果;iSCSI 存储网卡建议谨慎开启 RSC,部分存储阵列存在兼容性问题。
  4. 生效边界
    • 动态参数(autotuning、rss、ecn):即时生效,已存在 TCP 连接不会刷新参数,只对新连接生效
    • 静态注册表参数:修改后重启系统才加载
  5. 版本边界supplemental模板(add/delete supplementalport/subnet)Vista 及以上才支持;XP 无这套机制。
  6. 权限边界:show 类只读命令普通用户;set/add/delete/reset 修改类必须管理员提升权限
  7. iSCSI 场景边界:iSCSI 使用 supplemental 模板调优 TCP 是传输层优化,不能替代 MPIO、巨帧、网卡绑定;只是优化 TCP 拥塞、窗口、RTO,不解决链路层故障切换。
  8. 重置边界netsh int tcp reset 只重置 TCP 参数,不会重置 IP 地址、网关、DNS、Winsock

七、常见误区

  • ❌ netsh int tcp 直接控制网卡硬件:,只是 tcpip.sys 协议栈参数;硬件卸载由网卡驱动 + NDIS 控制。
  • ❌ 修改 global 参数,已经建立的 TCP 连接立刻生效:,仅新连接生效。
  • ❌ supplementalport/subnet 是防火墙规则:,是 TCP 协议栈参数模板匹配,和防火墙完全独立。
  • ❌ netsh int tcp 和 netsh winsock reset 是同一套重置:;tcp 重置 TCP 协议参数,winsock 重置 AFD 套接字目录。
PS C:\WINDOWS\system32> netsh int tcp /?

下列指令有效:

此上下文中的命令:
netsh int tcp ?        显示 netsh int tcp 上下文的所有可用子命令帮助

netsh int tcp add        添加 TCP 配置项(如自定义模板、安全项等)

netsh int tcp delete        删除 TCP 配置项

netsh int tcp dump        导出当前 TCP 栈完整配置,输出可直接导入的脚本

netsh int tcp help        等同于 netsh int tcp ?,显示该上下文帮助信息

netsh int tcp reload        重新加载 TCP 配置

netsh int tcp reset        重置 TCP/IP 协议栈到系统默认状态,常用于网络故障修复

netsh int tcp rundown        查看 TCP 资源统计,展示连接、内存、内核资源消耗信息

netsh int tcp set        设置 TCP 全局参数(RTO、RSS、自动调优、ECN、chimney 等)

netsh int tcp show        查看 TCP 当前各项配置参数、全局设置、统计信息         

若需要命令的更多帮助信息,请键入命令,接着是空格,后面跟 ?。

PS C:\WINDOWS\system32> netsh int tcp add help

下列指令有效:

此上下文中的命令:

netsh int tcp add supplementalport        新增 TCP 补充端口筛选规则;绑定 template 模板,指定 localport 本地端口、remoteport 远程端口,规则仅对新建 TCP 连接生效

netsh int tcp add supplementalsubnet        新增 TCP 补充子网筛选规则;指定 template 模板、ipv4/ipv6 地址族与 CIDR 子网,匹配子网流量使用对应 TCP 模板,仅新连接生效

PS C:\WINDOWS\system32> netsh int tcp delete help

下列指令有效:

此上下文中的命令:

netsh int tcp delete supplementalport        从 TCP 补充筛选器表删除端口规则;支持 localport 本地端口、remoteport 远程端口,* 代表匹配全部端口

netsh int tcp delete supplementalsubnet        删除 TCP 补充模板子网筛选规则;指定地址族 ipv4/ipv6,CIDR 格式子网地址

PS C:\WINDOWS\system32> netsh int tcp set help

下列指令有效:

此上下文中的命令:

netsh int tcp set global                配置 TCP 全局参数:RSS、接收窗口自动调优级别、ECN、时间戳、初始 RTO、RSC、非 SACK RTT 复原、最大 SYN 重传次数、TCP 快速打开、快速打开回退、HyStart、PRR 比例降速、pacingprofile 节奏配置;修改作用于全部新建 TCP 连接

netsh int tcp set heuristics            TCP 窗口缩放启发配置;当前 Windows 版本 wsh 参数无效,仅 forcews 可控制重传时强制窗口缩放开关

netsh int tcp set security                TCP 安全参数设置;mpp 内存压力保护、可指定端口范围,profiles 内存压力保护配置文件开关,防护 TCP 内存耗尽攻击

netsh int tcp set supplemental            修改 TCP 补充模板(automatic/datacenter/internet/compat/custom);可自定义 minrto、初始拥塞窗口 icw、拥塞控制算法、cwndrestart、延迟 ACK 超时 / 频率、RACK、尾部丢失探测;模板可被端口 / 子网筛选器绑定,实现差异化 TCP 策略

PS C:\WINDOWS\system32> netsh int tcp show /?

下列指令有效:

此上下文中的命令:

netsh int tcp show global                    查看 TCP 全局核心参数:RSS、接收窗口自动调优、ECN、RTO、RSC、HyStart、快速打开等,当前主机 TCP 栈全局配置

netsh int tcp show heuristics                TCP 窗口缩放启发式优化配置;启发机制可动态调整接收窗口缩放因子,本机当前窗口缩放启发已禁用

netsh int tcp show rscstats                    列出各网卡索引的 TCP RSC(接收段合并)支持状态,展示 V4/V6 启用状态与启用失败原因;支持附加网卡 Idx 查看单网卡详情

netsh int tcp show security                    TCP 安全防护参数,包含内存压力保护、RFC5961 窗口校验防护配置

netsh int tcp show supplemental                查看 TCP 补充模板全局模式;automatic 自动模式可根据连接自动在 Internet/Datacenter 模板间切换

netsh int tcp show supplementalports            列出 TCP 补充模板绑定的端口筛选规则;level 支持 normal/verbose,verbose 展示全事件筛选器

netsh int tcp show supplementalsubnets        列出 TCP 补充模板绑定的子网筛选规则;level 支持 normal/verbose,verbose 展示全事件筛选器

PS C:\WINDOWS\system32>

 

PS C:\WINDOWS\system32> netsh int 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

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

PS C:\WINDOWS\system32> netsh int tcp show rscstats

 Idx  Supp4  Supp6   State4    State6        失败原因 V4           失败原因 V6
 ---  -----  -----  --------  --------   -------------------------   -------------------------
 19      否      否     -n/a-     -n/a-                       硬件功能                       硬件功能
 17      是      是       已启用       已启用                       没有失败                       没有失败
  2      是      是       已启用       已启用                       没有失败                       没有失败
  3      是      是       已启用       已启用                       没有失败                       没有失败


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

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


PS C:\WINDOWS\system32> netsh int tcp show security
查询活动状态...

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

PS C:\WINDOWS\system32> netsh int tcp show supplemental

TCP 全局默认模板为 automatic


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

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

PS C:\WINDOWS\system32> netsh int tcp show supplementalports

PS C:\WINDOWS\system32> netsh int tcp show supplementalports help

用法: show supplementalports [[level=]normal|verbose]



参数:

      标记        值
      level     - 下列值之一:
                  normal: 在 TCP 补充筛选器表中显示 TCP 连接 IPv4 筛选器。
                  这是默认值。
                  verbose: 在 TCP 补充筛选器表中显示所有事件的筛选器。

备注: 显示 TCP 补充端口筛选器。


PS C:\WINDOWS\system32> netsh int tcp show supplementalsubnets help

用法: show supplementalsubnets [[level=]normal|verbose]



参数:

      标记        值
      level     - 下列值之一:
                  normal: 在 TCP 补充筛选器表中
                  显示 TCP 连接 IPv4 筛选器。这是默认值。
                  verbose: 在 TCP 补充筛选器表中显示所有事件的筛选器。

备注: 显示 TCP 补充目标子网筛选器。

 

PixPin_2026-07-15_12-09-10

TCP协议的全局参数,这些参数描述了计算机如何在网络上进行数据传输和通信。这些参数的含义如下:

  • 接收方缩放状态(Window Scaling):启用接收方缩放状态功能。
  • 接收窗口自动调节级别(Auto-tuning level):窗口自适应缩放的级别为“正常”。
  • 加载项拥塞控制提供程序(Congestion Provider):默认的拥塞控制提供程序。
  • ECN 功能(Explicit Congestion Notification):启用显示拥塞通知功能。
  • RFC 1323 时间戳(Timestamps):允许使用RFC 1323时间戳选项。
  • 初始 RTO (Initial Retransmission Time Out):初始重传超时时间为1000毫秒。
  • 接收段合并状态(Selective Acknowledgement (SACK)):启用接收段合并功能。
  • 非 Sack Rtt 复原(RTT estimation):禁用非Sack RTT的快速复原功能。
  • 最大 SYN 重新传输次数(SYN retransmit attempts):最多可以尝试4次发送SYN报文。
  • 快速打开(FastOpen):禁用TCP FastOpen功能。
  • 快速打开回退(FastOpen Fallback):启用TCP FastOpen回退功能。
  • HyStart:启用HyStart拥塞控制算法。
  • 比例费率降低(Rate Decrease Ratio):启用比例费率降低功能。
  • 节奏配置文件(TCP pacing):禁用TCP pacing功能。

这些参数的设置可以根据具体情况进行更改,以优化网络性能、提高传输效率和增加网络负载容量。


正确有效标准参数精简清单(微软官方 HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters)

参数名 类型 作用 有效值
DisabledComponents REG_DWORD 开关 IPv6 组件 0 = 启用;0x20 = 全局禁用 IPv6
TcpMaxDataRetransmissions REG_DWORD TCP 数据重传次数 3~10,默认 5
TcpMaxConnectRetransmissions REG_DWORD 连接握手重传次数 2~10,默认 2
TcpInitialRtt REG_DWORD 初始往返超时 (秒) 2~30
TcpDelAckTicks REG_DWORD 延迟 ACK 计时 0~6
TcpAckFrequency REG_DWORD 每 N 包回复 ACK 1~16
TcpMaxHalfOpen / TcpMaxHalfOpenRetried REG_DWORD 半开连接防 SYN 洪水 100~65535
Tcp1323Opts REG_DWORD 窗口缩放 + 时间戳 0 关闭;1 窗口缩放;2 时间戳;3 全部开启
EnableDeadGWDetect REG_DWORD 失效网关检测 0 关闭,1 开启
EnablePMTUBHDetect REG_DWORD PMTU 黑洞检测 0 关闭,1 开启
EnableSecurityFilters REG_DWORD TCP 安全过滤 0 关闭,1 开启
DefaultTTL REG_DWORD IPv4 默认 TTL 64/128
MaxUserPort REG_DWORD 动态端口上限 5000~65535,默认 65535
TcpTimedWaitDelay REG_DWORD TIME_WAIT 回收秒数 30~240

二、完整校验方案:核实注册表是否存在、键类型、值是否合规

方案 1:PowerShell 批量核查脚本(管理员运行,输出合规 / 异常)

功能:
  1. 遍历标准 TCP 全局参数;
  2. 判断注册表项是否存在;
  3. 校验数据类型(DWORD);
  4. 判断数值是否在合法区间;
  5. 输出异常项、修正建议;
  6. 区分无效废弃键(原文错误参数一并检测告警)。
powershell
# TCP/IP 全局注册表路径
$regPath = "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters"

# 合法标准参数配置:名称+合法最小值+合法最大值
$validTcpParams = @(
    @{Name="DisabledComponents";Min=0;Max=0xFF},
    @{Name="TcpMaxDataRetransmissions";Min=1;Max=15},
    @{Name="TcpMaxConnectRetransmissions";Min=1;Max=10},
    @{Name="TcpInitialRtt";Min=2;Max=30},
    @{Name="TcpDelAckTicks";Min=0;Max=10},
    @{Name="TcpAckFrequency";Min=1;Max=16},
    @{Name="TcpMaxHalfOpen";Min=100;Max=65535},
    @{Name="TcpMaxHalfOpenRetried";Min=100;Max=65535},
    @{Name="Tcp1323Opts";Min=0;Max=3},
    @{Name="EnableDeadGWDetect";Min=0;Max=1},
    @{Name="EnablePMTUBHDetect";Min=0;Max=1},
    @{Name="EnableSecurityFilters";Min=0;Max=1},
    @{Name="DefaultTTL";Min=1;Max=255},
    @{Name="MaxUserPort";Min=5000;Max=65535},
    @{Name="TcpTimedWaitDelay";Min=30;Max=240}
)

# 原文错误/废弃无效参数清单
$invalidParams = @(
    "TcpDynamicPorts","TcpDynamicPortRange","TcpCongestionAlgorithm","TcpFastRetransmit",
    "TcpWindowSize","MTU","TcpTimestamps","TcpMaxRouteCache","TcpNumRouteEntries",
    "EnableMulticast","IPsecPersistThroughReboots","ICMPSendEchoRequest","EnableWsd"
)

Write-Host "===== 开始校验 Tcpip\Parameters TCP全局注册表 ====`n" -ForegroundColor Cyan

# 1. 校验标准合法参数
foreach ($p in $validTcpParams) {
    $keyName = $p.Name
    $min = $p.Min
    $max = $p.Max
    $regKey = Get-ItemProperty -Path $regPath -Name $keyName -ErrorAction SilentlyContinue

    if ($null -eq $regKey) {
        Write-Host "[INFO] $keyName 注册表项不存在(默认系统值生效)" -ForegroundColor Gray
        continue
    }

    $val = $regKey.$keyName
    # 校验类型必须DWORD
    $keyObj = Get-Item $regPath
    $keyType = $keyObj.GetValueKind($keyName)
    if ($keyType -ne "DWord") {
        Write-Host "[异常] $keyName 类型错误,应为REG_DWORD,当前:$keyType 数值:$val" -ForegroundColor Red
        continue
    }
    # 校验数值区间
    if ($val -ge $min -and $val -le $max) {
        Write-Host "[合规] $keyName = $val (区间$min~$max)" -ForegroundColor Green
    }else{
        Write-Host "[异常] $keyName 数值越界 $val,合法范围$min~$max" -ForegroundColor Red
    }
}

Write-Host "`n===== 检测原文废弃/无效注册表键(存在则告警) ====`n" -ForegroundColor Cyan
# 2. 检测无效错误键
foreach ($badKey in $invalidParams) {
    $chk = Get-ItemProperty -Path $regPath -Name $badKey -ErrorAction SilentlyContinue
    if ($null -ne $chk) {
        Write-Host "[高危无效键] $badKey 存在!该参数系统不识别,配置无作用,建议删除" -ForegroundColor DarkRed
    }
}

Write-Host "`n===== 校验完成 ====" -ForegroundColor Cyan
Write-Host "说明:修改TCP注册表后必须重启 TCP/IP 服务或整机重启生效"

方案 2:cmd/wmic 离线核查(无 PowerShell 环境)

cmd
:: 读取完整Tcpip参数项
wmic registry get name,value /namespace:\\root\cimv2 path:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
:: 单独核查指定键示例
reg query "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v Tcp1323Opts
reg query "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v DisabledComponents

三、校验判定标准(核查时 4 层判断逻辑)

1. 第一层:注册表项是否存在

  • 不存在:使用系统内核默认值,无风险,无需处理;
  • 存在:进入类型 + 数值校验。

2. 第二层:键值类型是否正确

所有 TCP 全局控制参数统一要求 REG_DWORD
  • 字符串 / 二进制 / 多字符串类型:判定异常,内核无法读取配置,失效。

3. 第三层:数值是否在合法区间

小于最小值 / 大于最大值 → 越界,TCP 栈忽略该配置,等同于未设置。

4. 第四层:是否为无效废弃参数

清单内无效键只要存在即告警:系统不解析,配置完全无效,冗余注册表项,建议删除。

四、修正与生效标准操作

  1. 异常项修复示例(PowerShell)
powershell
# 示例:正确关闭IPv6
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -Name DisabledComponents -Type DWord -Value 0x20
# 示例:修正重传次数
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -Name TcpMaxDataRetransmissions -Type DWord -Value 5
# 删除无效废弃键
Remove-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -Name "TcpDynamicPorts" -ErrorAction SilentlyContinue
  1. 生效方式(二选一)
  • 重启设备(完全重载 TCP/IP 栈,推荐服务器);
  • 重启网络栈:netsh winsock reset && netsh int ip reset,重启网卡。

五、红蓝 / 运维核查落地要点

  1. 基线巡检:每周执行上述脚本,输出异常注册表项,纳入主机安全基线审计;
  2. 入侵排查:恶意程序常篡改 TcpMaxHalfOpenTcpTimedWaitDelayDisabledComponents 做隐蔽外联,脚本可快速发现篡改;
  3. 性能排查:核对 MaxUserPortTcp1323Opts 配置是否符合业务并发需求;
  4. 误配清理:批量删除原文所列无效废弃注册表键,避免运维混淆配置逻辑。

netsh int tcp show global 与注册表 HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 完整映射配套手册

前置说明

  1. 注册表分两套
    • IPv4:HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters(你提供的注册表路径)
    • IPv6:HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters,参数键名完全一致
  2. 生效差异
    • netsh 命令:即时生效,无需重启;底层封装注册表 / 内核驱动配置
    • 直接修改注册表:多数参数需重启系统才生效
  3. 截图当前状态汇总:
     
    RSS=enabled、自动调优 = normal、ECN=enabled、时间戳 = disabled、初始 RTO=1000ms、SYN 重传 = 2、TFO 关闭、HyStart 开启

一、截图 netsh 参数 ↔ 注册表键值完整对照表

netsh TCP 全局参数项 当前截图值 对应注册表键名(Tcpip\Parameters) 键类型 取值映射规则 netsh 设置命令示例
接收方缩放状态 RSS enabled RSS(网卡 NDIS 层,不在 Tcpip\Parameters,路径:HKLM\SYSTEM\CurrentControlSet\Services\NDIS\Parameters REG_DWORD 1=enabled,0=disabled netsh int tcp set global rss=enabled
接收窗口自动调节级别 normal TcpAutotuningLevel REG_DWORD 0=disabled,1=restricted,2=normal,3=experimental netsh int tcp set global autotuninglevel=normal
RFC 1323 时间戳 disabled Tcp1323Opts REG_DWORD 0 = 全部关闭;1 = 仅窗口缩放;2 = 仅时间戳;3 = 窗口缩放 + 时间戳
 
截图当前 = 0x1(仅窗口缩放,时间戳关闭)
netsh int tcp set global timestamps=disabled
ECN 功能 enabled EcnCapability REG_DWORD 0=disabled,1=enabled netsh int tcp set global ecncapability=enabled
初始 RTO (ms) 1000 TcpInitialRtt REG_DWORD 单位,netsh 单位 ms
 
netsh=1000ms → 注册表 = 1
netsh int tcp set global initialrto=1000
最大 SYN 重新传输次数 2 TcpMaxConnectRetransmissions REG_DWORD 数值完全一致,默认 2 netsh int tcp set global synattackprotect=2
快速打开 TFO disabled TcpFastOpen REG_DWORD 0=disabled,1=enabled netsh int tcp set global fastopen=disabled
快速打开回退 enabled TcpFastOpenFallback REG_DWORD 0 = 关闭,1 = 开启 netsh int tcp set global fastopenfallback=enabled
HyStart enabled HyStart REG_DWORD 0 = 关闭,1 = 开启 netsh int tcp set global hystart=enabled
比例费率降低 enabled CongestionControlProvider=ctcp 配套,无独立 Tcpip 键 - CTCP 拥塞算法内置功能,切换算法才会变化 netsh int tcp set global congestionprovider=ctcp
接收段合并 RSC enabled EnableTCPA(TCP 接收段合并) REG_DWORD 0 = 关闭,1 = 开启 netsh int tcp set global rsc=enabled
非 Sack Rtt 复原 disabled SackRttRecovery REG_DWORD 0 = 关闭,1 = 开启 netsh int tcp set global sackrttrrecovery=disabled
节奏配置文件 off QoS 相关,不在 Tcpip\Parameters - 企业域环境专用,个人 PC 保持 off netsh int tcp set global pacingprofile=off

二、你提供的注册表参数配套映射(补充无对应 netsh 全局项的键)

以下注册表键无直接 netsh int tcp global 开关,仅能通过注册表修改,全部路径:HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
注册表键名 类型 作用 有效值 配套说明
DisabledComponents REG_DWORD 全局 IPv6 开关 0 = 启用;0x20 = 全局禁用 IPv6 仅控制 IPv6 组件,netsh ipv6 命令不受影响
TcpMaxDataRetransmissions REG_DWORD 业务数据报文重传次数 3~10,默认 5 SYN 握手重传用 TcpMaxConnectRetransmissions,两者区分
TcpDelAckTicks REG_DWORD 延迟 ACK 计时器 0~6,单位 100ms,默认 2 越小延迟越低,网游推荐设 1
TcpAckFrequency REG_DWORD 每 N 个数据包回复 ACK 1~16,默认 2 设 1 = 每包立刻回 ACK,降低单向延迟
TcpMaxHalfOpen / TcpMaxHalfOpenRetried REG_DWORD 防 SYN 洪水半开连接上限 100~65535 服务器加固专用,家用 PC 无需修改
EnableDeadGWDetect REG_DWORD 失效网关自动切换 0 关闭,1 开启(默认 1) 多网卡多线路环境优化
EnablePMTUBHDetect REG_DWORD PMTU 黑洞检测(大包丢包修复) 0 关闭,1 开启 宽带、VPN 必开,解决大文件传输断流
EnableSecurityFilters REG_DWORD TCP 内置安全过滤 0 关闭,1 开启 服务器防扫描,家用关闭减少性能损耗
DefaultTTL REG_DWORD IPv4 数据包生存时间 Windows 默认 128,Linux 默认 64 FQ / 路由追踪场景常用修改
MaxUserPort REG_DWORD 客户端动态出站端口上限 5000~65535,默认 65535 netsh 等效命令:netsh int ipv4 set dynamicport tcp start=1025 num=64510
TcpTimedWaitDelay REG_DWORD TIME_WAIT 连接回收等待秒数 30~240,默认 240 高并发客户端(下载 / 爬虫)建议设 30

三、当前截图 TCP 配置完整注册表对照快照(可直接导入 reg)

reg
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"RSS"=dword:00000001
"TcpAutotuningLevel"=dword:00000002
"EcnCapability"=dword:00000001
"Tcp1323Opts"=dword:00000001
"TcpInitialRtt"=dword:00000001
"TcpMaxConnectRetransmissions"=dword:00000002
"TcpFastOpen"=dword:00000000
"TcpFastOpenFallback"=dword:00000001
"HyStart"=dword:00000001
"EnableTCPA"=dword:00000001
"SackRttRecovery"=dword:00000000

四、关键实操提示

1. netsh 与注册表优先级

  • 执行netsh set global覆盖对应注册表键值,修改即时写入注册表
  • 直接手动改注册表后,必须重启系统才能加载;netsh 无需重启

2. 场景化优化示例(注册表 + 命令行双写法)

(1)网游低延迟优化

powershell
# netsh 一键设置
netsh int tcp set global ecncapability=disabled hystart=enabled autotuninglevel=normal
# 对应注册表新增/修改
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"EcnCapability"=dword:00000000
"TcpAckFrequency"=dword:00000001
"TcpDelAckTicks"=dword:00000001

(2)服务器长距离大带宽优化

powershell
netsh int tcp set global timestamps=enabled autotuninglevel=experimental
# 注册表
"Tcp1323Opts"=dword:00000003
"TcpAutotuningLevel"=dword:00000003
"TcpMaxDataRetransmissions"=dword:00000006

3. 重置 TCP 默认配置(命令行 + 注册表重置)

powershell
# 命令行一键恢复出厂
netsh int tcp set global autotuninglevel=normal ecncapability=enabled timestamps=disabled fastopen=disabled rss=enabled rsc=enabled hystart=enabled
# 完整重置TCP/IP栈(清空所有自定义注册表)
netsh int ip reset resetlog.txt

三套场景完整优化包(.reg 注册表 + PowerShell 一键脚本)

前置说明:
  1. .reg 文件需右键「合并」导入,导入后部分参数需重启生效
  2. PowerShell 脚本必须右键以管理员身份运行,netsh 修改即时生效;
  3. 三套配置互斥,使用前先执行文末「重置默认脚本」恢复系统原始状态。

场景一:家用游戏 / 直播低延迟优化(降低抖动、减少丢包误判)

1)注册表 Game_LowLatency.reg

reg
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
; 关闭ECN,规避游戏路由拥塞误丢包
"EcnCapability"=dword:00000000
; RFC1323仅保留窗口缩放,关闭时间戳减少包头开销
"Tcp1323Opts"=dword:00000001
; 每1个报文立即回复ACK,最小单向延迟
"TcpAckFrequency"=dword:00000001
; 延迟ACK计时器缩短至100ms(默认200ms)
"TcpDelAckTicks"=dword:00000001
; TIME_WAIT快速回收,释放端口
"TcpTimedWaitDelay"=dword:0000001e
; 开启PMTU黑洞检测,修复大包卡顿断流
"EnablePMTUBHDetect"=dword:00000001
; 默认TTL统一64,匹配游戏服务器路由
"DefaultTTL"=dword:00000040
; 扩大动态端口范围
"MaxUserPort"=dword:0000fffe
; 数据重传次数适度提升,弱网家用宽带适配
"TcpMaxDataRetransmissions"=dword:00000006

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NDIS\Parameters]
"RSS"=dword:00000001
"EnableTCPA"=dword:00000001

2)配套 PowerShell 脚本 Game_LowLatency.ps1

powershell
# 游戏低延迟TCP全局配置
netsh int tcp set global rss=enabled
netsh int tcp set global rsc=enabled
netsh int tcp set global hystart=enabled
netsh int tcp set global ecncapability=disabled
netsh int tcp set global timestamps=disabled
netsh int tcp set global autotuninglevel=normal
netsh int tcp set global fastopen=disabled
netsh int tcp set global synattackprotect=2
netsh int tcp set global sackrttrrecovery=disabled
netsh int tcp set global pacingprofile=off

# 动态TCP端口扩容
netsh int ipv4 set dynamicport tcp start=1024 num=64511
netsh int ipv6 set dynamicport tcp start=1024 num=64511

Write-Host "游戏低延迟TCP参数设置完成!注册表项需重启电脑完全生效" -ForegroundColor Green

场景二:服务器 / 专线大带宽吞吐优化(异地传输、文件服务、数据库)

1)注册表 Server_HighThroughput.reg

reg
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
; 同时开启窗口缩放+时间戳,长距离高精度RTT计算
"Tcp1323Opts"=dword:00000003
; 保留ECN,专线路由支持显式拥塞通知不丢包
"EcnCapability"=dword:00000001
; 适度延迟ACK,提升大文件传输吞吐量
"TcpAckFrequency"=dword:00000002
"TcpDelAckTicks"=dword:00000002
; 提升SYN握手重传次数,对外服务防握手失败
"TcpMaxConnectRetransmissions"=dword:00000004
; 提升数据报文重传次数,跨地域专线弱链路容错
"TcpMaxDataRetransmissions"=dword:00000008
; 半开连接扩容,抵御SYN洪水攻击
"TcpMaxHalfOpen"=dword:00002710
"TcpMaxHalfOpenRetried"=dword:00000fa0
; 开启网关故障自动切换
"EnableDeadGWDetect"=dword:00000001
"EnablePMTUBHDetect"=dword:00000001
; 缩短TIME_WAIT回收,高并发连接复用
"TcpTimedWaitDelay"=dword:0000001e
"MaxUserPort"=dword:0000fffe
"DefaultTTL"=dword:00000080

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NDIS\Parameters]
"RSS"=dword:00000001
"EnableTCPA"=dword:00000001

2)配套 PowerShell 脚本 Server_HighThroughput.ps1

powershell
# 服务器大吞吐TCP全局配置
netsh int tcp set global rss=enabled
netsh int tcp set global rsc=enabled
netsh int tcp set global hystart=enabled
netsh int tcp set global ecncapability=enabled
netsh int tcp set global timestamps=enabled
netsh int tcp set global autotuninglevel=experimental
netsh int tcp set global congestionprovider=ctcp
netsh int tcp set global fastopen=enabled
netsh int tcp set global fastopenfallback=enabled
netsh int tcp set global synattackprotect=4
netsh int tcp set global sackrttrrecovery=disabled
netsh int tcp set global pacingprofile=off

# 扩容动态端口池
netsh int ipv4 set dynamicport tcp start=1024 num=64511
netsh int ipv6 set dynamicport tcp start=1024 num=64511

Write-Host "服务器大吞吐TCP参数设置完成!导入注册表后重启生效" -ForegroundColor Green

场景三:高并发客户端优化(爬虫、批量下载、多连接工具)

1)注册表 Client_HighConcurrent.reg

reg
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"Tcp1323Opts"=dword:00000001
"EcnCapability"=dword:00000000
; 极速回收TIME_WAIT端口
"TcpTimedWaitDelay"=dword:0000001e
; 全开动态端口上限
"MaxUserPort"=dword:0000fffe
; 降低延迟ACK,多并发小包场景
"TcpAckFrequency"=dword:00000001
"TcpDelAckTicks"=dword:00000001
"EnablePMTUBHDetect"=dword:00000001
"TcpMaxDataRetransmissions"=dword:00000005
"DefaultTTL"=dword:00000040

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NDIS\Parameters]
"RSS"=dword:00000001
"EnableTCPA"=dword:00000001

2)配套 PowerShell 脚本 Client_HighConcurrent.ps1

powershell
# 高并发客户端TCP全局配置
netsh int tcp set global rss=enabled
netsh int tcp set global rsc=enabled
netsh int tcp set global hystart=enabled
netsh int tcp set global ecncapability=disabled
netsh int tcp set global timestamps=disabled
netsh int tcp set global autotuninglevel=restricted
netsh int tcp set global fastopen=disabled
netsh int tcp set global synattackprotect=2
netsh int tcp set global sackrttrrecovery=disabled
netsh int tcp set global pacingprofile=off

# 最大化出站动态端口
netsh int ipv4 set dynamicport tcp start=1024 num=64511
netsh int ipv6 set dynamicport tcp start=1024 num=64511

Write-Host "高并发客户端TCP参数设置完成!导入注册表后重启生效" -ForegroundColor Green

通用重置脚本(切换配置前必须执行,恢复系统出厂 TCP)

PowerShell Reset_TCP_Default.ps1

powershell
# 重置netsh TCP全局至系统默认
netsh int tcp set global autotuninglevel=normal
netsh int tcp set global ecncapability=enabled
netsh int tcp set global timestamps=disabled
netsh int tcp set global fastopen=disabled
netsh int tcp set global fastopenfallback=enabled
netsh int tcp set global rss=enabled
netsh int tcp set global rsc=enabled
netsh int tcp set global hystart=enabled
netsh int tcp set global synattackprotect=2
netsh int tcp set global sackrttrrecovery=disabled
netsh int tcp set global pacingprofile=off
netsh int tcp set global congestionprovider=default

# 重置IPv4/IPv6动态端口默认范围
netsh int ipv4 set dynamicport tcp start=49152 num=16384
netsh int ipv6 set dynamicport tcp start=49152 num=16384

# 完整重置TCP/IP栈(清空所有自定义Tcpip注册表项)
netsh int ip reset reset_tcp_log.txt
netsh winsock reset

Write-Host "TCP栈已全部重置为系统默认,建议重启电脑后再加载其他优化配置" -ForegroundColor Yellow

重置注册表(清空自定义 TCP 参数 Reset_TCP_Reg.reg

reg
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
; 删除所有自定义TCP优化键,恢复系统默认值
"EcnCapability"=-
"Tcp1323Opts"=-
"TcpAckFrequency"=-
"TcpDelAckTicks"=-
"TcpTimedWaitDelay"=-
"MaxUserPort"=-
"TcpMaxDataRetransmissions"=-
"TcpMaxConnectRetransmissions"=-
"TcpMaxHalfOpen"=-
"TcpMaxHalfOpenRetried"=-
"EnableDeadGWDetect"=-
"EnablePMTUBHDetect"=-
"DefaultTTL"=-
"TcpFastOpen"=-
"TcpFastOpenFallback"=-
"HyStart"=-

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NDIS\Parameters]
"RSS"=-
"EnableTCPA"=-

使用流程规范

  1. 先运行 Reset_TCP_Default.ps1,执行重置;
  2. 导入对应场景 .reg 注册表文件;
  3. 运行同场景 .ps1 PowerShell 脚本;
  4. 重启电脑,注册表修改完全加载;
  5. 验证配置:管理员终端执行 netsh int tcp show global 核对参数。

 

三套 TCP 优化场景核心参数差异对照表

一、netsh 全局参数(即时生效项)

参数项 家用游戏低延迟 服务器大吞吐 高并发客户端(爬虫 / 下载) 系统默认值
autotuninglevel normal experimental restricted normal
ecncapability disabled enabled disabled enabled
timestamps disabled enabled disabled disabled
fastopen disabled enabled disabled disabled
synattackprotect 2 4 2 2
hystart enabled enabled enabled enabled
rss / rsc enabled enabled enabled enabled
congestionprovider default ctcp default default

差异逻辑说明

  1. 接收窗口自动调优级别
    • experimental:服务器专线大带宽,最大化长距离传输吞吐量;
    • normal:家用游戏平衡延迟与带宽;
    • restricted:爬虫 / 多下载,限制窗口避免单连接抢占全部带宽。
  2. ECN 功能
    • 服务器专线专用开启:专业路由支持拥塞标记不丢包;
    • 家用 / 爬虫关闭:家用路由器、游戏网关对 ECN 兼容差,易出现误丢包、跳 ping。
  3. RFC1323 时间戳
    • 仅服务器开启:跨地域长链路精准计算 RTT,优化拥塞判断;
    • 其余场景关闭:减少包头额外开销,降低小包延迟。
  4. TCP 快速打开 TFO
    • 服务器开启:对内网 / 业务客户端减少握手延迟;
    • 家用 / 爬虫关闭:公网防火墙大量拦截 TFO 报文,兼容性差。
  5. SYN 重传次数 synattackprotect
    • 服务器设 4:对外公网服务,网络波动时提升握手成功率;
    • 家用 / 爬虫保持 2:快速清理无效半开连接,节省系统资源。

二、Tcpip\Parameters 注册表核心键值(需重启生效)

注册表键名 家用游戏低延迟 服务器大吞吐 高并发客户端 默认值
Tcp1323Opts 1(仅窗口缩放) 3(缩放 + 时间戳) 1(仅窗口缩放) 1
TcpAckFrequency 1(每包回 ACK) 2(默认) 1(每包回 ACK) 2
TcpDelAckTicks 1(100ms) 2(200ms) 1(100ms) 2
TcpTimedWaitDelay 30 秒 30 秒 30 秒 240 秒
MaxUserPort 65534 65534 65534 65535
TcpMaxDataRetransmissions 6 8 5 5
DefaultTTL 64 128 64 128
TcpMaxHalfOpen / Retried 不修改 扩容至 10000/4000 不修改 小数值
EnableDeadGWDetect 默认开启 强制开启 默认开启 1
EnablePMTUBHDetect 开启 开启 开启 0

差异逻辑说明

  1. TcpAckFrequency + TcpDelAckTicks(延迟 ACK 控制)
    • 游戏 / 爬虫设 1+1:小包即时应答,大幅降低单向延迟,适合游戏、高频短连接;
    • 服务器保持默认 2+2:合并 ACK 减少报文数量,提升大文件传输吞吐量。
  2. TcpMaxDataRetransmissions(数据重传次数)
    • 服务器 8 次:跨城 / 跨国外专线链路波动大,容错性拉满;
    • 游戏 6 次:家用宽带偶尔丢包,兼顾延迟与重传容错;
    • 爬虫 5 次:超时快速放弃连接,加速发起新请求。
  3. DefaultTTL
    • 服务器 128:Windows 原生值,减少路由跳数衰减;
    • 游戏 / 爬虫 64:匹配 Linux 游戏服务器、海外节点 TTL,路由追踪更精准。
  4. 半开连接池 TcpMaxHalfOpen
    • 仅服务器扩容:抵御公网 SYN 洪水、海量并发握手;
    • 家用 / 爬虫无需修改,默认池足够日常使用。
  5. TcpTimedWaitDelay 统一 30 秒
     
    三类场景全部缩短 TIME_WAIT 回收,游戏快速复用端口、服务器 / 爬虫应对海量并发连接。

三、场景适用边界速查

1. 家用游戏低延迟

✅ 适用:网游、直播、语音通话、远程桌面
 
❌ 不适用:自建文件服务器、异地专线传输
 
核心取舍:牺牲部分吞吐量,极致降低延迟与 ping 抖动。

2. 服务器大吞吐

✅ 适用:文件共享、数据库、公网业务服务、跨地域专线
 
❌ 不适用:单人游戏、大量短连接爬虫
 
核心取舍:优先最大化带宽吞吐,适度放宽延迟容忍度,增强公网抗攻击能力。

3. 高并发客户端

✅ 适用:批量爬虫、多线程下载、多节点数据同步、压测工具
 
❌ 不适用:对外提供服务、低延迟竞技游戏
 
核心取舍:极速回收端口、限制单连接带宽抢占,支撑上万并发短连接。

四、切换配置操作顺序(标准化流程)

  1. 执行 Reset_TCP_Default.ps1,重置所有 netsh 参数;
  2. 导入 Reset_TCP_Reg.reg,清空自定义注册表键;
  3. 重启电脑,彻底清空旧 TCP 配置缓存;
  4. 导入目标场景 .reg 注册表;
  5. 运行同场景 .ps1 PowerShell 脚本;
  6. 再次重启电脑,注册表内核参数完全加载;
  7. 管理员终端执行 netsh int tcp show global 校验参数。

 

 

netsh int tcp show /?

下列指令有效:

此上下文中的命令:
show global    - 显示全局 TCP 参数。
show heuristics - 显示启发 TCP 参数。
show rscstats  - 显示支持接收段合并的接口的 TCP 统计信息。
show security  - 显示 TCP 安全参数。
show supplemental - 显示基于 TCP 参数的补充模板。
show supplementalports - 在 TCP 补充筛选器表中显示端口元组。
show supplementalsubnets - 在 TCP 补充筛选器表中显示目标子网。

 PixPin_2026-07-15_10-47-21

netsh int tcp  show supplemental

TCP 全局默认模板为 internet

TCP 补充参数
----------------------------------------------
最小 RTO (毫秒)                  : 300
初始拥塞窗口(MSS)     : 10
拥塞控制提供程序         : cubic
启用拥塞窗口重新启动    : disabled
延迟 ACK 超时(毫秒)          : 40
延迟 ACK 频率               : 2
启用 RACK                         : enabled
启用尾部丢失探测              : enabled

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

 PixPin_2026-07-15_10-48-17

netsh int tcp show security
查询活动状态...

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

 PixPin_2026-07-15_10-48-43

netsh int tcp show rscstats

 Idx  Supp4  Supp6   State4    State6        失败原因 V4           失败原因 V6
 ---  -----  -----  --------  --------   -------------------------   -------------------------
 18      否      否     -n/a-     -n/a-                       硬件功能                       硬件功能
 12      是      是       已启用       已启用                       没有失败                       没有失败
 11      是      是       已启用       已启用                       没有失败                       没有失败
 17      是      是       已启用       已启用                       没有失败                       没有失败


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

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

 PixPin_2026-06-06_16-48-39

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

PixPin_2026-06-06_16-49-04

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

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

PixPin_2026-06-06_16-49-22

PixPin_2026-07-15_10-50-31

PixPin_2026-07-15_10-51-22

posted @ 2023-05-20 10:18  suv789  阅读(1537)  评论(0)    收藏  举报