Windows TCP Congestion Control

tcpwindowswindows 7

I noticed doing netsh interface tcp show global that Add-On Congresion Control Provider was set to none. What does that mean exactly? I'm guessing it means it uses windows default Congestion Control? What is the default for windows anyway?

Best Answer

netsh interface tcp>sh gl
...
congestionprovider - One of the following values:
none: Use the built-in standard congestion control algorithm.
ctcp: Use the add-on Compound TCP congestion control algorithm.
default: Restore the selected provider to the system default.
...

The default for Windows 7 is none (you can test this by netsh int tcp se gl cong=default).

For Windows 2008, the default was CTCP according to this article: http://technet.microsoft.com/en-au/library/bb878127.aspx (Section entitled Compound TCP). On my R2 TMG machine, it's set to CTCP, so it appears that the link above is correct, and that for client OSs it's off, for servers it's on.

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

The short description is: If you're expecting to be running applications that have a large volume of data in Sends that may be unacknowledged at any point, CTCP may help when large-latency networks are involved.