Flow Control & ARQs
Flow Control & ARQs
Flow Control & ARQs
CONTROL TECHNIQUES
&
ARQS
Presented by:
Amit Saha
Shantanav Chakraborty
Ayan Ghosh
Flow control refers to a set of procedures
used to restrict the amount of data that the
sender can send before waiting for
acknowledgment.
Flow control ensures that a transmitting station, such as a server with higher processing
capability, does not overwhelm a receiving station, such as a desktop system, with lesser
processing capability. This is where there is an orderly flow of transmitted data between the
source and the destination.
Error control in the data link layer is
based on automatic repeat request,
which is the retransmission of data.
PROTOCOLS
Now let us see how the data link layer can combine
framing, flow control, and error control to achieve the
delivery of data from one node to another. The
protocols are normally implemented in software by
using one of the common programming languages.
Stop-and-Wait protocol
1. Both data frames and ACK frames are numbered alternately 0 & 1
Transmission time: The time it takes for a station to transmit a frame (normalized to a
value of 1).
Propagation delay: The time it takes for a bit to travel from sender to receiver (expressed
as a).
– a < 1 :The frame is sufficiently long such that the first bits of the frame arrive at
the destination before the source has completed transmission of the frame.
– a > 1: Sender completes transmission of the entire frame before the leading bits of
the frame arrive at the receiver.
– The link utilization U = 1/(1+2a),
a = Propagation time / transmission time
It is evident from the above equation that the link utilization is strongly dependent on the
ratio of the propagation time to the transmission time. When the propagation time is
small, as in case of LAN environment, the link utilization is good. But, in case of long
propagation delays, as in case of satellite communication, the utilization can be very
poor.
To improve the link utilization, we can use the
following (sliding-window)
protocol instead of using stop-and-wait protocol.
Sliding Window
With the use of multiple frames for a single message, the stop-and-wait protocol does not
perform well. Only one frame at a time can be in transit. In stop-and-wait flow control, if
a > 1, serious inefficiencies result. Efficiency can be greatly improved by allowing
multiple frames to be in transit at the same time. Efficiency can also be improved by
making use of the full-duplex line. To keep track of the frames, sender station sends
sequentially numbered frames. Since the sequence number to be used occupies a field in
the frame, it should be of limited size. If the header of the frame allows k bits, the
sequence numbers range from 0 to 2k – 1. Sender maintains a list of sequence numbers
that it is allowed to send (sender window). The size of the sender’s window is at most 2k
– 1. The sender is provided with a buffer equal to the window size. Receiver also
maintains a window of size 2k – 1. The receiver acknowledges a frame by sending an
ACK frame that includes the sequence number of the next frame expected. This also
explicitly announces that it is prepared to receive the next N frames, beginning with the
number specified. This scheme can be used to acknowledge multiple frames. It could
receive frames 2, 3, 4 but withhold ACK until frame 4 has arrived. By returning an ACK
with sequence number 5, it acknowledges frames 2, 3, 4 in one go. The receiver needs a
buffer of size 1.
Sender sliding window
Receiver sliding window
Control variables
Hence, Sliding Window Flow Control
Operation
Transmission
Pipelining
Send window for Selective Repeat ARQ
Receive window for Selective Repeat ARQ
Design of Selective Repeat ARQ
Selective Repeat ARQ, window size
Thank you