windows上除了普通tcp之外,有一个CTCP。

据说可以提升长延时情况下的吞吐量。

win7可以方便的通过netsh int tcp set global congestionprovider=ctcp设置。

win10已经不能通过netsh设置了,只能通过power shell,ps设置。

ps里用的是NetTCPsetting,但根据下面链接,又说win10这种客户端操作系统不能修改NetTCPsetting 参数,因为是只读的。只能在服务器上设置。

https://docs.microsoft.com/en-us/powershell/module/nettcpip/set-nettcpsetting?view=win10-ps

The Set-NetTCPSetting cmdlet modifies a TCP setting. TCP settings are optimized for different network conditions including latency and congestion. To apply a TCP setting to a port number or destination IP address range, create a transport filter by using the New-NetTransportFilter cmdlet.

Note

You can modify Custom and Non-Custom settings on windows server 2016 and 2019.
You can modify only Custom settings, Internet and Datacenter settings Cannot be modified on windows 2012 or earlier versions.
You cannot modify the NetTCPsetting on Client Operating systems(Windows 7, 8.1 and 10) as they are Read-Only.

-CongestionProvider

Specifies the congestion provider property that TCP uses. The acceptable values for this parameter are:

CTCP. Compound TCP increases the receive window and amount of data sent. CTCP can improve throughput on higher latency connections.
DCTCP. Data Center TCP adjusts the TCP window based on network congestion feedback based on Explicit Congestion Notification (ECN) signaling. DCTCP may improve throughput on low latency links.
Default. Servers use DCTCP by default. Client computers use NewReno. For information about NewReno, see RFC 3782.

好了,既然不能修改模板的参数。

那如何指定使用哪个模板呢?

说是win10无法修改使用的模板

https://stackoverflow.com/questions/34619815/how-does-windows-decide-which-setting-template-internet-vs-datacenter-is-appli

一个帖子

https://social.technet.microsoft.com/Forums/windows/en-US/f55027d7-f4cf-4681-96b5-b530c9dab7e0/cant-set-netsh-int-tcp-set-supplemental