Interactive end-of-chapter exercises


Reliable Data Transfer: rdt2.2 (sender and receiver actions)

Consider the rdt2.2 protocol from the text (pages 209-212). The FSMs for the sender and receiver are shown below:





Suppose that the channel connecting the sender and receiver can corrupt but not lose or reorder packets. Now consider the figure below, which shows four data packets and three corresponding ACKs being exchanged between an rdt 2.2 sender and receiver. The actual corruption or successful transmission/reception of a packet is indicated by the corrupt and OK labels, respectively, shown above the packets in the figure below.




Question List


1. At time t=0, what is the sender state?

2. At time t=0, what is the receiver state?

3. At time t=0, what is the sequence/ack # of the packet?

4. At time t=1, what is the sender state?

5. At time t=1, what is the receiver state?

6. At time t=1, what is the sequence/ack # of the packet?

7. At time t=2, what is the sender state?

8. At time t=2, what is the receiver state?

9. At time t=2, what is the sequence/ack # of the packet?

10. At time t=3, what is the sender state?

11. At time t=3, what is the receiver state?

12. At time t=3, what is the sequence/ack # of the packet?

13. How many times is the payload of the received packet passed up to the higher layer?




Solution


1. At time t=0, the sender state is: Wait for ACK 0

2. At time t=0, the receiver state is: Wait for 0 from below

3. At time t=0, the sequence # is: 0

4. At time t=1, the sender state is: Wait for ACK 0

5. At time t=1, the receiver state is: Wait for 1 from below

6. At time t=1, the ACK # is: 0

7. At time t=2, the sender state is: Wait for ACK 1

8. At time t=2, the receiver state is: Wait for 1 from below

9. At time t=2, the sequence # is: 1

10. At time t=3, the sender state is: Wait for ACK 1

11. At time t=3, the receiver state is: Wait for 0 from below

12. At time t=3, the ACK # is: 1

13. 2 packets were passed up to the higher layer by the receiver.



That's incorrect

That's correct

The answer was: Wait for ACK 0

Question 1 of 13

The answer was: Wait for 0 from below

Question 2 of 13

The answer was: 0

Question 3 of 13

The answer was: Wait for ACK 0

Question 4 of 13

The answer was: Wait for 1 from below

Question 5 of 13

The answer was: 0

Question 6 of 13

The answer was: Wait for ACK 1

Question 7 of 13

The answer was: Wait for 1 from below

Question 8 of 13

The answer was: 1

Question 9 of 13

The answer was: Wait for ACK 1

Question 10 of 13

The answer was: Wait for 0 from below

Question 11 of 13

The answer was: 1

Question 12 of 13

The answer was: 2

Question 13 of 13

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-2022 J.F. Kurose, K.W. Ross
Comments welcome and appreciated: kurose@cs.umass.edu