# Q5A · Sliding-window ARQ

Subject: Computer Networks

Exam: TEE

Reader: https://deep-learning-study-room.vercel.app/cn/#tee/mocks/tee-mock-a/q5a

Canonical: https://deep-learning-study-room.vercel.app/read/cn/tee/mocks/tee-mock-a--q5a/

TEE · 100 attempted marks · solutions for every choice · current syllabus 702AI0C023

### TEE practice mock · Q5A. Apply Go-Back-N ARQ for window size 7. Explain normal transmission, a lost data frame and a lost ACK, including window shifting and retransmission. [10 mock marks]

#### Answer

**Go-Back-N (GBN) ARQ** pipelines up to W outstanding frames. For m-bit sequence numbers, textbook GBN uses W ≤ 2m−1 and receiver window 1. The receiver accepts only the next in-order frame; out-of-order frames are discarded. ACK k here cumulatively acknowledges all frames before k and means “next expected is k”.

Swipe across the diagram to read its labels ↔

![GBN W=7: loss and cumulative ACKs](https://deep-learning-study-room.vercel.app/cn/fig/tee-gbn.5f577a6979.svg)

Diagram: GBN W=7: loss and cumulative ACKs. Labels: GBN W=7: loss and cumulative ACKs | GBN W=7: loss and cumulative ACKs | Sender | Receiver | Frames 0,1 → accept in order | ACK 2: next expected is 2 | Frame 2 lost | Frames 3,4,5,6 → discard out of order | ACK 2 repeated | Timer for 2 expires: resend 2,3,4,5,6 | ACK 7: frames through 6 accepted | Receiver window = [2] while waiting; no out-of-order buffering. | Sender retains all unacknowledged frames from base 2 onward.

GBN example: frame 2 lost; frames 3–6 discarded; timeout resends 2–6.

1. For W=7 with m=3, the sequence space is 0…7. Initially the sender can transmit 0…6. It stores every unacknowledged frame; a timer tracks the oldest one.
2. Normal: after receiving 0 and 1, cumulative ACK 2 advances the sender base to 2. The sender can fill newly opened window slots.
3. Lost data: if frame 2 is lost, frames 3…6 arrive out of order and are discarded. Repeated ACK 2 says frame 2 is still expected. On timeout the sender retransmits all outstanding frames starting at 2, here 2…6.
4. Lost ACK: if ACK 2 is lost but ACK 3 arrives, the later cumulative ACK confirms frames 0…2 and avoids unnecessary retransmission. If no later useful ACK arrives before timeout, the sender retransmits from its oldest outstanding frame; the receiver rejects duplicates and sends its current ACK.
5. After sequence 7, numbers wrap to 0. The bound W ≤ 7 leaves one sequence value outside the sender’s current window, preventing the all-ACKs-lost ambiguity of a full eight-frame window in the textbook model.

#### Practical example

With W=7, loss of frame 2 can waste successful receptions of 3…6. GBN trades simple receiver buffering for extra retransmission after loss.

Swipe across the diagram to read its labels ↔

![GBN W=7: normal window movement](https://deep-learning-study-room.vercel.app/cn/fig/tee-gbn-normal.144a24ea80.svg)

Diagram: GBN W=7: normal window movement. Labels: GBN W=7: normal window movement | GBN W=7: normal window movement | Sender | Receiver | Frame 0 from sender window [0…6] | ACK 1 → sender window [1…7] | Frame 1 arrives; receiver now expects 2 | ACK 2 → sender window [2…7,0] | Receiver window progresses [0] → [1] → [2]. | Sequence labels wrap modulo 8; sender window contains 7 slots.

Normal transmission: both windows advance as frames are cumulatively acknowledged.

Swipe across the diagram to read its labels ↔

![GBN: a later cumulative ACK covers a lost ACK](https://deep-learning-study-room.vercel.app/cn/fig/tee-gbn-ack.713dc9972e.svg)

Diagram: GBN: a later cumulative ACK covers a lost ACK. Labels: GBN: a later cumulative ACK covers a lost ACK | GBN: a later cumulative ACK covers a lost ACK | Sender | Receiver | Frame 0 accepted; receiver expects 1 | ACK 1 is lost | Frame 1 accepted; receiver expects 2 | ACK 2 arrives before timeout | Sender advances base to 2; continues | ACK 2 confirms frames 0 and 1; no retransmission needed. | Without a later useful ACK, oldest-frame timeout triggers resend.

A later cumulative ACK can cover an earlier lost ACK.
