Note: Although this is a continuation of the TCP Performance Tuning article series, it's also valuable as a standalone reference.
This is a list of 14 congestion control algorithms available in TCP. I'm presenting it in alphabetical order.
- BIC TCP - Binary Increase Congestion Control, this is the default congestion control algorithm in Linux as of kernel version 2.6.7
- Compound TCP (CTCP) - TCP Reno with a scalable delay-based component, developed by Microsoft and used in Windows Vista
- FAST TCP - uses queueing delay (rather than packet loss) as an indicator of congestion
- Hamilton TCP (H-TCP) - uses
<acronym title="Additive-Increase / Multiplicative-Decrease">
AIMD</acronym>
to control the congestion window - HighSpeed TCP (HSTCP) - a recent (2003) implementation
- Scalable TCP - adaptation of the algorithms in TCP Reno
- TCP Hybla - aimed at overcoming the extremely long
<acronym title="Round-Trip Time">
RTT</acronym>
s of satellite networks - TCP Low Priority (TCP-LP) - designed to only use 'extra' bandwidth
- TCP NewReno - TCP Reno with a modified Fast Retransmit and Fast Recovery
- TCP Reno - adds Fast Recovery to TCP Tahoe's Fast Retransmit
- TCP Tahoe - uses Fast Retransmit to reduce wait time when a packet is lost
- TCP Vegas - similar to FAST TCP, uses delay rather than loss to determine congestion
- TCP Veno - slight modification to TCP Reno, optimized for heterogeneous networks, especially those involving wireless links
- TCP Westwood+ - based on end-to-end bandwidth estimates, especially effective in wireless networks