Congestion Control



TCP Reno Congestion Control

  1. determine capacity of network
  2. use ACK as signal that a packet has left the network (self-clocking)
  3. maintain a nearly constant (within a factor of 2) number of bytes in the network
  4. adjust to variations in available capacity



Congestion Control Mechanism



Additive Increase/Multiplicative Decrease



Slow Start



Slow Start: Properties



Fast Retransmit, Fast Recovery



Source-Based Congestion Detection



Comparison of Expected and Actual Throughput

TCP Vegas:



TCP Vegas

On timeout, decrease is multiplicative.



Congestion Control



Virtual Clock



Virtual Clock Flow Meter

Virtual clock has problem that source could send all its packets at the end, and they would take priority over all other packets.