0% found this document useful (0 votes)
6 views7 pages

Flow Control and Error Control

The Data Link Layer ensures reliable data transfer through functions like line discipline, flow control, and error control. Flow control manages the rate of data transmission to prevent overwhelming the receiver, utilizing methods such as Stop-and-Wait and Sliding Window protocols. Error control detects and corrects errors in transmitted frames, employing techniques like ARQ, with variations including Stop-and-Wait ARQ and Selective Repeat ARQ.

Uploaded by

Jithin S
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views7 pages

Flow Control and Error Control

The Data Link Layer ensures reliable data transfer through functions like line discipline, flow control, and error control. Flow control manages the rate of data transmission to prevent overwhelming the receiver, utilizing methods such as Stop-and-Wait and Sliding Window protocols. Error control detects and corrects errors in transmitted frames, employing techniques like ARQ, with variations including Stop-and-Wait ARQ and Selective Repeat ARQ.

Uploaded by

Jithin S
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Flow Control and Error Control

Data Link Layer is responsible for reliable point-to-point data transfer over a physical medium. To
implement this data link layer provides three functions :

• Line Discipline:
Line discipline is the functionality used to establish coordination between link systems. It
decides which device sends data and when.

• Flow Control:
Flow control is an essential function that coordinates the amount of data the sender can
send before waiting for acknowledgment from the receiver.

• Error Control:
Error control is functionality used to detect erroneous transmissions in data frames and
retransmit them.

What is Flow Control in the Data Link Layer?

Flow control is a set of procedures that restrict the amount of data a sender should send before it
waits for some acknowledgment from the receiver.

• Flow Control is an essential function of the data link layer.

• It determines the amount of data that a sender can send.

• It makes the sender wait until an acknowledgment is received from the receiver’s end.

• Methods of Flow Control are Stop-and-wait , and Sliding window.


Purpose of Flow Control

The device on the receiving end has a limited amount of memory (to store incoming data)
and limited speed (to process incoming data). The receiver might get overwhelmed if the rate at
which the sender sends data is faster or the amount of data sent is more than its capacity.

Buffers are blocks in the memory that store data until it is processed. If the buffer is overloaded and
there is more incoming data, then the receiver will start losing frames.

The flow control mechanism was devised to avoid this loss and wastage of frames. Following this
mechanism, the receiver, as per its capacity, sends an acknowledgment to send fewer frames or
temporarily halt the transmission until it can receive again.

Thus, flow control is the method of controlling the rate of transmission of data to a value that the
receiver can handle.

Methods to Control the Flow of Data

Stop-and-wait Protocol

Stop-and-wait protocol works under the assumption that the communication channel
is noiseless and transmissions are error-free.

Working:

• The sender sends data to the receiver.

• The sender stops and waits for the acknowledgment.

• The receiver receives the data and processes it.

• The receiver sends an acknowledgment for the above data to the sender.

• The sender sends data to the receiver after receiving the acknowledgment of previously sent
data.

• The process is unidirectional and continues until the sender sends the End of Transmission
(EoT) frame.
Sliding Window Protocol

The sliding window protocol is the flow control protocol for noisy channels that allows the sender to
send multiple frames even before acknowledgments are received. It is called a Sliding
window because the sender slides its window upon receiving the acknowledgments for the sent
frames.

Working:

• The sender and receiver have a “window” of frames. A window is a space that consists of
multiple bytes. The size of the window on the receiver side is always 1.

• Each frame is sequentially numbered from 0 to n – 1, where n is the window size at the
sender side.

• The sender sends as many frames as would fit in a window.

• After receiving the desired number of frames, the receiver sends an acknowledgment. The
acknowledgment (ACK) includes the number of the next expected frame.

Example:
1. The sender sends the frames 0 and 1 from the first window (because the window size is 2).

2. The receiver after receiving the sent frames, sends an acknowledgment for frame 2 (as
frame 2 is the next expected frame).

3. The sender then sends frames 2 and 3. Since frame 2 is lost on the way, the receiver sends
back a “NAK” signal (a non-acknowledgment) to inform the sender that frame 2 has been
lost. So, the sender retransmits frame 2.

What is Error Control in the Data Link Layer?

Error Control is a combination of both error detection and error correction. It ensures that the data
received at the receiver end is the same as the one sent by the sender.

Error detection is the process by which the receiver informs the sender about any erroneous frame
(damaged or lost) sent during transmission.

Error correction refers to the retransmission of those frames by the sender.


Purpose of Error Control

Error control is a vital function of the data link layer that detects errors in transmitted frames and
retransmits all the erroneous frames. Error discovery and amendment deal with data frames
damaged or lost in transit and the acknowledgment frames lost during transmission. The method
used in noisy channels to control these errors is ARQ or Automatic Repeat Request.

Categories of Error Control

Stop-and-wait ARQ

• In the case of stop-and-wait ARQ after the frame is sent, the sender maintains a timeout
counter.

• If acknowledgment of the frame comes in time, the sender transmits the next frame in the
queue.

• Else, the sender retransmits the frame and starts the timeout counter.

• In case the receiver receives a negative acknowledgment, the sender retransmits the frame.

Sliding Window ARQ

To deal with the retransmission of lost or damaged frames, a few changes are made to the sliding
window mechanism used in flow control.

Go-Back-N ARQ :
In Go-Back-N ARQ, if the sent frames are suspected or damaged, all the frames are re-transmitted
from the lost packet to the last packet transmitted.

Selective Repeat ARQ:

Selective repeat ARQ/ Selective Reject ARQ is a type of Sliding Window ARQ in which only the
suspected or damaged frames are re-transmitted.
Differences between Flow Control and Error Control

Flow control Error control

Flow control refers to the


Error control refers to the transmission of error-free and reliable
transmission of data frames
data frames from sender to receiver.
from sender to receiver.

Approaches for error detection are Checksum, Cyclic


Approaches for Flow Control :
Redundancy Check, and Parity Checking. Approaches for error
Feedback-based Flow Control
correction are Hamming code, Binary Convolution codes, Reed-
and Rate-based Flow Control.
Solomon code, and Low-Density Parity-Check codes.

Flow control focuses on the


proper flow of data and data Error control focuses on the detection and correction of errors.
loss prevention.

Examples of Flow Control


Examples of Error Control techniques are :
techniques are :
1. Stop and Wait for ARQ,
1. Stop and Wait for Protocol,
2. Sliding Window ARQ.
2. Sliding Window Protocol.

Conclusion

• Data frames are transmitted from the sender to the receiver.

• For the transmission to be reliable, error-free, and efficient flow control and error
control techniques are implemented.

• Both these techniques are implemented in the Data Link Layer.

• Flow Control is used to maintain the proper flow of data from the sender to the receiver.

• Error Control is used to find whether the data delivered to the receiver is error-free and
reliable.

You might also like