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. 3 packets were passed up to the higher layer by the receiver.
That's incorrect
That's correct
The answer was: Wait for ACK 0
The answer was: Wait for 0 from below
The answer was: 0
The answer was: Wait for ACK 0
The answer was: Wait for 1 from below
The answer was: 0
The answer was: Wait for ACK 1
The answer was: Wait for 1 from below
The answer was: 1
The answer was: Wait for ACK 1
The answer was: Wait for 0 from below
The answer was: 1
The answer was: 3