Skip to main content

Short note: DLL flow control

Short answer

Flow control prevents a fast sender from overwhelming a slow receiver. Stop-and-wait sends one frame and waits for ACK. Sliding window allows multiple outstanding frames, with Go-Back-N retransmitting all after a loss, and Selective Repeat retransmitting only the lost frame, for higher efficiency.

Write a short note on data link layer flow control mechanisms.

Flow control is the data link layer mechanism that stops a fast sender from overwhelming a slow receiver with frames that its buffers cannot hold. The receiver gives feedback so that the sender sends only what the receiver can accept.

1. Stop-and-wait

The sender sends one frame and waits for the ACK before sending the next.

 Sender   -- Frame 0 -->  Receiver
          <-- ACK 0  ---
          -- Frame 1 -->

Simple, but poor use of the channel when propagation delay is long. Efficiency = 1/(1 + 2a), where a = propagation time / transmission time.

2. Sliding window

The sender may send up to W frames before an ACK arrives. Frames carry sequence numbers; the receiver acknowledges, and the window slides forward. This keeps the pipe full.

  • Go-Back-N: receiver accepts frames only in order; if frame k is lost or damaged, the sender retransmits k and all later frames. Receiver window = 1; sender window ≤ 2ⁿ − 1.
  • Selective Repeat: the receiver buffers out-of-order frames, and only the damaged frame is retransmitted. Sender and receiver window ≤ 2ⁿ⁻¹.
PointStop-and-waitGo-Back-NSelective Repeat
Frames in flight1up to 2ⁿ − 1up to 2ⁿ⁻¹
RetransmissionOne frameError frame and all afterOnly the error frame
Receiver buffer11Window size
EfficiencyLowMediumHigh

Flow control is combined with error control (ARQ) in practice, and acknowledgements can be piggybacked on data frames.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Computer Networks and Security chapter 3 questions →