Moving from Stop-and-Wait ARQ to Go-Back-N ARQ: Reasons and Performance Implications

Moving from Stop-and-Wait ARQ to Go-Back-N ARQ: Reasons and Performance Implications

Verified Sources
Sep 12, 2026

Stop-and-wait ARQ (stop-and-wait ARQ ) is correct and simple, but it can be inefficient on real links with non-trivial propagation delay. The core reason is that after sending a frame, the sender is idle while it waits for the ACK to return—meaning the channel can’t stay fully utilized. Wikipedia notes that stop-and-wait throughput is reduced because the time between successfully received data and the next transmission is about twice the transit time when turnaround is negligible.

Go-Back-N ARQ (Go-Back-N ARQ ) addresses this by using a sliding window: the sender can transmit multiple frames without waiting for an ACK after each one. Specifically, Go-Back-N is a sliding-window protocol with transmit window size NN and receive window size 11, allowing the sender to send NN frames before requiring an ACK.

A helpful way to visualize the difference:

Key learning terms for this section: throughput , pipeline , sliding window , cumulative ACK , retransmission.

Footnotes

  1. Stop-and-wait ARQ - Wikipedia https://en.wikipedia.org/wiki/Stop-and-wait_ARQ - Notes inefficiency: time between packets is roughly twice the transit time; throughput reduced vs other ARQs.

  2. Go-Back-N ARQ - Wikipedia https://en.wikipedia.org/wiki/Go-Back-N_ARQ - Defines transmit window NN and explains inefficiency trade-off: lost frame causes retransmission of it and subsequent frames in window.

Go-Back-N ARQ vs Stop-and-Wait ARQ (video walkthrough)

In stop-and-wait ARQ, the sender sends exactly one frame, then blocks until it receives the corresponding ACK (or a timeout occurs and it retransmits). Wikipedia emphasizes that this makes stop-and-wait inefficient because time spent waiting for ACK reduces the fraction of time the channel is actually used.

GeeksforGeeks similarly states the low efficiency comes from waiting for acknowledgments before transmitting the next frame, which leads to poor utilization—especially on high bandwidth and high delay links (the bandwidth–delay product effect).

Throughput/efficiency intuition (why pipelining helps)

Go-Back-N’s sliding-window pipelining reduces the “idle fraction” by allowing the sender to transmit multiple frames during what stop-and-wait would use as waiting time. Go-Back-N is explicitly described as more efficient because the connection remains utilized while packets are being sent instead of idling for each ACK.

Footnotes

  1. Stop-and-wait ARQ - Wikipedia https://en.wikipedia.org/wiki/Stop-and-wait_ARQ - Notes inefficiency: time between packets is roughly twice the transit time; throughput reduced vs other ARQs.

  2. Go-Back-N ARQ - Wikipedia https://en.wikipedia.org/wiki/Go-Back-N_ARQ - Defines transmit window NN and explains inefficiency trade-off: lost frame causes retransmission of it and subsequent frames in window.

2) Go-Back-N increases “in-flight” frames using a sender window

Stop-and-wait has effectively a sender window size of 1; Go-Back-N increases the sender window to NN, enabling multiple frames to be transmitted before the first required ACK event.

Wikipedia: Go-Back-N can transmit NN frames before requiring an ACK, and it is a sliding-window instance with transmit window size NN and receive window size 11.

GeeksforGeeks adds implementation behavior: the sender maintains a sliding window of size NN, can transmit up to NN frames without waiting for individual ACKs, and advances (“slides”) the window when ACKs arrive.

This matters because many networks are latency-limited: even if the link can transmit frames quickly, stop-and-wait forces a stop after each frame, preventing utilization from reaching its potential.

