In the slow start phase of the TCP congestion control algorithm, the size of the congestion window: (i) does not increase (ii) increases linearly (iii) increases quadratically (iv) increases exponentially
In the slow start phase of the TCP congestion control algorithm, the size of the congestion window: (i) does not increase (ii) increases linearly (iii) increases quadratically (iv) increases exponentially
In TCP congestion control, the slow start phase increases the sender’s congestion window (cwnd) rapidly until it reaches a threshold (ssthresh). In the typical textbook model, during slow start the congestion window effectively doubles every RTT, which corresponds to exponential growth in time measured in RTTs. That makes option (iv) increases exponentially the correct choice.
Key idea: cwnd growth is driven by acknowledgments; in slow start, cwnd is increased by (approximately) one maximum segment size per ACK, which results in roughly doubling per round-trip when packet acknowledgments for the flight are received together—hence exponential growth in RTT rounds.
A useful way to see this is to model the number of packets in flight. If cwnd starts at packets and doubles each RTT, then after RTTs you have:
This is exponential in (the RTT index).
Mermaid overview of where slow start sits in TCP congestion control:
congestion window slow start ssthresh RTT
TCP Slow Start (Conceptual) — Congestion Window Growth
Correct multiple-choice answer
(iv) increases exponentially
Reasoning: In slow start, the congestion window increases so that the amount of data in flight grows roughly by a factor of 2 each RTT (because cwnd increases by about one MSS per ACK, over a flight whose size itself is increasing). This produces exponential growth across RTT rounds rather than linear or quadratic growth.
exponential growth linear growth quadratic growth
Deriving exponential cwnd growth in slow start (RTT-based view)
- 1Step 1
Let the congestion window start at MSS-sized segments (or proportional bytes).
- 2Step 2
TCP transmits approximately segments; acknowledgments begin to arrive.
- 3Step 3
As ACKs are received, cwnd is incremented (commonly approximated as MSS per ACK), so cwnd grows while the flight is being acknowledged.
- 4Step 4
After one RTT, the number of in-flight segments that can be sent is approximately doubled: .
- 5Step 5
After RTTs, , which is exponential in (RTT index).
How to recognize exponential growth fast
If the cwnd roughly doubles each RTT, that corresponds to growth (exponential), not (linear) or (quadratic).
Precision note (implementation details)
Real TCP behavior is affected by delayed ACKs, packet loss, and byte-vs-segment accounting. But the slow start concept is intentionally designed to grow cwnd rapidly—commonly summarized as doubling per RTT until ssthresh.
Conceptual cwnd growth in slow start (RTT rounds)
Exponential model:
Where slow start fits in TCP congestion control
Initialize
Connection startcwnd begins small (often using a configured initial value)."
Slow start
As ACKs arrivecwnd grows rapidly (commonly summarized as doubling per RTT) until reaching ssthresh."
Congestion avoidance
cwnd reaches ssthreshTCP typically switches to a more conservative growth rule (often additive increase)."
Common confusions about the growth rate
TCP Slow Start Quick Checks
Knowledge Check
In the slow start phase of the TCP congestion control algorithm, the size of the congestion window: does not increase / increases linearly / increases quadratically / increases exponentially