Why does TCP change congestion control behaviour at a threshold value? Specifically what is the significance of the threshold value that makes it the logical point to change from exponential growth to linear growth?
Try an answer before revealing the guidance below.
Key Concepts
- ssthresh
- Slow start
- Congestion avoidance
- Multiplicative decrease
- Last loss event
Answer Approach
- Recall how ssthresh is set when a loss is detected.
- Relate that value to the window size that last caused congestion.
- Explain why growth should slow as the window approaches that level.
Full Answer
Answer status: Draft answer (unofficial). Revision notes, not an official marking scheme.
When TCP detects loss it sets ssthresh to half the congestion window at the time of loss. The threshold therefore marks a rate known to be safe — half of the rate that last caused congestion. Below it, TCP can grow exponentially (slow start) to recover quickly; above it, TCP is approaching the level that caused loss, so it switches to linear (additive) increase to probe cautiously for extra bandwidth instead of overshooting and causing another loss.
Shortcuts: K concepts · A approach · F answer · R reviewed · B bookmark · ← / → previous / next