Footnotes

  1. Go-Back-N ARQ - Wikipedia https://en.wikipedia.org/wiki/Go-Back-N_ARQ - Defines transmit window NN and explains inefficiency trade-off: lost frame causes retransmission of it and subsequent frames in window.

  2. Go Back N - Sliding Window Protocol - GeeksforGeeks https://www.geeksforgeeks.org/computer-networks/sliding-window-protocol-set-2-receiver-side - Describes Go-Back-N windowed pipelining, timeout retransmission of subsequent frames, and cumulative ACKs; includes efficiency form N/(1+2a)N/(1+2a).

3) Efficiency gains can be expressed mathematically (window size vs delay ratio)

A common textbook-style efficiency result for Go-Back-N (ignoring processing/queuing/ACK transmission delay) is:

Efficiency=N1+2a\text{Efficiency} = \frac{N}{1 + 2a}

where a=TpTta = \frac{T_p}{T_t} is the propagation-to-transmission delay ratio. GeeksforGeeks states the same form for ideal conditions and also discusses adding extra delay terms for non-ideal cases.

For stop-and-wait, many treatments derive a baseline efficiency of:

EfficiencySW=11+2a\text{Efficiency}_{SW} = \frac{1}{1 + 2a}

Scaler Topics provides this stop-and-wait formula and the Go-Back-N one as a direct comparison.

Why this is the practical reason to move: as NN grows, the numerator increases linearly, improving efficiency (hence throughput) on links where aa is significant (i.e., propagation delay isn’t negligible).

Footnotes

  1. Go Back N - Sliding Window Protocol - GeeksforGeeks https://www.geeksforgeeks.org/computer-networks/sliding-window-protocol-set-2-receiver-side - Describes Go-Back-N windowed pipelining, timeout retransmission of subsequent frames, and cumulative ACKs; includes efficiency form N/(1+2a)N/(1+2a).

  2. Difference between Stop and Wait, GoBackN, and Selective Repeat - Scaler Topics https://www.scaler.com/topics/difference-between-stop-and-wait-gobackn-and-selective-repeat - Provides efficiency formulas for stop-and-wait and Go-Back-N: 1/(1+2a)1/(1+2a) and N/(1+2a)N/(1+2a).

4) Go-Back-N uses cumulative ACKs to reduce control overhead

Another performance reason is acknowledgment strategy.

GeeksforGeeks notes that Go-Back-N uses cumulative ACKs, where a single ACK confirms receipt of all frames up to a particular sequence number. This reduces ACK traffic compared with schemes that must acknowledge each frame independently (like selective repeat).

So moving to Go-Back-N typically improves:

  • data-to-control ratio (fewer ACKs needed to convey “how far we got”),
  • effective throughput under realistic workloads.

Footnotes

  1. Go Back N - Sliding Window Protocol - GeeksforGeeks https://www.geeksforgeeks.org/computer-networks/sliding-window-protocol-set-2-receiver-side - Describes Go-Back-N windowed pipelining, timeout retransmission of subsequent frames, and cumulative ACKs; includes efficiency form N/(1+2a)N/(1+2a).

5) Trade-off: Go-Back-N may retransmit more data after a loss

The above improvements come with a known cost: when a frame is lost (or its ACK is lost), Go-Back-N “goes back” and retransmits the unacknowledged frame and all subsequent frames in the window, even if some arrived correctly.

Wikipedia explicitly states this downside: if any frame was lost/damaged or the ACK acknowledging them was lost/damaged, then that frame and all following frames in the send window are re-sent.

GeeksforGeeks provides the concrete receiver-side rule: the receiver discards out-of-order frames and expects the next exact sequence number; then on timeout, the sender retransmits from the missing frame onward.

Therefore, the “reason to move” is contextual

  • On high-delay paths or where stop-and-wait would leave the sender idle, pipelining improves utilization substantially.
  • On high-error-rate paths, Go-Back-N’s extra retransmissions can reduce the net gain; selective repeat often performs better there (but is more complex).

