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

netsh | Microsoft Learn

 

netsh interface tcp show

下列指令有效:

此上下文中的命令:
netsh interface tcp show global    - 显示全局 TCP 参数。
netsh interface tcp show heuristics - 显示启发 TCP 参数。
netsh interface tcp show rscstats  - 显示支持接收段合并的接口的 TCP 统计信息。
netsh interface tcp show security  - 显示 TCP 安全参数。
netsh interface tcp show supplemental - 显示基于 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 输出结果

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


设置名称 : 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]             :

 
名称                                              : 以太网
接口描述                                          : 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

 

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  阅读(5366)  评论(0)    收藏  举报