TCP variants
Tahoe (1988)
- Slow start
- Congestion avoidance
- Only does fast retransmit, no fast recovery
- Basic ideas:
- Gently probe network for spare capacity
- Drastically reduce rate on congestion
- Windowing: self-clocking
- Other functions: RTT estimation, error recovery
Reno (1990)
- Does both fast retransmit and fast recovery
- Basic ideas:
- Fast recovery avoids slow start
- 3 DupACKs ⇒ fast retransmit + fast recovery
- Timeout ⇒ fast retransmit + slow start
Vegas (1994)
- Considers packet delay, not loss, as a hint for congestion
- Reno with a new congestion avoidance algorithm
- Converges! (provided buffer is large)