TCP Flow Control
Problem
A powerful server can send data much faster than a small client can process it.
Eventually the client's receive buffer fills.
How does the sender know when to slow down?
Solution — TCP Flow Control
The receiver tells the sender how much buffer space it has available: its receive window (rwnd).
It advertises this capacity in the TCP header's Window field, sent with acknowledgments (ACKs).
A zero window pauses ordinary data transmission; as the application reads data and frees space, the receiver advertises an updated window.
Receiver:
"I can accept another 32 KB."
The sender limits outstanding data accordingly.
Core idea: flow control prevents a sender from overwhelming the receiver.