Data-Link Control & Protocols
Data-Link Control & Protocols
Flow Control
When a data frame (Layer-2 data) is sent from one host to another over a
single medium, it is required that the sender and receiver should work at
the same speed. That is, sender sends at a speed on which the receiver
can process and accept the data. What if the speed (hardware/software)
of the sender or receiver differs? If sender is sending too fast the receiver
may be overloaded, (swamped) and data may be lost.
Two types of mechanisms can be deployed to control the flow:
Stop and Wait
This flow control mechanism forces the sender after transmitting a
data frame to stop and wait until the acknowledgement of the data-
frame sent is received.
Sliding Window
In this flow control mechanism, both sender and receiver
agree on the number of data-frames after which the
acknowledgement should be sent. As we learnt, stop and wait
flow control mechanism wastes resources, this protocol tries to
make use of underlying resources as much as possible.
Error Control
When data-frame is transmitted, there is a probability that data-frame
may be lost in the transit or it is received corrupted. In both cases, the
receiver does not receive the correct data-frame and sender does not
know anything about any loss .In such case, both sender and receiver are
equipped with some protocols which helps them to detect transit errors
such as loss of data-frame. Hence, either the sender retransmits the data-
frame or the receiver may request to resend the previous data-frame.
Requirements for error control mechanism:
Error detection - The sender and receiver, either both or
any, must ascertain that there is some error in the transit.
Positive ACK - When the receiver receives a correct frame, it
should acknowledge it.
Negative ACK - When the receiver receives a damaged
frame or a duplicate frame, it sends a NACK back to the sender
and the sender must retransmit the correct frame.
Retransmission: The sender maintains a clock and sets a
timeout period. If an acknowledgement of a data-frame
previously transmitted does not arrive before the timeout the
sender retransmits the frame, thinking that the frame or it’s
acknowledgement is lost in transit.
There are three types of techniques available which Data-link layer may
deploy to control the errors by Automatic Repeat Requests (ARQ):
Stop-and-wait ARQ