Skip to content
doubtly

1 answer

Go-Back-N ARQ is a sliding-window error-control protocol in which the sender may send up to N frames without waiting for acknowledgements; if a frame is lost or damaged, the sender goes back and retransmits that frame and all frames sent after it.

Working

  • Frames are numbered with \(m\)-bit sequence numbers (0 to \(2^m - 1\)).
  • Sender window size \(W_s \le 2^m - 1\); receiver window size = 1 (it accepts frames only in order).
  • The receiver sends cumulative ACKs (an ACK for frame \(n\) confirms all frames before it). Out-of-order frames are discarded.
  • The sender keeps a timer for the oldest unacknowledged frame. On timeout (or NAK), it resends all outstanding frames from that one.

Example (window 4): sender sends frames 0, 1, 2, 3. Frame 1 is lost.

Sender            Receiver
F0  ---------->   accepted, ACK
F1  ----X         (lost)
F2  ---------->   discarded (expecting F1)
F3  ---------->   discarded
 timeout for F1
F1  ---------->   accepted
F2  ---------->   accepted
F3  ---------->   accepted

Frames 2 and 3 are sent twice even though they arrived safely the first time.

Why \(W_s \le 2^m - 1\)? With \(m = 2\) (numbers 0–3) and a window of 4, if all ACKs are lost the receiver cannot tell new frame 0 from a retransmitted old frame 0. A window of 3 avoids this confusion.

Advantages: better link utilisation than stop-and-wait (pipelining); simple receiver with one buffer.

Disadvantages: wastes bandwidth on noisy links by retransmitting correctly received frames. Selective Repeat ARQ fixes this by resending only the lost frames, at the cost of a more complex receiver.

Doubtly AI · 23 Oct 2026 AI-verified · Oct 2026 Report
Was this answer helpful?

Your answer

Log in or create a free account to answer this question.