### TCP retransmissions (reliable data transmission with ACK loss)

Consider the figure below in which a TCP sender and receiver communicate over a connection in which
the segments can be lost. The TCP sender wants to send a total of 10 segments to the receiver and sends an initial window of 5 segments at t = 1, 2, 3, 4, and 5, respectively.
Suppose the initial value of the sequence number is 63 and every segment sent to the receiver each
contains 832 bytes. The delay between the sender and receiver is 7 time units, and so the first segment arrives
at the receiver at t = 8, and an ACK for this segment arrives at t = 15. As shown in the figure, 1 of the 5
segments is lost between the sender and the receiver, but *none* of the ACKs are lost. Assume there are no timeouts and any out of order segments received are
thrown out.

### Question List

1. What is the sequence number of the segment sent at t=1?

2. What is the sequence number of the segment sent at t=2?

3. What is the sequence number of the segment sent at t=3?

4. What is the sequence number of the segment sent at t=4?

5. What is the sequence number of the segment sent at t=5?

6. What is the value of the ACK sent at t=8? (If segment lost, write 'x')

7. What is the value of the ACK sent at t=9? (If segment lost, write 'x')

8. What is the value of the ACK sent at t=10? (If segment lost, write 'x')

9. What is the value of the ACK sent at t=11? (If segment lost, write 'x')

10. What is the value of the ACK sent at t=12? (If segment lost, write 'x')

11. What is the sequence number of the segment sent at t = 15? (If ACK never arrives, write 'x')

12. What is the sequence number of the segment sent at t = 16? (If ACK never arrives, write 'x')

13. What is the sequence number of the segment sent at t = 17? (If ACK never arrives, write 'x')

14. What is the sequence number of the segment sent at t = 18? (If ACK never arrives, write 'x')

15. What is the sequence number of the segment sent at t = 19? (If ACK never arrives, write 'x')

### Solution

1. The sequence number of the first segment is the starting sequence number, which is 63.

2. The sequence number of the second segment is = 63 + 832 = 895.

3. The sequence number of the third segment is = 895 + 832 = 1727.

4. The sequence number of the fourth segment is = 1727 + 832 = 2559.

5. The sequence number of the fifth segment is = 2559 + 832 = 3391.

6. The ACK value is the sequence number of the next expected segment, which is 895.

7. The ACK value is the sequence number of the next expected segment, which is 1727.

8. The ACK value is the sequence number of the next expected segment, which is 2559.

9. The ACK value is the sequence number of the next expected segment, which is 3391.

10. Since the segment was lost, the ACK is never sent, so the answer is x.

11. The sequence number of this segment is calculated the same way as the first five segments. The sequence number is 4223.

12. The sequence number of this segment is calculated the same way as the first five segments. The sequence number is 5055.

13. The sequence number of this segment is calculated the same way as the first five segments. The sequence number is 5887.

14. The sequence number of this segment is calculated the same way as the first five segments. The sequence number is 6719.

15. Since there was nothing to send (as we're waiting for ACKs), the answer is x.

That's incorrect

That's correct

The answer was: 63

The answer was: 895

The answer was: 1727

The answer was: 2559

The answer was: 3391

The answer was: 895

The answer was: 1727

The answer was: 2559

The answer was: 3391

The answer was: x

The answer was: 4223

The answer was: 5055

The answer was: 5887

The answer was: 6719

The answer was: x