ELEC3506

Data LinkLecture 316 min

ARQ and Flow Control — ACK, NAK and PPP

How ACK, NAK and retransmission timeouts recover from lost or damaged frames, and the PPP frame that carries a WAN link's data.

By the end of this page you should be able to

  • Explain what ARQ stands for and how ACK, NAK and timeout retransmission work together
  • Distinguish flow control from error control
  • Name and describe every field in a PPP frame
  • Say what stop-and-wait, go-back-N and selective repeat are, without inventing their mechanics

The idea

Error detection tells a receiver a frame is damaged. It says nothing about getting a correct copy — for that, something has to ask again. ARQ, Automatic Repeat reQuest, is that something: a set of rules for when to retransmit, running without a human deciding case by case.

There is a second problem sitting right next to it. Even a perfectly correct stream of frames can overwhelm a receiver that simply cannot keep up — a different failure mode, called by a different name: flow control. ARQ’s retransmission logic is where error control and flow control meet.

ACK, NAK and the timeout

How it works

Three ways a frame's fate gets settled

  • Positive acknowledgment (ACK) — sent back when a frame arrives with no detected error.
  • Negative acknowledgment (NAK) — sent back when a frame arrives with a detected error, asking for it again.
  • Retransmission after a timeout — the sender starts a timer when it transmits. If nothing comes back before it expires, the sender retransmits anyway.

The timeout case matters because ACK and NAK both assume the frame arrived at the receiver in the first place. If the frame itself is lost, the receiver never gets a chance to send anything back. If the frame arrives fine but the ACK is lost on the way back, the sender is left in the same position — no reply, regardless of which side the loss happened on. The timer is what breaks that stalemate.

Where marks get lost

A timeout does not mean the frame was damaged

It is tempting to treat “no ACK arrived” as proof the frame was corrupted. It is not — the lecture is explicit that either the frame or the acknowledgment may have been lost. The sender cannot tell which, and does not need to: retransmitting is the correct move either way.

Flow control and error control

What it managesWhat goes wrong without it
Flow controlThe rate data is sent atA fast sender overruns a slower receiver's buffer
Error controlThe integrity of what arrivesCorrupted data is accepted as though it were correct
Tutorial 3 (Q5) asks for this comparison directly, plus how error control complements flow control — ARQ's retransmission cycle is that complement, folding error-integrity checks into the same loop that paces delivery.

The lecture places ARQ as a flow control mechanism operating on the datagram, run in the transport layer — naming TCP specifically as where this runs in practice.

The slides name stop-and-wait ARQ, go-back-N ARQ and selective repeat ARQ as required topics, but do not develop their mechanics — no window sizes, sequence-number widths or retransmission rules for any of the three appear in the lecture material, and none of that was independently verified for this page. If an exam question asks for the specific windowing behaviour of one of these, this page cannot give it — check the tutorial solutions or the textbook chapter directly rather than relying on a number this page did not check.

PPP

How it works

Point-to-Point Protocol

PPP is derived from DLC (Data Link Control) and was built mainly for WAN links. The lecture notes it is no longer relevant for LAN.

A PPP frame: a 1-byte opening flag, a 1-byte address field always set to the broadcast value, a 1-byte control field, a 1- or 2-byte protocol field, a variable-length payload, a 2- or 4-byte frame check sequence, and a 1-byte closing flag.BYTES (PAYLOAD NOT TO SCALE)111Protocol1–2 BPayloadvariableFCS2–4 B1
The address field is always 11111111 — PPP is a point-to-point link with exactly one possible recipient, so the field exists for framing compatibility with HDLC rather than to actually select an address.
  • Flag — 1 byte, 01111110. Marks the start and end of the frame.
  • Address — 1 byte, always the broadcast value 11111111. A point-to- point link has exactly one possible recipient, so there is nothing for the field to select — it exists for framing compatibility rather than to make an addressing decision.
  • Control — constant values; PPP does not use this field for flow control.
  • Protocol — defines what the frame is carrying, user data or other control information.
  • FCS — 2 or 4 bytes, a CRC used for error detection.

Check yourself

Two checks:

  1. A sender’s timer expires with no ACK or NAK received. Was the frame definitely corrupted?
  2. Why does the PPP Address field never actually select a destination?

Answers: no — either the frame or the returning ACK could have been lost, and the sender cannot distinguish the two cases, so it just retransmits. And: because PPP connects exactly two points, so there is only ever one possible recipient — the field is fixed at the broadcast value rather than doing real addressing work.

In the exam

  • ARQ’s three mechanisms. ACK (clean arrival), NAK (detected error, request retransmission), and timeout-triggered retransmission (covers the case where nothing comes back at all).
  • Why timeout exists alongside ACK/NAK. Either the frame or the ACK may be lost — the sender cannot tell which, and retransmits regardless.
  • Flow control vs error control. Rate versus integrity — Tutorial 3’s Q5 pairing.
  • Where the lecture places ARQ. Flow control for the datagram, run in the transport layer (TCP named specifically).
  • PPP field values. Flag 01111110, Address 11111111 (broadcast, always), Control constant (no flow control), FCS 2 or 4 bytes.
  • Stop-and-wait / go-back-N / selective repeat. Named in the unit, not developed in the slides. This page states the gap rather than guessing.

Check yourself

  1. What does ARQ stand for, and what does it do?
  2. A sender transmits a frame and receives neither an ACK nor a NAK before its timer expires. What is the most likely explanation, and what does the sender do?
  3. What is the difference between flow control and error control?
  4. In a PPP frame, what value does the Address field always carry, and why?
  5. Which of these does Lecture 3 actually describe in detail — stop-and-wait ARQ's window mechanics, or the general ACK/NAK/timeout cycle?