Interactive end-of-chapter exercises


Supplement to Computer Networking: A Top Down Approach 8th Edition


"Tell me and I forget. Show me and I remember. Involve me and I understand." Chinese proverb

Textbook Cover

TCP in Action: slow start, congestion avoidance, and fast retransmit

Consider the figure below, which plots the evolution of TCP's congestion window at the beginning of each time unit (where the unit of time is equal to the RTT); see Figure 3.53 in the text. In the abstract model for this problem, TCP sends a "flight" of packets of size cwnd at the beginning of each time unit. The result of sending that flight of packets is that either (i) all packets are ACKed at the end of the time unit, (ii) there is a timeout for the first packet, or (iii) there is a triple duplicate ACK for the first packet. In this problem, you are asked to reconstruct the sequence of events (ACKs, losses) that resulted in the evolution of TCP's cwnd shown below.


Consider the evolution of TCP's congestion window in the example above and answer the following questions. The initial value of cwnd is 1 and the initial value of ssthresh (shown as a red +) is 8.



Question List


1. Give the times at which TCP is in slow start. Format your answer like: 1,3,5,9 (If none submit blank)

2. Give the times at which TCP is in congestion avoidance. Format your answer like: 1,3,5,9 (If none submit blank)

3. Give the times at which TCP is in fast recovery. Format your answer like: 1,3,5,9 (If none submit blank)

4. Give the times at which packets are lost via timeout. Format your answer like: 1,3,5,9 (If none submit blank)

5. Give the times at which packets are lost via triple ACK. Format your answer like: 1,3,5,9 (If none submit blank)

6. Give the times at which the value of ssthresh changes (if it changes between t=3 and t=4, use t=4 in your answer)




Solution


1. The times where TCP is in slow start are: 1,2,3,4,7,13,14,29,30,31,32,40

2. The times where TCP is in congestion avoidance are: 5,6,8,9,10,11,12,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39

3. The times where TCP is in fast recovery are:

4. The times where TCP has a loss by timeout are: 3,6,12,28,31,39

5. The times where TCP has a loss by triple duplicate ACK are:

6. The times where the ssthresh changes are: 4,7,13,29,32,40

The complete solution is shown in the figure below:

  • For intervals of time when TCP is in slow start, the plotted value of cwnd is shown as a green square
  • For intervals of time when TCP is in congestion avoidance, the plotted value of cwnd is shown as a yellow square
  • For intervals of time when TCP is in fast reccovery, the plotted value of cwnd is shown as an orange square
  • The values for ssthresh are shown following a change as a red plus sign
  • A flight of packets experiencing a loss has the loss type (which determines the next value of cwnd) labeled above




That's incorrect

That's correct

The answer was: 1,2,3,4,7,13,14,29,30,31,32,40

Question 1 of 6

The answer was: 5,6,8,9,10,11,12,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39

Question 2 of 6

The answer was:

Question 3 of 6

The answer was: 3,6,12,28,31,39

Question 4 of 6

The answer was:

Question 5 of 6

The answer was: 4,7,13,29,32,40

Question 6 of 6

Try Another Problem

We gratefully acknowledge the programming and problem design work of John Broderick (UMass '21), which has really helped to substantially improve this site.

Copyright © 2010-2021 J.F. Kurose, K.W. Ross
Comments welcome and appreciated: kurose@cs.umass.edu