Skip to content
Main menu
  • Main page
  • Discover
  • Unexpected connections
  • Topics
  • Random article
  • Search
Your library
  • Saved articles
  • Recent discoveries
  • Rabbit-hole trails
Topic areas
  • Computer Science
  • Mathematics
  • Physics
  • Engineering
  • Biology
  • Economics
  • Curiosities
WikiholeDeeper into Wikipedia
EnglishEN
  • Saved
  • History

  • Article text and media come live from Wikipedia via the official MediaWiki API and are available under the Creative Commons Attribution-ShareAlike 4.0 License; additional terms may apply. Each article links to its source and revision.
  • WikiHole is an independent project and is not affiliated with the Wikimedia Foundation.
  • How ranking works
  • All topics
  • Reading history
  • Random article
  • MediaWiki API

Compound TCP

  • Article
  • Rabbit hole
  • Read
  • View history
Tools
Actions
  • Read
  • View history
General
  • Recent changes
  • Related articles
  • Random discovery
This article
Reading time
3 min
Topic
Computer Science
Quality
Start-class
Views
45 in 14 days
Last edited
7 Nov 2026
Print/export
  • Printable version
In other projects
  • Wikidata item
From Wikipedia, the free encyclopedia
Rabbit hole:
  1. Compound TCP

Compound TCP (CTCP) is a Microsoft congestion control algorithm introduced in Windows Vista and Windows Server 2008 that remains supported in modern Windows operating systems like Windows 10 and 11 to optimize high-bandwidth, high-latency connections.

Loading the rest of the article…

Recent changes

Rabbit hole

Where Compound TCP leads. Every connection below has a source: a link in this article, a shared Wikipedia category, or CirrusSearch text similarity. Articles already on your trail are left out.

Contents
  • (Top)
  • Principles of operation
  • Windows 2003 and XP x64
  • Windows Vista/2008/7
  • Windows 8 and up
  • Linux
  • See also
  • References
  • External links
  • Recent changes
  • Rabbit hole
Contents
Contents10 sections
  • (Top)
  • Principles of operation
  • Windows 2003 and XP x64
  • Windows Vista/2008/7
  • Windows 8 and up
  • Linux
  • See also
  • References
  • External links
  • Recent changes
  • Rabbit hole
Categories:
  • TCP congestion control

454 words · 5 references · revision 1384277137 · CC BY-SA 4.0

General
  • Recent changes
  • Related articles
  • Random discovery
This article
Reading time
3 min
Topic
Computer Science
Quality
Start-class
Views
45 in 14 days
Last edited
7 Nov 2026

Key concepts

  • Windows Vista1
  • FAST TCP1
  • TCP Vegas1
  • Additive increase/multiplicative decrease1
  • TCP Reno1
  • Bandwidth-delay product1
  • TCP-Illinois1
  • Windows PowerShell1
  • Linux1
  • Software patent1

The articles this one links to most, weighted towards the introduction.

Print/export
  • Printable version
In other projects
  • Wikidata item

Principles of operation

Like FAST TCP and TCP Vegas, Compound TCP uses estimates of queuing delay as a measure of congestion; if the queuing delay is small, it assumes that no links on its path are congested, and rapidly increases its rate. Unlike them, 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 queuing 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 queuing 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.

Descriptions of Compound TCP can be found in a conference paper,1 an Internet-Draft,2 and a US patent.3

Windows 2003 and XP x64

A hotfix is available that adds CTCP support to 64 bit Windows XP and Windows Server 2003.4

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

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

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 8 and up

Since Windows 8, Windows uses PowerShell command Set-NetTCPSetting to modify the congestion control algorithm. Around 2018, Microsoft moved from CTCP to using CUBIC in Windows 10 and the Xbox, because it was seen as very delay sensitive and also worked poorly in data centre, where delay variation was an issue.

Linux

CTCP was ported to Linux by Angelo P. Castellani. A patch derived from this was developed at Caltech, which included CTCP's TUning By Emulation (TUBE, and only released to researchers due to software patents.5 Since kernel version 2.6.17 the module has been incompatible and fails to compile due to kernel API changes.

See also

  • TCP congestion avoidance algorithm
  • Explicit Congestion Notification
  • Transmission Control Protocol — Development

References

  1. 1Tan, K.; Song, J.; Zhang, Q.; Sridharan, M. (2006). "A Compound TCP Approach for High-Speed and Long Distance Networks". Proceedings IEEE INFOCOM 2006. 25TH IEEE International Conference on Computer Communications. pp. 1–12. doi:10.1109/INFOCOM.2006.188. ISBN 1-4244-0221-2. S2CID 1741788.
  2. 2Tan, Kun; Sridharan, Murari; Bansal, Deepak; Thaler, Dave. "Compound TCP: A New TCP Congestion Control for High-Speed and Long Distance Networks". Ietf Datatracker.
  3. 3"Compound transmission control protocol [US7577097B2]". Google Patents. March 22, 2005.
  4. 4A hotfix that adds Compound TCP (CTCP) support to computers that are running Windows Server 2003 or Windows XP is available
  5. 5"Compound TCP in Linux". Archived from the original on August 2, 2008. Retrieved January 4, 2011.

