//
Flow Control ensures that a fast sender does not overwhelm a slow receiver. The receiver must have time to process each frame before the next one arrives.
The simplest flow control mechanism. The sender sends one frame and then stops and waits for an acknowledgment (ACK) from the receiver before sending the next frame.
Utilization: U = T_frame / (T_frame + 2 × T_propagation)
The sender can send up to $N$ frames (the window size) without waiting for an ACK. The receiver only accepts frames in order.
Like GBN, the sender can send up to $N$ frames ahead. But the receiver buffers out-of-order frames and only requests retransmission of the specific lost/corrupted frames.
| Feature | Stop-and-Wait | Go-Back-N | Selective Repeat |
|---|---|---|---|
| Window Size | 1 | N | N |
| Retransmission | Single frame | N frames | Only lost frame |
| Receiver Buffer | 1 frame | 1 frame | N frames |
| Efficiency | Very Low | Moderate | High |