Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Flow Control & ARQs

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 34

FLOW

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

Figure : Stop-and Wait protocol


This is the simplest form of flow control where a sender
transmits a data frame. After receiving the frame, the
receiver indicates its willingness to accept another frame by
sending back an ACK frame acknowledging the frame just
received. The sender must wait until it receives the ACK
frame before sending the next data frame.This is sometimes
referred to as ping-pong behavior, request/reply is simple to
understand and easy to implement, but not very efficient
DRAWBACKS:
Major drawback of Stop-and-Wait Flow Control is that only one frame can be in
transmission at a time, this leads to inefficiency if propagation delay is much longer
than the transmission delay.
USES :
Some protocols pretty much require stop-and-wait behavior. For example,
Internet's Remote Procedure Call (RPC) Protocol is used to implement subroutine calls
from a program on one machine to library routines on another machine. Since most
programs are single threaded, the sender has little choice but to wait for a reply before
continuing the program and possibly sending another request.
Stop-and-Wait ARQ

1. Sender keeps a copy of the last frame Transmitted Until it receives


an acknowledgment for that frame.

1. Both data frames and ACK frames are numbered alternately 0 & 1

1. Damaged, out of order or lost frames will be discarded and will


not be acknowledged

1. Control variables: S holds the number of recently sent frame


R holds the number of next frame expected

1. Sender starts a timer when it sends a frame

1. Receiver sends only positive ACK


In Stop-and-Wait ARQ, we use sequence
numbers to number the frames.
The sequence numbers are based on modulo-
2 arithmetic.
Normal operation
Stop-and-Wait ARQ, lost frame
Stop-and-Wait ARQ, lost ACK frame
Stop-and-Wait ARQ, delayed ACK
Numbered acknowledgments are needed if an
acknowledgment is delayed and the next
frame is lost.
Piggybacking
Link Utilization in Stop-and-Wait

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

o Allows transmission of multiple frames


o Assigns each frame a k-bit sequence number
o Range of sequence number is [0...2k-1], i.e., frames
are counted modulo 2k.

The link utilization in case of Sliding Window Protocol


U = 1, for N > 2a + 1
N/(1+2a), for N < 2a + 1
Where N = the window size,
and a = Propagation time / transmission time
Go-Back-N ARQ, normal operation
Go-Back-N ARQ, lost frame
Go-Back-N ARQ: sender window size
In Go-Back-N ARQ, the size of the send
window must be less than 2m;
the size of the receiver window
is always 1.
Selective-Repeat ARQ

Sender and Receiver Windows

Operation

Sender Window Size

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

You might also like