(a)

**Consider the following data:**

Window size (N) = 4

Range of sequence number = 1024

**Case 1:**

• Assume that the sequence number of the packet being expected by the receiver is k and assume that the receiver has received and acknowledged all the k-1 packets.

• The sender’s window will be in the range of [ k, k+N-1] sequence numbers when all the k-1 acknowledgements have been received without loss.

**Case 2:**

• If the sender does not receive any of the acknowledgements, then the sender’s window will be in the range of [ k-N, k-1] sequence numbers.

• Since it did not receive any acknowledgements, it will try to send all the k-1 and N packets.

• So, the sender’s window will be in the range of [ k-N, k-1] sequence numbers.

Hence, the possible sets of sequence numbers inside the sender’s window at time t are in the range [ k-N, k].

**(b)**

• When the receiver is waiting for a packet with sequence number k and if it starts receiving the N-1 earlier packets, then the possible values of the acknowledgement(ACK) field will be [ k-N, k-1].

• It is so because when the sender has not received the N ACKs, then the ACK messages may be propagating back.

• As the sender has sent all the k-N packets and received ACK for k-N-1 from the receiver, it will never send an ACK less than the n-N-1 ACK.

Therefore, all possible values of the ACK field in all messages currently propagating back to the sender at time t are in the range of ACK values and they will be in range between k-N-1 and k-1.

If you found this answer helpful, please upvote and share with other students in your network.