Below the threshold, the toy window doubles at each round trip.

highlighted = computed this step

Slow start grows quickly

When cwnd is below the threshold, this toy uses the slow-start rule: double the window for the next RTT.

below thresholddouble\text{below threshold}\Rightarrow\text{double}
Slow start doublesToy congestion window rows recomputed from exact integer rules.Slow start doublescwnd in MSSlossthreshold12345678910RTTRTTcwndssthreshphaseeventnext118slow startdouble2228slow startdouble4348slow startdouble8488avoidanceadd one9598avoidanceadd one106108losshalve5755avoidanceadd one6865avoidanceadd one7975avoidanceadd one81085avoidanceadd one9

First doubling

RTT 1 starts at cwnd 1 and doubles to 2.

12=21\cdot2=2
Slow start doublesToy congestion window rows recomputed from exact integer rules.Slow start doublescwnd in MSSlossthreshold12345678910RTTRTTcwndssthreshphaseeventnext118slow startdouble2228slow startdouble4348slow startdouble8488avoidanceadd one9598avoidanceadd one106108losshalve5755avoidanceadd one6865avoidanceadd one7975avoidanceadd one81085avoidanceadd one9

The doubling continues

The next slow-start rows carry that same exact rule: 2 becomes 4, then 4 becomes 8.

2482\to4\to8
Slow start doublesToy congestion window rows recomputed from exact integer rules.Slow start doublescwnd in MSSlossthreshold12345678910RTTRTTcwndssthreshphaseeventnext118slow startdouble2228slow startdouble4348slow startdouble8488avoidanceadd one9598avoidanceadd one106108losshalve5755avoidanceadd one6865avoidanceadd one7975avoidanceadd one81085avoidanceadd one9

Summary

Slow start is visible as the steep left side of the line: 1, 2, 4, 8.

1,2,4,81,2,4,8
Slow start doublesToy congestion window rows recomputed from exact integer rules.Slow start doublescwnd in MSSlossthreshold12345678910RTTRTTcwndssthreshphaseeventnext118slow startdouble2228slow startdouble4348slow startdouble8488avoidanceadd one9598avoidanceadd one106108losshalve5755avoidanceadd one6865avoidanceadd one7975avoidanceadd one81085avoidanceadd one9