External links

  • Compound TCP Internet-Draft
  • "A Compound TCP Approach for High-speed and Long Distance Networks" July 2005
  • Performance Enhancements in the Next Generation TCP/IP Stack, The Cable Guy
  • The Compound TCP for High-speed and Long Distance Networks, Microsoft Research publication
  • Vista's TCP/IP Promises and Perils, Article at Network Performance Daily
  • Caltech's Compound TCP patch for Linux
  • Enabling CTCP on 2003/XP x64: [1] Archived May 6, 2008, at the Wayback Machine,[2] Archived April 30, 2008, at the Wayback Machine
  • and , March 2008.
Report on experimental evaluation of Compound TCP
Hamilton Institute
Caltech
  • A simulation-based study of Compound TCP July 14, 2008
  • Created
    17 May 2006
    History
    110 edits
    62 contributors
    1 edit in the last 30 days
    Last edited
    7 Nov 2026

    110 revisions in total · 62 contributors · +4 / 0 bytes across 1 edits by 1 contributor in the last 30 days

    1. 7 Nov 2026, 13:25 UTCWaffle234§ growthexperiments-addlink-summary-summary:1|0|0+4diff
    2. 9 Sept 2026, 17:36 UTCHlewis008mNo edit summary−266diff
    3. 16 Mar 2023, 06:58 UTCInedibleHulk§ Supported platforms Show, don't tell.−73diff
    4. 16 Mar 2023, 06:55 UTCInedibleHulkmAmpersands suck, however.−18diff
    5. 2 Mar 2023, 07:04 UTCCitation botAlter: template type. Add: newspaper. Removed parameters. Some additions/deletions were parameter name changes. | Use this bot. Report bugs. | Suggested by Superegz | Category:Articles lacking reliable references from November 2022‎ | #UCB_Category 426/849+5diff
    6. 11 Nov 2022, 19:05 UTCAnomieBOTmDating maintenance tags: {{Better source}} {{Cspan}}+38diff
    7. 11 Nov 2022, 17:04 UTCAnonymous contributor+tmpl. citation needed; +tmpl. unreliable source; /* Linux */+27diff
    8. 21 Sept 2022, 09:39 UTCJohn of Readingm§ Windows 8 and up Typo fixing, replaced: XBox → Xbox0diff

    View full revision history

    Created
    17 May 2006
    History
    110 edits
    62 contributors
    1 edit in the last 30 days
    Last edited
    7 Nov 2026

    Go deeper: linked from this article

    • Listed under See also

      TCP congestion control

      Techniques to improve network performance

      Transmission Control Protocol (TCP) uses one of several congestion control algorithms that include various aspects of an additive increase/multiplicative decrease (AIMD) scheme, along with other…

      19 min readGo deeper
    • Listed under See also

      Transmission Control Protocol

      Principal protocol used to stream data across an IP network

      The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite, providing reliable, ordered, and error-checked delivery of a stream of octets (bytes) between applications running on hosts communicating via an IP network.

      42 min readGo deeper
    • Linked from the introduction

      Windows Vista

      2006 Microsoft operating system version

      Windows Vista is a major release of the Windows NT operating system developed by Microsoft.

      64 min readGo deeper
    • Listed under See also

      Explicit Congestion Notification

      Extension to the Internet Protocol to signal network congestion

      Explicit Congestion Notification (ECN) is an extension to the Internet Protocol and to the Transmission Control Protocol and is defined in RFC 3168 (2001).

      9 min readGo deeper

    Adjacent: shared categories and similar text

    • Linked in “Linux”

      Software patent

      Patent that covers a computer program

      A software patent is a patent on a piece of software, such as a computer program, library, user interface, or algorithm.

      28 min readGo deeper
    • Linked in “Windows 8 and up”

      PowerShell

      Cross-platform shell based on .NET technology

      PowerShell is a shell program developed by Microsoft for task automation and configuration management.

      37 min readGo deeper
    • Linked in “Linux”

      Linux

      Family of Unix-like operating systems that use the Linux kernel

      Linux (LIN-uuks) is a family of free and open-source software Unix-like operating systems based on the Linux kernel, which was first released on 17 September 1991 by Linus Torvalds.

      46 min readGo deeper
    • Shares category “TCP congestion control”

      FAST TCP

      TCP congestion avoidance algorithm

      FAST TCP (also written FastTCP) is a TCP congestion avoidance algorithm especially targeted at long-distance, high latency links, developed at the Netlab, California Institute of Technology and now being commercialized by FastSoft.

      4 min readGo deeper
    • Shares category “TCP congestion control”

      TCP Vegas

      TCP congestion avoidance algorithm

      TCP Vegas is a TCP congestion avoidance algorithm that emphasizes packet delay, rather than packet loss, as a signal to help determine the rate at which to send packets.

      3 min readGo deeper
    • Shares category “TCP congestion control”

      TCP-Illinois

      Congestion control protocol

      TCP-Illinois is a variant of TCP congestion control protocol, developed at the University of Illinois at Urbana–Champaign. It is especially targeted at high-speed, long-distance networks.

      2 min readGo deeper
    • Shares category “TCP congestion control”

      Additive increase/multiplicative decrease

      Feedback control algorithm used in congestion control

      The additive-increase/multiplicative-decrease (AIMD) algorithm is a feedback control algorithm best known for its use in TCP congestion control.

      1 min readGo deeper
    • Linked in “Principles of operation”

      Bandwidth-delay product

      Parameter in telecommunications networking

      In data communications, the bandwidth-delay product is the product of a data link's capacity (in bits per second) and its round-trip delay time (in seconds).

      2 min readGo deeper