Explain Go-Back-N ARQ as a Sliding Window Mechanism for Error Control
Go-Back-N ARQ (Automatic Repeat reQuest) is a sliding-window error-control protocol where the sender may have up to unacknowledged frames “in flight,” but the receiver only buffers in-order frames (no out-of-order acceptance like Selective Repeat). When a frame is lost or detected as erroneous, the receiver discards subsequent frames and implicitly forces the sender to retransmit starting from the missing (last unacknowledged) frame—hence “Go-Back-N.” This works with cumulative acknowledgments and a sender-side retransmission timer.3
Key learning goals:
- Interpret Go-Back-N as a sliding window with a send base and next sequence number.
- Understand why cumulative ACKs and no out-of-order buffering lead to “go back.”
- Connect window behavior to throughput and efficiency under loss.
Keyword anchors: ARQ; Sliding window; Cumulative ACK; Retransmission timer.
Footnotes
-
CRCW? (sequence number / modulo window constraints) — (URL unavailable due to search limit) ↩
-
Go-Back-N ARQ overview with sliding window and cumulative ACKs — (URL unavailable due to search limit) ↩
-
Protocol comparison (Go-Back-N vs Selective Repeat) and retransmission behavior — (URL unavailable due to search limit) ↩
Sliding window model for Go-Back-N
At any time, the sender maintains:
- send base: the sequence number of the earliest unacknowledged frame.
- nextSeqNum: the sequence number to assign to the next outgoing frame.
- window size: typically (the protocol parameter), limiting outstanding frames.
The sender can transmit while:
Receiver behavior:
- It keeps an expected sequence number .
- If the received frame has sequence number equal to and is error-free, the receiver delivers it in order and increments .
- Otherwise (lost/errored frame or out-of-order arrival), it discards the frame and sends an ACK for the last correctly received in-order frame (cumulative ACK), which corresponds to “how far the receiver has advanced.”2
Keyword anchors: send base; nextSeqNum; expected sequence number.
Footnotes
Go-Back-N ARQ timeline (loss triggers go-back)
Sender fills window
t0Sender transmits frames within the window: to ."
Receiver gets some in-order frames
t1Receiver accepts frames in order and advances expected ."
A frame is lost/errored
t2Suppose frame is lost; receiver does not advance beyond ."
Receiver discards out-of-order frames
t3Frames with sequence numbers are discarded (no buffering)."
Sender retransmits from missing frame
t4On missing ACK/timeout, sender retransmits frames from (go back N)."
Go-Back-N ARQ operation as a sliding-window algorithm
- 1Step 1
Set , , and receiver expected . Define window size and initialize retransmission timer behavior.2
Footnotes
- 2
- 3Step 3
If received frame seq= and is error-free, deliver it, set , and respond with cumulative ACK for the highest in-order delivered frame.2
Footnotes
- 4Step 4
If frame seq= fails or arrives with seq>, discard it and resend/return the cumulative ACK for the last correctly received in-order frame.2
Footnotes
- 5Step 5
When ACK acknowledges through seq=, advance to the next unacknowledged sequence number (frames up to are considered delivered).2
Footnotes
- 6Step 6
If ACK does not advance before timer expires, retransmit starting from frame= up to the current window limit (i.e., the “go-back” effect).2
Footnotes
Why it is “go-back”
The core mechanism is the combination of:
- Cumulative acknowledgments: the receiver communicates only the highest contiguous in-order sequence it has accepted.
- No out-of-order buffering: if a gap exists, later frames can’t be saved for later delivery.
- Sender-side retransmission from send base: when the earliest missing frame isn’t acknowledged, everything after it in the sender window is suspect and gets resent.
So if frame is missing, the receiver’s cumulative ACK does not advance beyond . The sender then retransmits from (and typically all frames currently in the window range), “going back -style” to cover the gap.2
Keyword anchors: gap; in-order delivery.
Footnotes
Conceptual retransmission set size under one loss
When a frame in the window is missing, Go-Back-N retransmits from the missing frame through the window region.
Efficiency trade-off
Go-Back-N can waste bandwidth because later frames that may have been received correctly are discarded by the receiver when a gap exists, forcing retransmissions from the missing frame.
Sliding-window interpretation shortcut
If the receiver’s cumulative ACK stops advancing at some sequence number , treat as the missing frame and retransmit starting from (the sender’s send base).
FAQ: Go-Back-N vs Selective Repeat, and common confusions
Performance intuition (loss and windowing)
Let the sender use window size and retransmit from the earliest missing frame when an error occurs. Because all frames in the sender’s window after the missing one may be retransmitted, the protocol’s efficiency degrades quickly as loss rate increases. In contrast, Selective Repeat reduces wasted retransmissions by buffering out-of-order frames.2
This sliding-window viewpoint gives an immediate mental model:
- Without loss: ACKs advance steadily; the sender pipeline stays full.
- With loss: ACKs stall; retransmission resets the sender’s effective progress and replays a portion of the outstanding pipeline.
Footnotes
Go-Back-N ARQ key terms
Knowledge Check
In Go-Back-N ARQ, when the receiver detects a missing frame at sequence number , what happens to frames with sequence number ?