一、概述
-
在 Windows 系统中,KeepAliveTime、KeepAliveInterval、TcpMaxDataRetransmissions 是与 TCP 协议相关的参数
-
它们用于控制 TCP 连接的保活机制和数据重传行为
二、KeepAliveTime、KeepAliveInterval、TcpMaxDataRetransmissions
1、KeepAliveTime
-
作用:指定 TCP 连接在空闲多长时间后开始发送保活探测包(
Keep-Alive
包) -
默认值:通常为 7200000 毫秒(2 小时)
-
如果连接在 KeepAliveTime 内没有数据交换,系统会开始发送保活探测包以检测连接是否仍然有效
2、KeepAliveInterval
-
作用:指定在发送保活探测包后,等待确认回复的时间间隔
-
默认值:通常为 1000 毫秒(1 秒)
-
如果保活探测包未收到确认回复,系统会每隔 KeepAliveInterval 时间重发一次探测包
3、TcpMaxDataRetransmissions
-
作用:指定 TCP 在放弃连接之前,最多可以重传未确认数据的次数
-
默认值:通常为 5 次
-
如果数据包在多次重传后仍未收到确认,TCP 会认为连接已断开
三、查看参数
1、通过 Windows 注册表
- 这些 TCP 协议相关的参数存储在 Windows 注册表中,可以通过以下步骤查看它们的当前值
-
打开注册表编辑器:
按下快捷键 【Win + R】
->输入 【regedit】
->按下【回车】键
-
导航到此路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
-
在右侧窗格中查找键值:KeepAliveTime、KeepAliveInterval、TcpMaxDataRetransmissions
-
双击键值查看其当前值
- 如果某个键值不存在,表示系统正在使用默认值
2、通过 PowerShell
shell
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -Name KeepAliveTime, KeepAliveInterval, TcpMaxDataRetransmissions