(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.