Footnotes

  1. Go-Back-N ARQ - Wikipedia https://en.wikipedia.org/wiki/Go-Back-N_ARQ - Defines transmit window NN and explains inefficiency trade-off: lost frame causes retransmission of it and subsequent frames in window.

  2. Go Back N - Sliding Window Protocol - GeeksforGeeks https://www.geeksforgeeks.org/computer-networks/sliding-window-protocol-set-2-receiver-side - Describes Go-Back-N windowed pipelining, timeout retransmission of subsequent frames, and cumulative ACKs; includes efficiency form N/(1+2a)N/(1+2a).

Pro Tip: Decide based on bandwidth–delay and loss characteristics

Stop-and-wait mainly loses on links with large a=Tp/Tta = T_p/T_t because the sender-idle time dominates. Go-Back-N improves by increasing the sender window NN, but it retransmits more after loss (trade-off described in Wikipedia for Go-Back-N).2

Footnotes

  1. Stop-and-wait ARQ - Wikipedia https://en.wikipedia.org/wiki/Stop-and-wait_ARQ - Notes inefficiency: time between packets is roughly twice the transit time; throughput reduced vs other ARQs.

  2. Go-Back-N ARQ - Wikipedia https://en.wikipedia.org/wiki/Go-Back-N_ARQ - Defines transmit window NN and explains inefficiency trade-off: lost frame causes retransmission of it and subsequent frames in window.

Warning: Loss triggers redundant retransmissions

In Go-Back-N, a single lost frame can cause re-sending multiple later frames in the current window, because the receiver discards out-of-order frames and expects in-order delivery.2

Footnotes

  1. Go-Back-N ARQ - Wikipedia https://en.wikipedia.org/wiki/Go-Back-N_ARQ - Defines transmit window NN and explains inefficiency trade-off: lost frame causes retransmission of it and subsequent frames in window.

  2. Go Back N - Sliding Window Protocol - GeeksforGeeks https://www.geeksforgeeks.org/computer-networks/sliding-window-protocol-set-2-receiver-side - Describes Go-Back-N windowed pipelining, timeout retransmission of subsequent frames, and cumulative ACKs; includes efficiency form N/(1+2a)N/(1+2a).

Design motivation: from Stop-and-wait to Go-Back-N

Stop-and-wait ARQ

1 frame in flight

Sender transmits one frame, waits for ACK, channel is often idle while waiting."

Footnotes

  1. Stop-and-wait ARQ - Wikipedia https://en.wikipedia.org/wiki/Stop-and-wait_ARQ - Notes inefficiency: time between packets is roughly twice the transit time; throughput reduced vs other ARQs.

Go-Back-N ARQ

Introduce sliding window

Sender transmits up to NN frames without waiting for each ACK; pipeline increases utilization.2"

Footnotes

  1. Go-Back-N ARQ - Wikipedia https://en.wikipedia.org/wiki/Go-Back-N_ARQ - Defines transmit window NN and explains inefficiency trade-off: lost frame causes retransmission of it and subsequent frames in window.

  2. Go Back N - Sliding Window Protocol - GeeksforGeeks https://www.geeksforgeeks.org/computer-networks/sliding-window-protocol-set-2-receiver-side - Describes Go-Back-N windowed pipelining, timeout retransmission of subsequent frames, and cumulative ACKs; includes efficiency form N/(1+2a)N/(1+2a).

ACK optimization

Cumulative feedback

Use cumulative ACKs to confirm progress efficiently."

Footnotes

  1. Go Back N - Sliding Window Protocol - GeeksforGeeks https://www.geeksforgeeks.org/computer-networks/sliding-window-protocol-set-2-receiver-side - Describes Go-Back-N windowed pipelining, timeout retransmission of subsequent frames, and cumulative ACKs; includes efficiency form N/(1+2a)N/(1+2a).

Go back on timeout

Retransmission strategy

On timeout, retransmit the missing frame and all subsequent frames in the window (cost under loss).2"

