How To: Enable CTCP(Compound TCP) And ECN (Explicit Congestion Notification) In Windows Vista
One significant addition to Windows Vista’s TCP/IP stack is CTCP or Compound TCP.CTCP(Compound TCP) is a technology that came out of the Microsoft Research group as a way to deal with connections that have a large bandwidth-delay product. This is because traditional TCP is inherently a conservative and well behaved system based on reliability and sharing as the most important properties.A good example of large bandwidth-delay type of connection would be satellite internet or wireless technology like EVDO or WiMax.This “secret” advanced networking feature disabled by default in Windows Vista. You need to have Auto-Tuning enabled for this to work.
ECN (Explicit Congestion Notification) is a mechanism that provides routers with an alternate method of communicating network congestion. It is aimed to decrease retransmissions. In essence, ECN (Explicit Congestion Notification) assumes that the cause of any packet loss is router congestion. It allows routers experiencing congestion to mark packets and allow clients to automatically lower their transfer rate to prevent further packet loss.ECN (Explicit Congestion Notification) is disabled by default in Windows Vista, as it is possible that it may cause problems with some older routers that do not support this feature.
Open a command prompt as an administrator(elevated command prompt) in Windows Vista or you will get an error that request needs to be elevated.
- To Enable CTCP(Compound TCP) in Windows Vista run the following command in an elevated command prompt:
netsh interface tcp set global congestionprovider=ctcp
- To Disable CTCP(Compound TCP) in Windows Vista run the following command in an elevated command prompt:
netsh interface tcp set global congestionprovider=none
- To Enable ECN (Explicit Congestion Notification) in Windows Vista run the following command in an elevated command prompt:
netsh int tcp set global ecncapability=enabled
- To verify changes,run the following command in an elevated command prompt:
netsh int tcp show global
Notes:
- If you are going to use CTCP(Compound TCP) on a lossy connection that might have packets come back out of order, you might also want to enable RFC 1323 timestamps, unless you are on a very low bandwidth connection. You can do that by running ‘netsh interface tcp set global timestamps=enabled‘ in an elevated command prompt.
- “Large bandwidth-delay product” usually means there is a very busy (congested) network or a connection that has a long trip to make (like satellite).
Popularity: 7%
Did You Like This Post? Then You Might Find These Also Interesting:
Written by Tony on March 10th, 2009 with
no comments.
Read more articles on Vista Networking.





