Flow Control (original) (raw)

Last Updated : 2 Jan, 2026

Flow control is a mechanism in the Data Link Layer (DLL) of the OSI model that controls the speed of data transmission between a sender and a receiver. It ensures that the sender transmits data at a rate the receiver can handle, preventing buffer overflow and data loss while enabling efficient and reliable communication.

Approaches to Flow Control

1. Feedback-Based Flow Control

In this approach, the receiver sends explicit feedback to the sender about its ability to receive data. Based on this feedback, the sender adjusts its transmission rate to match the receiver’s current capacity.

**Techniques in Computer Architecture

**Ready-Signal Handshaking

**Credit-Based flow control

client

Credit-based flow control

2. Rate-Based Flow Control

In rate-based flow control, the sender transmits data at a fixed or pre-negotiated rate without receiving continuous feedback from the receiver. This approach assumes that the receiver can process data at the agreed transmission rate.

**Techniques in computer architecture

Techniques of Flow Control

1. Stop-and-Wait Flow Control

Stop-and-Wait is a simple feedback-based flow control technique in which the sender transmits one frame at a time and waits for an acknowledgment from the receiver before sending the next frame. If the acknowledgment is not received within a specified timeout period, the sender retransmits the frame to ensure reliable delivery.

2. Sliding Window Flow Control

Sliding Window is a feedback-based flow control technique that allows the sender to transmit multiple frames before receiving acknowledgments. The sender maintains a _window of unacknowledged frames and moves (slides) the window forward as acknowledgments are received, enabling continuous and pipelined data transmission.

The significance of flow control is multifaceted:

Importance of Flow Control

Flow control plays a crucial role in efficient and reliable data communication: