2. Which TCP Congestion Control Variation Your System is Using?¶
2.1. Linux¶
# get the current CC algorithm
sysctl net.ipv4.tcp_congestion_control
# get available CC algorithms
sysctl net.ipv4.tcp_available_congestion_control
2.2. MacOS¶
# list all network related configurations
sysctl -a | grep net.inet.tcp
# search for cubic
sysctl -a | grep net.inet.tcp.cubic
# search for new reno
sysctl -a | grep net.inet.tcp.newreno
2.3. Windows¶
Client version (win vista/7/10) default NewReno, can be manually switched to Component TCP (CTCP). Server version (server 2008/2019 etc) default DCTCP (Data Center TCP), can be switched to CTCP as well.
# configure to ctcp
netsh interface tcp set global congestionprovider=ctcp
# configure back to it's default
netsh interface tcp set global congestionprovider=none
# check current configurations
# Parameter "Add-On Congestion Control Provider" "none" : not CTCP, "ctcp": is CTCP.
netsh interface tcp show global