Hello,
In Homework 4´s last exercise, 3rd question, in the correction it is stated that the previous ssthresh was 4, but couldnt it also be 3? Since, according to the TCP state machine, we can transition from slow start to congestion avoidance if window size >= ssthresh. I believe we could have gone from cwnd = 2 to cwnd = 4 during slow start, and then check that cwnd > 3. Am I mistaken?
Hi, so, let's keep it simple as we are not really considering the details of the protocol's implementation.
Let's assume the ssthresh was 3 instead of 4.
Initially, the window size is 1 and Alice sends one segment. Alice gets back an ack, sets the window to 2, and sends 2 segments.
Bob sends back two acks. Upon receiving the first one, Alice sets the window to 3 and because it is equal to ssthresh she enters congestion avoidance. When she receives the second ack, she will increase the window by less than 1 MSS (congestion avoidance).
Therefore, the window would not be 4 at t=1s.
Note: check discord if you haven't, a lot more Q&A action there :)
Let's assume the ssthresh was 3 instead of 4.
Initially, the window size is 1 and Alice sends one segment. Alice gets back an ack, sets the window to 2, and sends 2 segments.
Bob sends back two acks. Upon receiving the first one, Alice sets the window to 3 and because it is equal to ssthresh she enters congestion avoidance. When she receives the second ack, she will increase the window by less than 1 MSS (congestion avoidance).
Therefore, the window would not be 4 at t=1s.
Note: check discord if you haven't, a lot more Q&A action there :)