Why in TCP's Go-Back-N Algorithm window size(N) has to be smaller than the sequence number space(S): S>N? I tried figuring it out myself but don't quiet get it
The size of the sending window determines the sequence number of the outbound frames. If the sequence number of the frames is an n-bit field, then the range of sequence numbers that can be assigned is 0 to 2n−1. Consequently, the size of the sending window is 2n−1.
In Go-Back-N, N determines the sender's window size, and the size of the receiver's window is always 1. It does not consider the corrupted frames and simply discards them. It does not accept the frames which are out of order and discards them.
Go-Back-N is a data link layer protocol that uses a sliding window method for reliable and sequential delivery of data frames. It is a case of sliding window protocol having to send window size of N and receiving window size of 1.
It is a special case of the general sliding window protocol with the transmit window size of N and receive window size of 1. It can transmit N frames to the peer before requiring an ACK. The receiver process keeps track of the sequence number of the next frame it expects to receive.
Assume that sequence space was four (sequence numbers 0,1,2,3). Lets say window size was also 4. Sender sends 4 packets with sequence numbers (0,1,2,3). Receiver receives all four packets. So it sends 4 acknowledgements(0,1,2,3). Now assume all acknowledgements are lost. Sender will resend all four packets but receiver will assume they're the new ones. To avoid confusions arising from lost acknowledgements, we keep n < s
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With