Footnotes

  1. Go-Back-N ARQ - Wikipedia https://en.wikipedia.org/wiki/Go-Back-N_ARQ - Defines transmit window NN and explains inefficiency trade-off: lost frame causes retransmission of it and subsequent frames in window.

  2. Go Back N - Sliding Window Protocol - GeeksforGeeks https://www.geeksforgeeks.org/computer-networks/sliding-window-protocol-set-2-receiver-side - Describes Go-Back-N windowed pipelining, timeout retransmission of subsequent frames, and cumulative ACKs; includes efficiency form N/(1+2a)N/(1+2a).

How Go-Back-N improves utilization compared to stop-and-wait (mechanics view)

  1. 1
    Step 1

    Instead of waiting after each frame, the sender transmits up to NN frames, keeping the link busy while ACKs travel back.2

    Footnotes

    1. Go-Back-N ARQ - Wikipedia https://en.wikipedia.org/wiki/Go-Back-N_ARQ - Defines transmit window NN and explains inefficiency trade-off: lost frame causes retransmission of it and subsequent frames in window.

    2. Go Back N - Sliding Window Protocol - GeeksforGeeks https://www.geeksforgeeks.org/computer-networks/sliding-window-protocol-set-2-receiver-side - Describes Go-Back-N windowed pipelining, timeout retransmission of subsequent frames, and cumulative ACKs; includes efficiency form N/(1+2a)N/(1+2a).

  2. 2
    Step 2

    The receiver sends cumulative ACKs indicating the highest in-order frame received; the sender slides the window accordingly.

    Footnotes

    1. Go Back N - Sliding Window Protocol - GeeksforGeeks https://www.geeksforgeeks.org/computer-networks/sliding-window-protocol-set-2-receiver-side - Describes Go-Back-N windowed pipelining, timeout retransmission of subsequent frames, and cumulative ACKs; includes efficiency form N/(1+2a)N/(1+2a).

  3. 3
    Step 3

    If a frame is missing (ACK not received before timeout), the sender retransmits that frame and all later frames still outstanding in the window (“goes back”).2

    Footnotes

    1. Go-Back-N ARQ - Wikipedia https://en.wikipedia.org/wiki/Go-Back-N_ARQ - Defines transmit window NN and explains inefficiency trade-off: lost frame causes retransmission of it and subsequent frames in window.

    2. Go Back N - Sliding Window Protocol - GeeksforGeeks https://www.geeksforgeeks.org/computer-networks/sliding-window-protocol-set-2-receiver-side - Describes Go-Back-N windowed pipelining, timeout retransmission of subsequent frames, and cumulative ACKs; includes efficiency form N/(1+2a)N/(1+2a).

  4. 4
    Step 4

    Compared to stop-and-wait, throughput rises when delay dominates; compared to selective repeat, redundant retransmissions rise when loss occurs.2

    Footnotes

    1. Go-Back-N ARQ - Wikipedia https://en.wikipedia.org/wiki/Go-Back-N_ARQ - Defines transmit window NN and explains inefficiency trade-off: lost frame causes retransmission of it and subsequent frames in window.

    2. Go Back N - Sliding Window Protocol - GeeksforGeeks https://www.geeksforgeeks.org/computer-networks/sliding-window-protocol-set-2-receiver-side - Describes Go-Back-N windowed pipelining, timeout retransmission of subsequent frames, and cumulative ACKs; includes efficiency form N/(1+2a)N/(1+2a).

FAQ: Common exam-style questions

Ideal-case efficiency: Stop-and-wait vs Go-Back-N (illustrative)

Using EfficiencySW=11+2a \text{Efficiency}_{SW}=\frac{1}{1+2a} and EfficiencyGBN=N1+2a \text{Efficiency}_{GBN}=\frac{N}{1+2a}. (Assumes only propagation/ transmission delays as in common ideal treatments.)

Knowledge Check

Question 1 of 4
Q1Single choice

Which primary mechanism makes Go-Back-N more efficient than stop-and-wait?