Back to the 2023 paper

Module 2: Data Link Layer & MAC Sublayer

20237m

Why acknowledgement is numbered in stop & wait protocol? Discuss the situation when unnumbered acknowledgements can create confusion in the sender receiver end.

Worked SolutionAI Assisted

Why Acknowledgements are Numbered in Stop-and-Wait

Definition. In stop-and-wait ARQ the sender transmits exactly one frame and then waits for its acknowledgement before sending the next. Frames carry a sequence number that alternates 0, 1, 0, 1 ... and the ACKs carry a number too — normally the number of the next data frame the receiver expects. One bit is enough, because only one frame can be outstanding: 21=22^1 = 2 states suffice for sender and receiver to stay in step.

Why the acknowledgement must be numbered

  1. The sender must know which frame was acknowledged. A timeout fires whenever the ACK is late, even if the data frame arrived safely and only the ACK was lost. A bare, unnumbered ACK signal cannot tell the sender what it confirms, so the sender cannot decide correctly between retransmitting a frame the receiver already has (duplicate) and moving on to the next frame (which the receiver may never have got).
  2. Duplicate suppression. The receiver compares the incoming frame number with the number it expects; a retransmission of a frame already delivered is recognised as old, discarded, and simply re-ACKed.
  3. Rejection of stale ACKs. A delayed ACK from an earlier exchange may still be circulating. Only its number reveals that it refers to an old frame, so it cannot be matched to the current one.

Situation where unnumbered ACKs cause confusion

Sender                                             Receiver
  | --- data frame D0 (unnumbered) ------------->   |  delivered D0 to network layer
  |                                                 | --- ACK (no number) --- lost
  |  timeout: no ACK arrives                        |
  | --- D0 retransmitted (unnumbered) ----------->  |  ???
  1. The sender transmits frame D0; the receiver accepts it and delivers the data to the network layer.
  2. The ACK is delayed or lost. The sender times out and retransmits D0. Since neither frames nor ACKs are numbered, the receiver cannot recognise the copy and delivers the same data a second time — a fatal error in, say, a banking application where the same ₹1000 withdrawal would be recorded twice.
  3. Now suppose the original, delayed ACK finally arrives after the sender has already re-sent D0 and received a second ACK. Unable to read any number, the sender may match this stale ACK with the next frame it is about to send and advance prematurely, while the receiver is still waiting for the current frame.
  4. From that point the two ends are permanently out of step: the sender believes every frame is acknowledged, the receiver believes frames are being lost. Every later frame is either wrongly accepted out of order or wrongly rejected — exactly the confusion numbering prevents.

How numbering removes the confusion

After D0 the receiver expects number 1: a retransmitted D0 is identified as old, discarded, and ACKed again; an ACK numbered 1 is recognised as referring to frame D0 (or as requesting frame 1) and can never be mistaken for the ACK of some other frame. Sender and receiver therefore always agree on which frame is outstanding, and no data is ever delivered twice or lost silently.

Similar questions

AI LearningWeb Platform

Coursify — Personal AI Course Generator

Struggling with a difficult subject or concept? Turn any engineering topic into a structured course with interactive lessons, quizzes, and research-backed explanations.