Go Back ( GBN)
Go back N ARQ is specific instance of the automatic repeat request protocols in which the sending process continues to send a number of frames specific by a window size without receiving an ACK packet from the receiver. The receiver process keeps track of the sequence number of the next frame it expects to receive and send that number will every ACK it sends. If a frame from the send does not reach the receiver the receive will stop acknowledging received frames. Once the sender has sent all of the frames in its window it will detect that all of the frames since the first lost frame are outstanding and will go back to sequence number of the last ACK it received from the receiver process and fill its window starting with that frame and continue the process over again. In simple words go back n is connection oriented protocols in which the transmitter has a window of sequence numbers that may be transmitted without acknowledgment thee receiver will only accept the next sequence number it is expecting other sequence number are silently ignored.
Figure shows the sender view of the range of sequence numbers in a GBN protocols, if we define base to the sequence number of the oldest unacknowledged packet and to be the smaller unused sequence number then four intervals in the range of sequence numbers can be identified. Sequence numbers in the interval the interval corresponds to packet that have been sent, but not yet acknowledged sequence numbers in the interval can be used for packets that can be sent immediately should arrive from the upper layer. Finally sequence numbers greater than or equal to base + N cannot be used until an unacknowledged packet currently in the pipeline has been acknowledged.
As suggested by figure the range of permissible sequence numbers for transmitted but not yet acknowledged packets can be viewed as a window of size n over the range of sequence numbers. As the protocols operates this window slides forward over the sequence number space. For this reason N is often referred to as the window size and the GBN protocols itself as sliding window protocols.
In practice a packet sequence number is carried in a fixed length fields in the packet header if K is the number of bits in the packet sequence number fields the range of sequence numbers is thus [ 0, 2K -1] . with a finite range of sequence numbers , all arithmetic involving sequence number space can be thought of as a ring of size 2k arithmetic that is the sequence number space can be through a as a ring of size 2k. Where sequence number 2k-1 is immediately followed by sequence numbers
figure sender view of sequence number in Go Back -N