Step 1: Recall how slow start grows the congestion window.
TCP begins a new connection in the slow start phase. The congestion window (cwnd) starts at 1 MSS, and every round where all sent segments get acknowledged, the sender doubles cwnd for the next round. This continues until cwnd reaches or passes the slow start threshold (ssthresh), at which point the algorithm switches to the congestion avoidance phase, where growth becomes linear instead of doubling.
Step 2: Convert everything into the same unit.
MSS
\[
= 2 \text{ KB}
\]
ssthresh
\[
= 16 \text{ KB} = 8 \text{ MSS}
\]
The advertised window is 48 KB, which is 24 MSS, and it never comes into play here because cwnd never has to reach that high before hitting ssthresh.
Step 3: Track cwnd round by round in units of MSS.
Round 1: cwnd
\[
= 1 \text{ MSS} = 2 \text{ KB}
\]
Round 2: cwnd doubles to
\[
2 \text{ MSS} = 4 \text{ KB}
\]
Round 3: cwnd doubles to
\[
4 \text{ MSS} = 8 \text{ KB}
\]
Round 4: cwnd doubles to
\[
8 \text{ MSS} = 16 \text{ KB}
\]
Step 4: Check when ssthresh is reached.
At round 4, cwnd equals 16 KB, which is exactly the slow start threshold. Once cwnd reaches ssthresh, the sender stops doubling and switches to the congestion avoidance phase (linear, additive increase) starting from the next round.
So it takes 4 rounds of slow start growth for the window to climb from 1 MSS up to the threshold, after which congestion avoidance takes over.
Final Answer:
The number of rounds needed to reach the congestion avoidance phase is
\[ \boxed{4} \]