Compound TCP ,简称CTCP,是微软自Windows Vista及Window Server 2008开始在TCP栈中引入的一个算法。它旨在积极调整发送方的拥塞窗口,以在不损害公平原则的基础上优化TCP对高带宽时延积连接的表现。
类似近段时间在 Linux 中常用的 TCP BBR( Bottleneck Bandwidth and Round-trip propagation time) , CTCP 能提升在高延时环境下的网络通讯质量。经过测试,开启CTCP后, 能显著改善与网络互通性较差的海外服务器上传文件、远程连接等操作的速度。
对于 Windows 10 系统
查看当前TCP全局参数
netsh int tcp show global
查看TCP默认模板及补充参数
netsh int tcp show supplemental
在这里能看到当前默认拥塞控制程序
执行下面的更改命令,重启系统。再次查看参数,确认已完成更改。
netsh int tcp set supplemental template=internet congestionprovider=ctcp
Windows Server 2019/2016
在Windows 2019中,Cubic被选为默认的拥塞控制算法,如果要修改为CTCP,参考下面链接。
Server 2019 network performance
Disabling LEDBaT on Your Windows 2016/2019 Server
Windows Vista/2008/7
在Beta版Windows Server 2008中,CTCP默认是开启的,而在Vista和Win7中默认是关闭的,需要手动开启。
显示当前设置: netsh interface tcp show global
。 Add-On Congestion Control Provider 项none
或 ctcp
代表关闭或开启。
开启 CTCP: netsh interface tcp set global congestionprovider=ctcp
关闭 CTCP: netsh interface tcp set global congestionprovider=none
Windows 2003 & XP 64bit
修改注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TCPCongestionControl
中的值,1为开启,0为关闭。