Quiz Entry - updated: 2026.07.14
What is TCP flow control and how does the window size work?
Flow control matches the send rate to what the receiver can handle: the receiver advertises a window size (bytes it can accept), and the sender may have only that much unacknowledged data outstanding. The window "slides" forward as ACKs arrive (sliding window).
* The receiver advertises a window; it slides as ACKs arrive and clamps to 0 when the buffer fills. *
TCP Flow Control:
Flow control manages the rate of data transmission to prevent the receiver from being overwhelmed.
Window Size:
- The amount of data a destination can receive and process reliably
- Advertised by the receiver in each segment
- Sender limits unacknowledged data to the window size
How it works:
| Step | Action |
|---|---|
| 1 | Receiver advertises window size (e.g., 10,000 bytes) |
| 2 | Sender may have up to that many unacknowledged bytes in flight at once |
| 3 | As ACKs arrive, the window slides forward and the sender can send more |
| 4 | Receiver shrinks/grows the advertised window as its buffer fills or drains |
Sliding Window:
- Window "slides" forward as data is acknowledged
- Allows continuous transmission without waiting for each ACK
Maximum Segment Size (MSS):
- Largest amount of data in a single TCP segment
- Typically 1,460 bytes (Ethernet MTU 1500 - 20 IP - 20 TCP)
- Negotiated during three-way handshake
Go deeper:
TCP: Flow Control and Window Size — visualizes how the advertised window paces the sender.
RFC 9293 §3.8.6 — Managing the Window — the authoritative rules for window advertisement and the persist timer.
TCP — Flow control — Wikipedia's sliding-window explanation for the carousel.