After the threshold, the toy congestion window grows by one MSS per RTT.

highlighted = computed this step

Avoidance grows gently

After slow start reaches the threshold, this toy uses additive increase. Each non-loss RTT adds exactly 1 MSS to cwnd.

cwndnext=cwnd+1\text{cwnd}_{next}=\text{cwnd}+1
Additive increaseToy congestion sawtooth recomputed from exact integer rules.Additive increasecwnd in MSSlossthreshold12345678910RTTRTTcwndssthreshphaseeventnext118slow startdouble2228slow startdouble4348slow startdouble8488avoidanceadd one9598avoidanceadd one106108losshalve5755avoidanceadd one6865avoidanceadd one7975avoidanceadd one81085avoidanceadd one9

The first add-one row

RTT 4 starts at cwnd 8 and ends at 9.

8+1=98+1=9
Additive increaseToy congestion sawtooth recomputed from exact integer rules.Additive increasecwnd in MSSlossthreshold12345678910RTTRTTcwndssthreshphaseeventnext118slow startdouble2228slow startdouble4348slow startdouble8488avoidanceadd one9598avoidanceadd one106108losshalve5755avoidanceadd one6865avoidanceadd one7975avoidanceadd one81085avoidanceadd one9

The slope is shallower

The next row repeats the same small increase: 9 becomes 10.

9+1=109+1=10
Additive increaseToy congestion sawtooth recomputed from exact integer rules.Additive increasecwnd in MSSlossthreshold12345678910RTTRTTcwndssthreshphaseeventnext118slow startdouble2228slow startdouble4348slow startdouble8488avoidanceadd one9598avoidanceadd one106108losshalve5755avoidanceadd one6865avoidanceadd one7975avoidanceadd one81085avoidanceadd one9

Summary

Additive increase is the gentle rising side of the sawtooth after the threshold.

add one per RTT\text{add one per RTT}
Additive increaseToy congestion sawtooth recomputed from exact integer rules.Additive increasecwnd in MSSlossthreshold12345678910RTTRTTcwndssthreshphaseeventnext118slow startdouble2228slow startdouble4348slow startdouble8488avoidanceadd one9598avoidanceadd one106108losshalve5755avoidanceadd one6865avoidanceadd one7975avoidanceadd one81085avoidanceadd one9