A pinned loss event cuts the toy congestion window and threshold in half.

highlighted = computed this step

Loss is the pinned drop

The loss is not inferred from timing here. It is pinned at RTT 6 so the row can be checked exactly.

loss RTT=6\text{loss RTT}=6
Loss cuts the windowToy congestion sawtooth recomputed from exact integer rules.Loss cuts the windowcwnd in MSSlossthreshold12345678910RTTRTTcwndssthreshphaseeventnext118slow startdouble2228slow startdouble4348slow startdouble8488avoidanceadd one9598avoidanceadd one106108losshalve5755avoidanceadd one6865avoidanceadd one7975avoidanceadd one81085avoidanceadd one9

The window before loss

The loss row starts with cwnd 10 and threshold 8.

cwnd=10\text{cwnd}=10
Loss cuts the windowToy congestion sawtooth recomputed from exact integer rules.Loss cuts the windowcwnd in MSSlossthreshold12345678910RTTRTTcwndssthreshphaseeventnext118slow startdouble2228slow startdouble4348slow startdouble8488avoidanceadd one9598avoidanceadd one106108losshalve5755avoidanceadd one6865avoidanceadd one7975avoidanceadd one81085avoidanceadd one9

Halve it

The toy loss rule halves cwnd exactly: 10 becomes 5. The threshold is set to the same 5.

10÷2=510\div2=5
Loss cuts the windowToy congestion sawtooth recomputed from exact integer rules.Loss cuts the windowcwnd in MSSlossthreshold12345678910RTTRTTcwndssthreshphaseeventnext118slow startdouble2228slow startdouble4348slow startdouble8488avoidanceadd one9598avoidanceadd one106108losshalve5755avoidanceadd one6865avoidanceadd one7975avoidanceadd one81085avoidanceadd one9

Summary

The cut is the tooth edge: cwnd drops from 10 to 5 for the next RTT.

10510\to5
Loss cuts the windowToy congestion sawtooth recomputed from exact integer rules.Loss cuts the windowcwnd in MSSlossthreshold12345678910RTTRTTcwndssthreshphaseeventnext118slow startdouble2228slow startdouble4348slow startdouble8488avoidanceadd one9598avoidanceadd one106108losshalve5755avoidanceadd one6865avoidanceadd one7975avoidanceadd one81085avoidanceadd one9