← IGCSE Computer Science Paper 1

The ARQ process step by step

Sender sends data and starts a timer. Receiver checks it and replies ACK or NAK. Sender resends on a NAK or a timeout until an ACK arrives.

Understanding The ARQ process step by step in IGCSE Computer Science Paper 1

What it does: The timeout path: with no ACK or NAK the sender resends when the timer runs out. The ACK path: a positive acknowledgement tells the sender the data arrived correctly, so no resend is needed. If the check passes, the receiver replies ACK. The sender then moves on and sends the next data. The timer starts as soon as the data is sent. It is used to spot when no reply comes back. Resending is only triggered by a NAK or a timeout. After an ACK the process is complete for that data.

Common mistakes: After sending the data the sender must START the timer so it can detect a missing reply. Line 2 should be START timer. When the check passes the receiver sends a positive acknowledgement (ACK), not a NAK. Line 3 should be IF check passes SEND ACK.

Class: _____________________  ·  Name: _____________________  ·  Date: _________

Free printable worksheet with full answer key — or add this module to a class and your students practise it interactively.

This module's key terms are also in a printable crossword (Modules 179–188) and word search (Modules 168–188).

Take this worksheet further — free with Cloodit

Each concept is reinforced from every angle — learned, then applied, then tested.

Learning
Duo
The data arrives and passes the error check. What does the receiver send back?
An ACK (positive acknowledgement)A NAK (negative acknowledgement)
Matches
Receiver gets DATA, check fails -> Receiver sends ACK
↓
A failed check must get a NAK, not an ACK. An ACK would make the sender think the data arrived correctly, so the error would never be fixed.
Applying
Meanings
Term
ARQ
Meaning
Sender sends data and starts a timer. Receiver checks it and replies ACK or NAK. Sender resends on a NAK or a timeout until an ACK arrives.
Practice
REPEAT
Testing
Gaps
START
Check Answer
Spots
1SEND data
2STOP timer

Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.

The 'Parrotfish' badge — Function Builder, one of Cloodit's 106 collectible badges
Students earn collectable badges

Over 100 of them, across seven natural biomes.

Study Buddy
Students build a real study resource

Turns their work into revision material ready for Flash Cards and Exam study.

Diamond Dash — one of Cloodit's live, competitive Sprint games
Students lock in with Sprints

Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.

A Cloodit certificate of achievement, ready to personalise and print
Custom printable certificates

Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.

Quick Questions

1. The data arrives and passes the error check. What does the receiver send back?
A. An ACK (positive acknowledgement) ✓
B. A NAK (negative acknowledgement)
If the check passes, the receiver replies ACK. The sender then moves on and sends the next data.
2. The data arrives but the error check fails. What happens next in ARQ?
A. The receiver sends a NAK and the sender resends the data ✓
B. The receiver sends an ACK and the sender sends the next data
A failed check means a NAK. The sender resends the same data until it gets an ACK.
3. When does the sender start its timer in ARQ?
A. When it sends the data ✓
B. When it receives an ACK
The timer starts as soon as the data is sent. It is used to spot when no reply comes back.
4. The timer ends and the sender has received no reply. What does the sender do?
A. Sends the next data
B. Resends the data ✓
No reply before the timeout means the data or the reply may have been lost, so the sender resends. It only moves on after an ACK.
5. Which message order shows the ACK path correctly?
A. Send data, check passes, NAK, send next data
B. Send data, check passes, ACK, send next data ✓
An ACK is sent when the check passes. A NAK would make the sender resend, not move on.

Match the Pairs

Sender -> Receiver: DATA (timer starts) → The sender transmits the data and starts a timer while it waits for a reply
Receiver -> Sender: NAK → The check failed, so the receiver asks the sender to send the data again
If no reply arrives before the timer ends, the sender assumes the data or reply was lost and resends → IF timer ends AND no reply THEN resend DATA
When the receiver's check passes it replies ACK, and the sender moves on to the next data → Receiver checks OK -> ACK -> send next DATA
Receiver gets DATA, check fails -> Receiver sends ACK → A failed check must get a NAK, not an ACK. An ACK would make the sender think the data arrived correctly, so the error would never be fixed.
Sender gets ACK -> Sender resends DATA until timer ends → The sender should not resend after an ACK. An ACK means the data arrived correctly, so the sender sends the next data. Resending happens only on a NAK or a timeout.

Key Term

ARQ
Sender sends data and starts a timer. Receiver checks it and replies ACK or NAK. Sender resends on a NAK or a timeout until an ACK arrives.

Fill in the Blanks

1. SEND packet START timer WAIT for reply
Hint: Type what the sender starts straight after sending the data.
2. IF check passes THEN SEND ACK ELSE SEND NAK
Hint: Type the positive acknowledgement the receiver sends when the check passes.
3. IF reply = NAK THEN SEND packet again
Hint: Type the negative acknowledgement that tells the sender to resend.
4. IF no reply BEFORE timeout THEN RESEND packet
Hint: Type the name for the timer running out with no reply received.
5. REPEAT SEND packet UNTIL reply = ACK
Hint: Type the keyword that keeps the loop running until the condition is met.

Spot the Error

Question 1
A SEND data
B STOP timer
C WAIT for reply
Line B — After sending the data the sender must START the timer so it can detect a missing reply. Line 2 should be START timer.
Question 2
A RECEIVE data
B CHECK data for errors
C IF check passes SEND NAK
D ELSE SEND NAK
Line C — When the check passes the receiver sends a positive acknowledgement (ACK), not a NAK. Line 3 should be IF check passes SEND ACK.
Question 3
A CHECK data
B IF check fails THEN
C SEND ACK
Line C — If the check fails the receiver replies with a negative acknowledgement (NAK) so the data is resent. Line 3 should be SEND NAK.
Question 4
A SEND ACK
B WAIT for reply
C IF reply is NAK THEN
D SEND data again
Line A — The sender transmits the data. ACK is a reply sent by the receiver. Line 1 should be SEND data.
Question 5
A SEND data
B WAIT for data
C IF ACK arrives THEN
D SEND next data
Line B — After sending, the sender waits for a reply (ACK or NAK) from the receiver, not for data. Line 2 should be WAIT for reply.

Student with a class code? Join your class →