Reputation: 75565
I have recently been reading the 1988 paper on Congestion Avoidance and Control, and it made an effort to differentiate slow-start from congestion avoidance.
However, there is one point which I did not understand, regarding which algorithm operates after a packet is lost.
1
after a loss event occurs.Which algorithm will take precedence when a packet loss occurs? Will cwnd
be set to 1
or to half its current size?
Upvotes: 2
Views: 1858
Reputation: 75565
Apparently the answer is in Appendix B of the same paper, which I had skipped earlier.
The combined algorithm actually maintains two state variables, a cwnd
and an ssthresh
.
When a time-out occurs due to a packet loss, the variable ssthresh
is set to half the current the current window size, cwnd
is set to 1, and then slow-start is used to reach that threshold (adding one to the window for every ACK received).
Once the threshold is reached, cwnd
is incremented using Additive Increase (one increase for every full window of ACK) received.
Upvotes: 3