skip to content
Hankyu Kim's blog

TCP Flow Control

/ 1 min read

Flow control is a method that clients (RX) use to fix ‘overflow’ issues caused by the difference in data processing times between the server (TX) and the client (RX).

There’s no problem at all if the receiver’s data processing time is faster than the sender’s. However, problems can arise if the receiver’s data processing time is slower than the sender’s.

  1. Stop and Wait

The server (TX) sends a piece of data and then pauses, waiting to receive confirmation from the client (RX) that the data has been received.

  1. Sliding Window

Overflow can be prevented by setting the server’s sending window (awnd) to be smaller than the client’s receiving window (rwnd), as this ensures that the amount sent is less than the amount received. If the receiver communicates the size of their receiving window (rwnd) back to the sender as feedback, the sender can then adjust their sending window (awnd) to be smaller than the receiver’s window (rwnd).

6