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

Tahoe congestion window

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)