Go Back N Sliding Window Protocol (original) (raw)

Last Updated : 26 Feb, 2026

Go-Back-N (GBN) is a sliding window–based Automatic Repeat Request (ARQ) protocol, in which the sender can transmit multiple frames (up to a fixed window size) without waiting for an acknowledgement for each frame.

Characteristics of Go-Back-N (GBN)

**Sender Window Size (W s )

In Go-Back-N, the sender window size (Ws) is equal to N.
For example, in GBN-10, the sender can transmit 10 frames without waiting for acknowledgements.

The value of N must be greater than 1 to enable pipelining.
When N = 1, Go-Back-N behaves like the Stop-and-Wait ARQ protocol.

When processing delay, queuing delay, and ACK transmission delay are ignored, the efficiency of GBN is = N / (1+2a)

where,

**Efficiency with Non-Zero Delays

When processing delay, queuing delay, and acknowledgment transmission delay are not zero, efficiency is calculated using:

Efficiency = N * (Useful time) / (Total Time)

where, useful time=Tt

Total time = Tt + 2 * Tp + Pr + Pq + Tt(ack)

where,

So, the general efficiency expression becomes:

Efficiency=Tt​+2Tp​+Pr​+Pq​+Tt​(ack)NTt​​

If B is the channel bandwidth, then

Throughput = Efficiency × B

For the ideal case (no extra delays):

Throughput = (N / 1 + 2a) * B

**2. Receiver Window Size (W R )

**3. Acknowledgements

Acknowledgments are control messages sent by the receiver to confirm the successful reception of data frames. They play a crucial role in ensuring reliable communication. If the sender does not receive an acknowledgment within a specified timeout interval, it assumes the frame was lost or corrupted and retransmits it.

**Types of ACKs

**Cumulative ACK

**Independent ACK

Working of GB-N Protocol

**Sender Side

**Receiver Side

Sliding_SET_2-1

**Relationship Between Window Size and Sequence Numbers

In sliding window protocols such as Go-Back-N (GBN) and Selective Repeat (SR), the window size and sequence number space are tightly coupled to ensure correct and reliable data delivery.

To avoid ambiguity caused by sequence number reuse, the combined size of the sender and receiver windows must not exceed the available sequence number space. If the window size is too large, a sequence number may be reused before the earlier frame with the same number is acknowledged, making it difficult for the receiver to distinguish new frames from duplicates.

Relation between window size and sequence number is given by the formula:

Ws + WR <= ASN

where,

Ws = Sender window size

WR = Receiver window size

ASN = Available sequence number

In Go-Back-N (GBN), the receiver window size is always **1:

Ws + 1 <= ASN

If the sender window size is N, then:

Minimum sequence numbers required = N + 1

Hence, the number of bits required for sequence numbering in GBN is:

Bits Required in GBN = ⌈ log2 (N + 1)⌉

The extra +1 ensures that duplicate frames are correctly identified and prevents confusion caused by premature sequence number reuse.

**Example of GB-N Protocol

Consider an Example of GB4.

This is explained with the help of the illustrations below. Trying with Sequence numbers 4.

Sliding_SET_2-3

Now, trying with one extra sequence number.

Sliding_SET_2-4

Now it is clear as to why we need an extra 1 bit in the GBN protocol.

Go-Back-N is easy to implement and ensures reliable data transfer. By supporting pipelined transmission, it achieves higher throughput than Stop-and-Wait, particularly in low-error and high-delay networks.

In error-prone networks, GBN is inefficient because a single lost frame triggers retransmission of multiple frames. This causes unnecessary retransmissions and leads to poor bandwidth utilization.