TCP congestion avoidance algorithms
The TCP uses various variations of an additive-increase-multiplicative-decrease (AIMD) scheme, with other schemas such as slow-start in order to achieve congestion avoidance.
TCP Tahoe and Reno Two such variations are those offered by TCP Tahoe and Reno. TCP specifies a maximum segment size (MSS). A congestion window is maintained, limiting the rate data is sent over a link. Congestion is detected by triple acknowledgement (ACK packet) receipts or timeout events. Timeout events are taken "more seriously" than triple acknowledgement receipts. The behaviour of Tahoe and Reno differ on an occurence of a loss event - Reno: halve congestion window on triple-ACK
- Tahoe: reduce congestion window to 1 MSS on on triple-ACK
This is the multiplicative decrease. The congestion window, after such an event, is linearly increased ("additive"-ly) until the next loss event occurs. Both algorithms reduce congestion window to 1 MSS on a timeout event. The AIMD scheme is a fair scheme. To avoid wasting time starting from a congestion window of 0 after a connection is established, a slow-start algorithm is used at connection initiation and on reduction to below a set threshold.
TCP Vegas TCP Vegas attempts to predict packet loss before it occurs by monitoring the return trip time, and uses linear reduction in the congestion window.
|
|