What is the Flow Control in the Data Link Layer?

It is a collection of processes that tells the sender how much data it can send before the data destroys the receiver. The receiving device has finite speed and limited memory to save the data.

Thus, the receiving device should be able to instruct the sending device to stop the transmission temporarily before the limits are arrived.

There is another essential problem in the data link design to manage the cost of data communication between two source and destination hosts. If the conflict between the source and destination hosts data sending and receiving speed, it will make packets drop at the receiver end.

The transport entity uses a changed form of sliding window protocol for flow control. This flow control is needed because the transport layer can experience back strength from the network layer.

In the structure, the window size is variable and composed by the receiver. A credit assigned is transmitted to the receiver’s sender, which denotes how some TPDUs can be received by it.

Techniques for Flow Control

Two techniques have been created to control the flow of data which are as follows −

  • Stop and Wait Protocol

    It is the simplest flow control method. In this, the sender will transmit one frame at a time to the receiver. The sender will stop and wait for the recognition from the receiver. This time (i.e. the time joining message transmitting and acknowledgment receiving) is the sender’s waiting time, and the sender is idle during this time.

    While sending the information from the sender to the receiver, the data flow required to be controlled. If the sender is broadcasting the data at a cost higher than the receiver can receive and process it, the data will get hidden. The Flow-control methods will help in ensuring that the data doesn't get hidden.

    The benefit of stop & wait protocols is their certainty. The next frame is sent only when the first frame is recognized. Therefore there is no chance of the frame being hidden.

    The main disadvantage of this approach is that it is disorganized. It makes the transmission process slow. A single frame travels from source to destination in this approach, and a single acknowledgment travels from destination to source.

  • Sliding Window Protocol

    A sliding window is also known as windowing. A sliding window is an approach for controlling sending data packets between two network devices where dependable and sequential delivery of data packets is needed, such as utilizing the Data Link Layer (OSI model) or Transmission Control Protocol (TCP).

    In the sliding window methods, each data packet and byte contains a specific consecutive sequence number used by the receiving computer to place data in the correct order. The main goal of the sliding window technique is to use the sequence numbers to prevent duplicate data and to request missing information.