Flow Control

Flow Control

« Back to Glossary Index
Visit Us
Follow Me

In the context of computer and data networks, flow control is a technique to manage the rate of data transmission between two nodes (such as between a computer and a router, or between two routers) to prevent a fast sender from overwhelming a slower receiver. This can help avoid data loss from buffer overflow, where the receiver’s buffer – a temporary storage area for incoming data – becomes completely filled.

There are various methods of implementing flow control:

  1. Stop-and-wait: After sending a packet, the sender doesn’t send any further packets until it has received an acknowledgement (ACK) from the receiver.
  2. Sliding window: The sender sends a number of packets (up to the “window size”) without waiting for an acknowledgement, but if an ACK isn’t received for the earliest packet within a certain time, it will stop sending.
  3. Rate-based: The receiver continually tells the sender how much data it is allowed to send in a given time period.

Flow control can be implemented at various layers of the OSI (Open Systems Interconnection) model, a conceptual model that standardizes the functions of a communication system into seven categories. For example, flow control is part of the specification for the TCP (Transmission Control Protocol) used in Internet communications, which operates at the transport layer of the OSI model.

In addition to network communication, flow control techniques are also used in other areas such as computer peripheral communication and multiprocessor synchronization.

You may also like...