You are on page 1of 13

Flow Control Protocol

There are 3 standard ARQ protocols;


• Alternating bit (Stop and Wait):
• The transmitter buffers one packet, sends it, and sets a timer;
• The receiver either receives the packet and sends a positive ack or
nothing is received and the receiver keeps quiet or transmits a
negative ack;
• In case of a positive ack the transmitter’s buffer is freed and the
next packet is loaded
• Otherwise, the packet is retransmitted;
• The transmitter stamps each new packet with sequence numbers
alternating between 0 and 1; retransmitted packets are copies of
the original packet and have thus the same sequence number;
• The sequence numbers allow the receiver to detect duplicates,
which result if the positive ack, not the data packet, is lost;
• It can provide loss – free, duplicate – free and in – sequence
delivery of data;
Lost or damaged frame

A damage or lost frame treated by


the same manner by the receiver.

No NACK when frame is corrupted /


duplicate
Note
In the Go-Back-N Protocol, the sequence numbers are modulo 2 m,
where m is the size of the sequence number field in bits.

11.4
Figure 11.12 Send window for Go-Back-N ARQ

11.5
Note
The send window is an abstract concept defining an imaginary box of size 2 m − 1 with
three variables: Sf, Sn, and Ssize.

11.6
Note
The send window can slide one
or more slots when a valid acknowledgment arrives.

11.7
Figure 11.13 Receive window for Go-Back-N ARQ

11.8
Note
The receive window is an abstract concept defining an imaginary box
of size 1 with one single variable Rn.
The window slides
when a correct frame has arrived; sliding occurs one slot at a time.

11.9
Go back N:

•Alternating bit is inefficient in case when multiple packets are


in transit on the same link; Goback N allows the transmitter to
have multiple unacknowledged frames;
•The transmitter keeps a buffer for up to N packets, called its
window;
•Each packet in the window has its own timer, started upon the
packet’s transmission;
•The receiver accepts frames only in sequence and drops frames
that are incorrectly received but do not have the expected
sequence number, typically because some previous frame had
been lost;
•Therefore, the receiver only needs buffer space for a single
frame;
•One common strategy for acknowledgements is to let the
receiver always acknowledge the last packet arrived in
sequence;
•If at the transmitter the timer for the oldest frame expires
because the corresponding acknowledgement has not been
received, this frame and all other frames in the window are
retransmitted;
Damage or Lost Frame

• Correctly received out of order


packets are not Buffered
• What is the disadvantage of this?
•Selective Repeat/ Selective Reject:
•Unlike to Go back N protocol, in Selective Repeat
the receiver has also N buffers and uses them to
buffer frames arriving out of sequence;
•To achieve in – sequence delivery of data to the
user, the receiver keeps out – of – sequence packets
in the data buffer until the missing packets have
arrived;
•The receiver can use both positive and negative
acknowledgments;
•The transmitter retransmits only those packets for
which no acknowledgment has been received within
the timeout period;
•Send and Wait and Selective Repeat have the
important property that only erroneous packets are
retransmitted while Go back N potentially
retransmits correctly received packets, which is a
waste of energy;
•In practice, often, the number of retransmissions/
packet is bounded to avoid spending too much
energy in hopeless cases; in this case, a loss – free
service can not be guaranteed; such a protocol is
also said to be semi reliable;

You might also like