Open In App

Difference Between Flow Control and Error Control

Last Updated : 28 Dec, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

In data transmission, the general aspect of maintaining effective and accurate transfer of data between gadgets is very important. This is where the flow control and the error control mechanisms will be of help. Flow control regulates the amount of data being transmitted from the sender to the receiver so that it does not overpower the receiver, while error control concerns itself with errors that may occur in the transmission process. Protocols are two categories that run again in the Data Link Layer to ensure that the transmission of data is accurate and efficient.

What is Flow Control?

It is an important function of the Data Link Layer. It refers to a set of procedures that tells the sender how much data it can transmit before waiting for acknowledgment from the receiver. 

Purpose of Flow Control

Any receiving device has a limited speed at which it can process incoming data and also a limited amount of memory to store incoming data. If the source is sending the data at a faster rate than the capacity of the receiver, there is a possibility of the receiver being swamped. The receiver will keep losing some of the frames simply because they are arriving too quickly and the buffer is also getting filled up. 

This will generate waste frames on the network. Therefore, the receiving device must have some mechanism to inform the sender to send fewer frames or stop transmission temporarily. In this way, flow control will control the rate of frame transmission to a value that can be handled by the receiver. 

Example –Stop & Wait Protocol 

What is Error Control?

The error control function of the data link layer detects the errors in transmitted frames and re-transmits all the erroneous frames. 

Purpose of Error Control

The function of error control function of the data link layer helps in dealing with data frames that are damaged in transit, data frames lost in transit and acknowledged frames that are lost in transmission. The method used for error control is called Automatic Repeat Request (ARQ) which is used for the noisy channel. 

Example –Stop & Wait ARQ and Sliding Window ARQ 

Difference Between Flow Control and Error Control

Flow control Error control
Flow control is meant only for the transmission of data from sender to receiver. Error control is meant for the transmission of error free data from sender to receiver.
For Flow control there are two approaches : Feedback-based Flow Control and Rate-based Flow Control. To detect error in data, the approaches are : Checksum, Cyclic Redundancy Check and Parity Checking
To correct error in data, the approaches are : Hamming code, Binary Convolution codes, Reed-Solomon code, Low-Density Parity Check codes.
It prevents the loss of data and avoid over running of receive buffers. It is used to detect and correct the error occurred in the code.
Example of Flow Control techniques are : Stop & Wait Protocol and Sliding Window Protocol. Example of Error Control techniques are : Stop & Wait ARQ and Sliding Window ARQ (Go-back-N ARQ, Selected Repeat ARQ).

Conclusion

Flow control and error control are two vital sub layers of the Data Link Layer that assists in data communication to be smooth. Flow is mainly concerned with the control of data flow rate to avoid overloading of the receiver while error control is mainly concerned with the identification and elimination of errors in the stream of data.



Next Article

Similar Reads