in Computer Networks retagged by
22,598 views
36 votes
36 votes

Consider the following statements regarding the slow start phase of the TCP congestion control algorithm. Note that cwnd stands for the TCP congestion window and MSS window denotes the Maximum Segments Size:

  1. The cwnd increases by $2$ MSS on every successful acknowledgment
  2. The cwnd approximately doubles on every successful acknowledgment
  3. The cwnd increases by $1$ MSS every round trip time
  4. The cwnd approximately doubles every round trip time

Which one of the following is correct?

  1. Only $\text{(ii)}$ and $\text{(iii)}$ are true
  2. Only $\text{(i)}$ and $\text{(iii)}$ are true
  3. Only $\text{(iv)}$ is true
  4. Only $\text{(i)}$ and $\text{(iv)}$ are true
in Computer Networks retagged by
by
22.6k views

4 Comments

@Mohnish in your comment  i think option B should  also correct bcoz in question they are asking about slow start phase

0
0

.

0
0
I think option (II) AND (IV) both are saying same thing bcoz when the total time taken to send pkt and get acknowledged is called round trip time so that both statement are saying same thing

please correct me if i am wrong and also explain it ?
0
0

9 Answers

47 votes
47 votes
Best answer

Each time an $ACK$ is received by the sender, the congestion window is increased by $1$ segment: $CWND = CWND + 1$.

$CWND$ increases exponentially on every $RTT$.

Hence, correct answer is C.

https://www.utdallas.edu/~venky/acn/CongestionControl.pdf

edited by

21 Comments

edited by
(i) False, because the cnwd increases by 1MSS(cnwd=cnwd+1) on every successful acknowledgement (when sender receive an acknowledgement).

(ii) False, because same reason as above.

(iii) False, because the cnwd increases exponentially on every RTT.

(iv) True, because the cnwd increases exponentially on every RTT so we can say that it approximately double the cnwd.

Hence 'C' is the answer.
35
35
So Is that mean TCP doesn't use cumulative ack?

As if they are cumulative RTT = Time for which sender sees successful ack

then answer should be both ii & iv
4
4
@charan TCP works on cumulative acknowledgement. it is selective repeat ARQ which does not work on cumulative acknowledgement
2
2
edited by
What is round trip time means here?

Time for acknowledgment of 1 Segment  or All segments in  window
2
2
Round trip time here is for all segments . So is CWND increases exponantialy . two -four- eight- sixteen ... . lets there is cwnd is 4 then its sends 4 packets and increase its cwnd by one each time it gets ack .  at first cwnd =5 , after  second ack = 6 again after third ack cwnd = 7 on fourth ack cwnd = 8 .

This is what round trip time means here . you can consider its as ACK for Last frame in CWND  .
27
27
@Smishra95

Every segment is acknowledged individually right ?

Then only we can say cwnd increases by 1 MSS per ack and time to get ack back is RTT for segment isn't it ?
0
0

yeah . you are  ryt . But in TCP congestion control RTT is used for Retransmission timer i e when this timer goes of and ack not recieved then retransmit that again . It increases CWND by one on each ACK . Lets say in first RTT it sends One frame after ack it will send two frames . say fr1 ,fr 3

when ack of fr1 arrives its end again two frames further when ack of fr3 arrrives it sends again two frames in network. Thats why in second RTT there is four frames in network . 

since slow start is exponatial in nature so when ADDITIVE INCREASE phase

RTT is a calculated value which follows jacobbes work to caculate it . REF: NETWORKIN TENENBOUM

0
0
cwnd increases by 1 MSS after every round trip time then  right??
0
0

Can anyone please explain why option $\text{ii}$ is false.

In Forouzan, it is clearly mentioned that after acknowledgement window size doubles.

6
6

 when ack is received of a segment then cwnd is increased by only 1MSS but when all acks are received of all segments then cwnd is doubled. 

for example 

we are yet to receive 2ACKS and cwnd is 2.

then after we receive 1st ACK, cwnd + 1MSS = 2 + 1 = 3

then after we receive 2nd ACK, cwnd + 1MSS = 3 + 1 = 4

so you see its doubled from 2 to 4

14
14
edited by
  1. The cwnd approximately doubles on every successful acknowledgment
  2. The cwnd approximately doubles every round trip time

can anyone help me to explain this . i didn't get it.

Both are true?

0
0
1)cwnd size increases by 1 MSS on every successful acknowledgement.

2)cwnd size approximately double on every RTT in case of slow start phase.
4
4

@talha hashim  cwnd size increases by 1 MSS on every successful acknowledgement by receiver....rt?

0
0

This point might clear some doubts :

When TCP uses cumulative acknowledgment then the acknowledgment we get is the acknowledgment for the last frame of the CWND, therefore we say the CWND increases exponentially on every ACK as ACK=RTT here in cumulative ACK.

But when there are not cumulative acknowledgments then every ACK we get we increase CWND = CWND+1 which become equivalent to the previous case when we get ACK for last frame. 

Hope this clears.

13
13

@srestha

@Mk Utkarsh

In the daigram above

the RTT time for segment 1  = RTT for  segment2 + segement3 = RTT segment6 + segement7 + segment4 + segement5 ?

0
0
Can. u elaborate more??
0
0
at first we will send 1MSS from sender to receiver and then its ack will come back. this all we be done in 1RTT.

After this 2MSS will be sent to receiver then both of their ACK will come back to sender. This will take another RTT.

So my question are both these RTT will be same or different ?
0
0
RTT will be same for all. Why they will be different?
0
0
Ok. I thought that since now data is increased to it will take more time to propogate so RTT will increase.
0
0
Suppose in question comulative ack is given ,then would ii be answer????
0
0
TCP uses cumulative ACK , so stmt 2 should be true right?
0
0
27 votes
27 votes

Round trip time(RTT) is the length of time it takes for a signal to be sent plus the length of time it takes for an acknowledgement of that signal to be received.

Whenever a successful acknowledgement is received cwnd increases by 1. Now coming to RTT we are supposed to receive all acknowledgements within RTT. let number of segments sent is n, then in turn we will receive n ack. so now new cwnd size will be equal to last_cwnd_size(n) + number_of_ack_received(n) i.e. cwnd=n+n. which can also be said as cwnd doubles on every RTT.

now we can say that only (iv) option is the correct one

1 comment

Very well explained!
1
1
5 votes
5 votes

In slow start phase, reception of each ACK adds 1 MSS to cwnd.

 

Generally, if you send, say 4 packets (cwnd = 4) then in the time approximately equal to an RTT you'll get 4 ACKs in return. These 4 ACKs would add a total of 4 MSS in the cwnd.

 

Hence approximately we double our cwnd every RTT in Slow Start Phase. Statement iv is True.


Statement i is wrong as cwnd increases by 1 MSS on every ACK received. Hence, Statement ii is also wrong.


Statement iii could be true with slight modifications.

If every RTT successfully delivers you an ACK, then in the time somewhat equal to RTT, cwnd will get doubled. "Somewhat equal" because we'll have to wait for ACKs to get delivered back-to-back.

2 votes
2 votes

in slow start algorithm sender first send one packet if it receives ack with in timeout the it send two packets in 2nd rtt tf it receives ack within timeout then it increase cwnd as exponentially.if it will not receive with in timeout the sender will decrease the size of cwnd to half.so in slow start 

The cwnd approximately doubles every round trip time .

so option c correct

Answer:

Related questions