544 views
0 0 votes

Source: Forouzan Page 771
Congestion Avoidance Algorithm:
In this algorithm, each time the whole window of segments is acknowledged (one round), the size of the congestion window is increased by 1.

i'm still not sure how some people claim that after each ACK, the congestion window is incremented by 1/CNWD


i.e Wc = 1/Wc

https://youtu.be/uFR4WU86nuQ?t=4174
Suppose congestion window is 4.

1st ack received,
W = 4 + 1/4
4.25 (which i'm not even sure how possible, i think either it should be floor value or ceil value but if we do floor value then we never get pass 4.)

2nd Ack,
W = (4.25 + 1/4.25)

4.48

3rd ack,

W = 4.48 + 1/4.48
W=4.70

4th ack,
W = 4.70 + 1/4.70
W = 4.9

As you see the window size is not reached exactly 5.
For bigger value i think this will be more noticible.

1 Answer

1 1 vote

There are two ways to update the congestion window in congestion avoidance phase. Which one to use will be mentioned in the question,

First way -: Congestion window is incremented by 1mss per RTT.

Second way -: Congestion window is updated for every incoming ack using the formula. This will only give an approximation to the principle of increasing congestion window by 1 mss per RTT.

                        cwnd += MSS*MSS/cwnd

The following notes from RFC documentation further addresses your concern. You can read more about the impelementation here https://datatracker.ietf.org/doc/html/rfc5681

   
   "Some implementations maintain cwnd in units of
   bytes, while others in units of full-sized segments.  The latter will
   find equation difficult to use, and may prefer to use the
   first approach."
Position:
Show:

Related questions

5 5 votes
4 4 answers
4.1k
4.1k views
Shubham Sharma 2 asked Feb 19, 2017
4,086 views
During Congestion avoidance(Additive Increase) in tcp when 3 duplicate ACKs arrived then during that arrival phase by which algorithm did the sender window adopt increme...
3 3 votes
2 2 answers
2.6k
2.6k views
Na462 asked Dec 2, 2018
2,628 views
Assume the scenario where size of the congestion window of a TCP connection be 40KB when timeout occurs. The MSS is 2KB. Propagation delay be 200msec. Time taken by TCP c...
3 3 votes
4 answers 4 answers
2.7k
2.7k views
shikharV asked Jan 18, 2016
2,691 views
Given solution:I couldn't understand from reaching 1KB to 16KB why it took 50ms not 40ms. Please check
2 2 votes
1 1 answer
1.6k
1.6k views
Shubhanshu asked Jan 16, 2018
1,632 views
After receiving 3 duplicate ACKs sender will go to slow start phase or congestion avoidance?Somewhere, I read that, 3 duplicacy means the weak-possibility of congestion. ...