Consider a new TCP connection between a sender and a receiver. The receiver
advertised window is constant at 48 KB, the maximum segment size (MSS) is
2 KB, and the slow start threshold for TCP congestion control is 16 KB. Assume
that there are no timeouts or duplicate acknowledgements. The number of rounds
of transmission required for the congestion control algorithm of the TCP connection
to reach the congestion avoidance phase is ___________. (answer in integer)
Note: \(1\mathrm{K}=2^{10}\)
A cleaner way to solve this problem is to work in units of segments (MSS) instead of kilobytes, since TCP's congestion window doubling logic is really about the number of segments sent per round.
Convert all quantities into MSS units:
MSS = 2 KB, so:
\( ssthresh = \dfrac{16\ KB}{2\ KB} = 8\ MSS \)
\( \text{Advertised window} = \dfrac{48\ KB}{2\ KB} = 24\ MSS \) (not the limiting factor here)
Model cwnd growth in segments:
During slow start, cwnd starts at 1 segment and doubles after every round where all sent segments are acknowledged (since no losses or timeouts occur):
\( Round\ 1 \to cwnd = 1\ MSS \)
\( Round\ 2 \to cwnd = 2\ MSS \)
\( Round\ 3 \to cwnd = 4\ MSS \)
\( Round\ 4 \to cwnd = 8\ MSS \)
Check against threshold:
Since \( ssthresh = 8\ MSS \), the value \( cwnd = 8\ MSS \) reached at round 4 is exactly equal to ssthresh. TCP's rule is that slow start continues only while \( cwnd < ssthresh \); the moment \( cwnd \) reaches \( ssthresh \), the algorithm transitions into congestion avoidance, where cwnd increases by only 1 MSS per round trip instead of doubling.
Cross-check with total data sent:
Total segments sent across the 4 rounds = \( 1 + 2 + 4 + 8 = 15\ MSS = 30\ KB \), which stays well within the 48 KB advertised window, confirming the receiver window never interferes with this slow start phase.
Conclusion:
It takes exactly 4 rounds of transmission for the congestion window to climb from 1 MSS up to the threshold of 8 MSS, at which point congestion avoidance begins.
Final answer: \( 4 \)