retagged by
14,373 views
17 votes
17 votes
Consider a $\textsf{TCP}$ connection between a client and a server with the following specifications; the round trip time is $6$ ms, the size of the receiver advertised window is $50$ KB, slow-start threshold at the client is $32$ KB, and the maximum segment size is $2$ KB. The connection is established at time $t=0$. Assume that there are no timeouts and errors during transmission. Then the size of the congestion window (in $\text{KB}$) at time $t+60$ ms after all acknowledgements are processed is _______
retagged by

4 Answers

Best answer
21 votes
21 votes

In Case of AIMD(Additive Increase/ Multiplicative Decrease): -

  1. Start with given MSS (Min Sequence Size)
  2. Increase the window size in multiples of MSS till the slow start threshold occurs
  3. Once the threshold reached, increase the window size by 1 MSS till the timeout occurs
  4. Once the timeout occurs, reduce threshold to half of current window size and again start from given start MSS.

$t=0$

$1\ \textsf{MSS}= 2 \ KB$

$W_{\textsf{threshold}} = 32\ KB$

$| \rightarrow \text{denotes } 1$ $\textsf{RTT}$

$\small \underbrace{2\ \overset{+1 \textsf{ MSS}}{ |_{t+6}}\ 4\ \overset{+2\textsf{ MSS}}{ |_{t+12}}\ 8\ \overset{+4\textsf{ MSS}}{|_{t+18}}\ 16\  \overset{+8\textsf{ MSS}}{|_{t+24}}\  }_{\textsf{exponential increase}}32\ \underbrace{ \overset{+1\textsf{ MSS}}{|_{t+30}} \ 34\ \overset{+1\textsf{ MSS}}{|_{t+36}}\ 36\ \overset{+1\textsf{ MSS}}{|_{t+42}}\ 38\ \overset{+1\textsf{ MSS}}{|_{t+48}}\ 40\ \overset{+1\textsf{ MSS}}{|_{t+54}}\ 42 \ \overset{+1\textsf{ MSS}}{|_{t+60}}\ 44}_{\textsf{linear increase after theshold}}$

$\therefore$ The size of the congestion window(in KB) at time $t+60$ ms after all acknowledgments are processed is $44$ KB

edited by
21 votes
21 votes

The state of congestion window changes as below

Note : As specified in question, there are no errors and timeouts

  • At $t : 1\textsf{ MSS}$
  • At $t+6 : 2\textsf{ MSS}$
  • At $t+12 : 4\textsf{ MSS}$
  • At $t+18 : 8\textsf{ MSS}$
  • At $t+24 : 16\textsf{ MSS}$

Now here since threshold value is reached, it is no longer in slow start phase and enters congestion avoidance phase

  • At $t+30 : 17 \textsf{ MSS}$
  • At $t+36 : 18 \textsf{ MSS}$
  • At $t+42 : 19 \textsf{ MSS}$
  • At $t+48 : 20 \textsf{ MSS}$
  • At $t+54 : 21 \textsf{ MSS}$
  • At $t+60 : 22 \textsf{ MSS}$

So at time $t+60,$ the congestion window size is $22 \textsf{ MSS}$ i.e., $44 \textsf{ KB}.$

edited by
1 votes
1 votes

To the people having doubts whether the threshold will be 25 or 32

The congestion window (cwnd) is a sender-side limit on the amount of data the sender can transmit into the network before receiving an acknowledgment (ACK), while the receiver's advertised window (rwnd) is a receiver-side limit on the amount of outstanding data.  The minimum of cwnd and rwnd governs data transmission.  

Another state variable, the slow start threshold (ssthresh), is used to determine whether the slow start or congestion avoidance algorithm is used to control data transmission

So it clearly states that the minimum of the two thresholds will be taken if the slow start threshold is not given.

 

ref: https://datatracker.ietf.org/doc/html/rfc5681

Answer:

Related questions

28 votes
28 votes
8 answers
3
Arjun asked Feb 12, 2020
16,529 views
The number of permutations of the characters in LILAC so that no character appears in its original position, if the two L’s are indistinguishable, is ______.