← IGCSE Computer Science Paper 1

What ARQ can and cannot do

ARQ resends data when a separate check finds an error, so it misses errors that check misses, and a noisy link causes many resends that slow the transfer.

Understanding What ARQ can and cannot do in IGCSE Computer Science Paper 1

What it does: Two bits changed but the number of 1s is still even, so the parity check passes and ARQ sends ACK for faulty data. Each NAK triggers another send. A noisy link keeps producing NAKs, so the repeats build up and delay the transfer. ARQ is not an error check. It uses a check like parity or a checksum, and then decides whether to send ACK or NAK. ARQ is good for reliable delivery because detected errors cause a resend. It does not make transfer faster. The waiting time and repeated sending slow the transfer. ARQ can resend packets, which is its whole purpose.

Common mistakes: When the parity check passes, no error was found, so the receiver should send ACK. Sending NAK would trigger a pointless resend. The line should be ' SEND ACK'. ARQ cannot find errors by itself. It depends on a separate check such as parity or a checksum. The line should run that check, e.g. 'run parity check on packet'.

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
Which statement about how ARQ finds errors is correct?
ARQ finds errors by itself without using any checkARQ relies on a separate check, such as parity or a checksum, to find the error
Matches
ARQ detects errors by itself, so no parity or checksum is needed
↓
ARQ needs a separate error check such as parity or a checksum to find errors. ARQ only controls the ACK, NAK and resending.
Applying
Meanings
Term
ARQ limits
Meaning
ARQ resends data when a separate check finds an error, so it misses errors that check misses, and a noisy link causes many resends that slow the transfer.
Practice
attempts <- 0
Testing
Gaps
IF parityOK = FALSE THEN SEND
Check Answer
Spots
2IF parity check passes THEN
3 SEND NAK

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

The 'Void Whale' badge — Definition Drifter, 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. Which statement about how ARQ finds errors is correct?
A. ARQ relies on a separate check, such as parity or a checksum, to find the error ✓
B. ARQ finds errors by itself without using any check
ARQ is not an error check. It uses a check like parity or a checksum, and then decides whether to send ACK or NAK.
2. A corrupted packet passes the checksum because two errors cancel out. What does ARQ do?
A. Sends an ACK, because the check did not find the error ✓
B. Sends a NAK, because ARQ can spot errors the checksum missed
ARQ can only act on what the check reports. If the check misses the error, the receiver sends ACK and the bad data is accepted.
3. What is a benefit of using ARQ?
A. It makes the data travel faster than any other method
B. Data is resent until it arrives without a detected error, so delivery is reliable ✓
ARQ is good for reliable delivery because detected errors cause a resend. It does not make transfer faster.
4. What is a drawback of ARQ?
A. Waiting for ACK or NAK and resending packets adds extra time ✓
B. It can never resend a packet that contains an error
The waiting time and repeated sending slow the transfer. ARQ can resend packets, which is its whole purpose.
5. A link has a lot of interference and almost every packet arrives with errors. What is the likely effect of ARQ?
A. No resends, because ARQ removes the interference
B. Many resends, so the transfer becomes very slow ✓
A very noisy link causes repeated NAKs or timeouts, so the same packets are sent again and again. ARQ does not remove interference.

Match the Pairs

IF parity_ok THEN send ACK ELSE send NAK → The receiver uses a separate error check (here parity) to decide whether to accept the data or ask for a resend
WHILE NOT ack_received: resend packet → Every failed check makes the sender send the packet again, which adds waiting time and repeated sending
ARQ cannot find an error that its check misses, for example two flipped bits that leave even parity unchanged → sent 10110010, received 10011010, parity OK -> send ACK
On a very noisy link many packets fail the check, so there are many resends and the transfer is slow → NAK received -> attempts = attempts + 1 -> resend
ARQ detects errors by itself, so no parity or checksum is needed → ARQ needs a separate error check such as parity or a checksum to find errors. ARQ only controls the ACK, NAK and resending.
Noisy link -> ARQ sends each packet once -> transfer is faster → A noisy link causes more errors, so ARQ must resend packets many times and the transfer becomes slower.

Key Term

ARQ limits
ARQ resends data when a separate check finds an error, so it misses errors that check misses, and a noisy link causes many resends that slow the transfer.

Fill in the Blanks

1. IF parityOK = FALSE THEN SEND NAK
Hint: Type the negative reply the receiver sends when its separate check finds an error.
2. IF checksumRx = checksumCalc THEN SEND ACK
Hint: Type the comparison operator that tests whether the two checksum values are equal.
3. IF reply = "NAK" THEN RESEND packet
Hint: Type the action the sender takes when a negative reply arrives.
4. resends ← resends + 1
Hint: Type the arithmetic operator that counts one more repeated send on a noisy link.
5. totalTime ← sends * sendTime
Hint: Type the operator that shows total waiting time grows with each repeated send.

Spot the Error

Question 1
A SEND packet
B IF parity check passes THEN
C SEND NAK
D ELSE
E SEND NAK
Line C — When the parity check passes, no error was found, so the receiver should send ACK. Sending NAK would trigger a pointless resend. The line should be ' SEND ACK'.
Question 2
A receive packet
B skip check; ARQ finds errors
C IF error found THEN SEND NAK
Line B — ARQ cannot find errors by itself. It depends on a separate check such as parity or a checksum. The line should run that check, e.g. 'run parity check on packet'.
Question 3
A two bits flip in a byte
B parity detects the error
C receiver sends ACK
D bad data is accepted
Line B — Two flipped bits keep the parity the same, so the parity check misses the error. ARQ cannot find errors its check misses. The line should say 'parity still looks correct'.
Question 4
A noise = HIGH
B errors per packet go up
C resends go down
D transfer gets slower
Line C — More noise means more errors, so more NAKs and more resends. The number of resends goes up, not down. The line should be 'resends go up'.
Question 5
A SET resends ← 0
B WHILE reply is ACK
C resends ← resends + 1
D SEND packet again
Line B — Data is resent only while the reply is a NAK. An ACK means the packet arrived correctly, so the loop should stop. The line should be 'WHILE reply is NAK'.

Student with a class code? Join your class →