Windows的TCP协议参数

注册表编辑器:regedit

表项:HKEY_LOCAL_MACHINESYSTEMCurentControlSetServicesTcpipParameters

窗口扩大因子 & 时间戳选项

 
Tcp1323Opts    REG_DWORD    0x00000001 (1)

Tcp1323Opts的取值如下:

0 - disable RFC 1323 options。禁用窗口扩大因子和时间戳选项,是默认值。

1 - window scaling enabled only。只启用窗口扩大因子选项。

2 - timestamp enabled only。只启用时间戳选项。

3 - both options enabled。同时启用窗口扩大因子和时间戳选项。

官网说明:

http://technet.microsoft.com/zh-cn/library/cc757402(v=ws.10).aspx

SACK选项


SackOpts    REG_DWORD    0x00000001 (1)

SackOpts取值范围为0 | 1,默认值为1。

描述:

Enables and disables the Selective Acknowledgement (SACK) feature of Windows Server 2003 TCP/IP.

SACK is specified in RFC 2018.

官网说明:

http://technet.microsoft.com/zh-cn/library/cc775859(v=ws.10).aspx

TcpMaxDupAcks


TcpMaxDupAcks    REG_DWORD    0x00000002 (2)

TcpMaxDupAcks的取值范围为1-3,默认为2。而Linux的默认值为3。

描述:

Specifies how many duplicate ACks (ACKs for the same sequence numbers) constitute a signal to

retransmit a segment.

When data arrives with a sequence number that is greater than expected, the receiver assumes that data

with the expected number was dropped, and it immediately sends an ACK with the ACK number set to the

expected sequence number. The receiver sends ACKs set to the same missing number each time it receives

a TCP segment that has a sequence number greater than expected.

The sender recognizes the duplicate ACKs and sends the missing segment.

官网说明:

http://technet.microsoft.com/zh-cn/library/cc783652(v=WS.10).aspx

拥塞控制算法


微软最新的TCP拥塞控制算法为Compound TCP (CTCP),windows 7默认不启用。

(1)windows Vista/2008/7

CTCP is enabled by default in computers running beta versions of Windows Server 2008 and disabled

by default in computers running Windows Vista and 7.

CTCP can be enabled with the command:

> netsh interface tcp set global congestionprovider=ctcp

or disabled with the command:

> netsh interface tcp set global congestionprovider=none

To display the current setting for CTCP use:

> netsh interface tcp show global

Parameter "Add-On Congestion Control Provider" will either have a value of "none" if CTCP is disabled

or "ctcp" if it is enabled.

(2)Windows 8

CTCP is now enabled using PowerShell as netsh is deprecated:

> set-nettcpsetting -Settingname Custom -CongestionProvider CTCP

(3)Windows 2003 & XP x64

A hotfix is available that adds CTCP support to 64 bit Windows XP and Windows Server 2003.

The following registry key can be set to 1 to enable, or 0 to disable:

> HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersTCPCongestionControl

参考:

http://en.wikipedia.org/wiki/Compound_TCP

http://support.microsoft.com/kb/949316

最大接收窗口


TcpWindowSize    REG_DWORD     number of bytes

取值范围:0-0x3FFFFFFF. 

描述:

In practice the TCP/IP stack will round the number set to the nearest multiple of maximum segment size

(MSS). Values greater than 64KB can be achieved only when connecting to other systems that support

RFC 1323 Window Scaling.

初始值

the smaller of the following values:

    0xFFFF (65536)

    GlobalMaxTcpWindowSize

    The larger of four times the MSS (5840)

    16384 rounded up to an even multiple of the MSS

The stack also tunes itself based on the media speed:

    Below 1 Mbps: 8KB

    1 Mbps - 100 Mbps: 17KB

    Greater than 10 Mbps: 64KB

This parameter determines the maximum TCP receive window size offered.

官网说明:

http://msdn.microsoft.com/en-us/cc757802

全局最大接收缓存


GlobalMaxTcpWindowSize    REG_DWORD    number of bytes

取值范围:0-0x3FFFFFFF. 

Default: This parameter does not exist by default.

描述:

Determines the largest TCP receive window that the system offers.

The TcpWindowSize parameter can be used to set the receive window on a per-interface basis.

This parameter can be used to set a global limit for the TCP window size on a system-wide basis.

官网说明:

http://technet.microsoft.com/zh-cn/library/cc957546

原文地址:https://www.cnblogs.com/aiwz/p/6333327.html