Compound TCP

Compound TCP

Compound TCP (CTCP) is a Microsoft algorithm that was introduced as part of the Windows Vista and Window Server 2008 TCP stack. It is designed to aggressively adjust the sender's congestion window to optimise TCP for connections with large bandwidth-delay products while trying not to harm fairness (as can occur with HSTCP). It is also available for Linux, as well as for Windows XP and Windows Server 2003 via a hotfix.[1]

Contents

Principles of operation

Like FAST TCP and TCP Vegas, Compound TCP uses estimates of queueing delay as a measure of congestion; if the queueing delay is small, it assumes that no links on its path are congested, and rapidly increases its rate. However, unlike FAST and Vegas, it does not seek to maintain a constant number of packets queued.

Compound TCP maintains two congestion windows: a regular AIMD window and a delay-based window. The size of the actual sliding window used is the sum of these two windows. The AIMD window is increased the same way that TCP Reno increases it. If the delay is small, the delay-based window increases rapidly to improve the utilisation of the network. Once queueing is experienced, the delay window gradually decreases to compensate for the increase in the AIMD window. The aim is to keep their sum approximately constant, at what the algorithm estimates is the path's bandwidth-delay product. In particular, when queueing is detected, the delay-based window is reduced by the estimated queue size to avoid the problem of "persistent congestion" reported for FAST and Vegas. Thus, unlike TCP-Illinois and its precursor TCP Africa, Compound TCP can reduce its window in response to delay. This increases its fairness to Reno.

Supported platforms

Windows Vista/2008/7

CTCP is enabled by default in computers running beta versions of Windows Server 2008 and disabled by default in computers running Windows Vista and 7.

CTCP can be enabled with the command:

netsh interface tcp set global congestionprovider=ctcp 

or disabled with the command:

netsh interface tcp set global congestionprovider=none

To display the current setting for CTCP use:

netsh interface tcp show global

Parameter "Add-On Congestion Control Provider" will either have a value of "none" if CTCP is disabled or "ctcp" if it is enabled.

Windows 2003 & XP x64

A hotfix is available that adds CTCP support to 64 bit Windows XP and Windows Server 2003.[2]

The following registry key can be set to 1 to enable, or 0 to disable:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TCPCongestionControl

Linux

In addition to Windows, CTCP was also ported to Linux by Angelo P. Castellani. A patch derived from this was developed at Caltech, which included CTCP's TUning By Emulation (TUBE). The patch was only available to researchers due to software patents. Since kernel version 2.6.17 the module has been incompatible and fails to compile due to kernel API changes.[3]

See also

References

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • TCP congestion avoidance algorithm — The TCP uses a network congestion avoidance algorithm that includes various aspects of an additive increase multiplicative decrease (AIMD) scheme, with other schemes such as slow start in order to achieve congestion avoidance. TCP Tahoe and Reno… …   Wikipedia

  • TCP — may stand for:Computing* Transmission Control Protocol, transport layer protocol (L4) that is one of the core protocols of the Internet protocol suite * Trusted Computing Platform, a cross platform hardware based platform for improved… …   Wikipedia

  • Algorithme TCP — Il existe des algorithmes de TCP différents pour répondre à l augmentation de la bande passante des liaisons : en effet les premiers algorithmes utilisés historiquement seraient incapables de faire monter le débit suffisamment rapidement… …   Wikipédia en Français

  • Algorthime TCP — Algorithme TCP Il existe des algorithmes de TCP différents pour répondre à l augmentation de la bande passante des liaisons : en effet les premiers algorithmes utilisés historiquement seraient incapables de faire monter le débit suffisamment …   Wikipédia en Français

  • Windows Vista networking technologies — This article is part of a series on Windows Vista New features Overview Technical and core system Security and safety Networking technologies I/O technologies Management and administration Removed features …   Wikipedia

  • Bandwidth-delay product — In data communications, bandwidth delay product refers to the product of a data link s capacity (in bits per second) and its end to end delay (in seconds). The result, an amount of data measured in bits (or bytes), is equivalent to the amount of… …   Wikipedia

  • Technical features new to Windows Vista — This article is part of a series on Windows Vista New features Overview Technical and core system Security and safety Networking technologies I/O technologies Management and administration Removed features …   Wikipedia

  • Abreviations en informatique C — Abréviations en informatique C C3, voir VIA C3 CA : certificate authority CAB : Change Advisory Board (ITIL) CAD : Computer Aided Design (Conception assistée par ordinateur) ou humoristiquement, Computer Aided Disaster CAE :… …   Wikipédia en Français

  • Abréviations En Informatique C — C3, voir VIA C3 CA : certificate authority CAB : Change Advisory Board (ITIL) CAD : Computer Aided Design (Conception assistée par ordinateur) ou humoristiquement, Computer Aided Disaster CAE : Computer aided engineering… …   Wikipédia en Français

  • Abréviations en informatique C — C3, voir VIA C3 CA : certificate authority CAB : Change Advisory Board (ITIL) CAD : Computer Aided Design (Conception assistée par ordinateur) ou humoristiquement, Computer Aided Disaster CAE : Computer aided engineering… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”