0% found this document useful (0 votes)
2 views25 pages

Module3_Flowcontrol

Module 3 discusses flow control mechanisms in the data link layer, focusing on protocols such as Stop-and-Wait ARQ, Go-Back-N ARQ, and Selective Repeat ARQ. These protocols manage the rate of data transmission to prevent overwhelming slower receivers and include methods for error control and acknowledgment of frames. The document outlines the advantages and disadvantages of each protocol, emphasizing the efficiency of Selective Repeat ARQ in noisy environments.

Uploaded by

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

Module3_Flowcontrol

Module 3 discusses flow control mechanisms in the data link layer, focusing on protocols such as Stop-and-Wait ARQ, Go-Back-N ARQ, and Selective Repeat ARQ. These protocols manage the rate of data transmission to prevent overwhelming slower receivers and include methods for error control and acknowledgment of frames. The document outlines the advantages and disadvantages of each protocol, emphasizing the efficiency of Selective Repeat ARQ in noisy environments.

Uploaded by

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

Module 3: Part II

Module 3 Data Link Layer- FLOW


CONTROL MECHANISM
Outline

• Flow Control Mechanism


• Sliding Window Protocol
• Go - Back - N Protocol
• Selective Repeat Protocol
Data link Layer
 Error Control (Check Part I of Module III)
• Error Control in the data link layer is a process of detecting and
retransmitting the data which has been lost or corrupted during the
transmission of data.
 Flow Control
 Flow control is the process of managing the rate of data transmission
between two nodes to prevent a fast sender from overwhelming a slow
receiver.
Flow Control
 Process of managing the rate of data transmission between two
nodes to prevent a fast sender from overwhelming a slow receiver.
 Receiver has limited speed to process incoming data and a limited
memory to store incoming data.
 Receiver must inform the sender before the limits are reached and
request that the transmitter to send fewer frames or stop
temporarily.
 When the rate of processing is often slower than the rate of
transmission, receiver has a block of memory (buffer) for storing
incoming data until they are processed.
Flow Control Mechanisms
 There are three types of flow control mechanism
 Stop-and-Wait ARQ (Automatic Repeat Request)
 Stop-and-Wait ARQ - lost ACK frame
 Stop-and-Wait - delayed ACK frame
 Piggybacking
 Go-Back-N ARQ
 Go-Back-N ARQ - normal operation
 Go-Back-N ARQ - lost frame
 Go-Back-N ARQ - damaged/lost/delayed ACK
 Selective-Repeat ARQ
 Sender and receiver windows
 Selective Repeat ARQ - lost frame
Stop-and-Wait ARQ
 Sender keeps a copy of the last frame until it
receives an acknowledgement.
 Both data frames and acknowledgement (ACK)
frames are numbered alternatively 0 and 1.
 Sender has a control variable (S) that holds the
number of the recently sent frame. (0 or 1)
 Receiver has a control variable (R) that holds
the number of the next frame expected (0 or 1).
 Receiver send only positive ACK if the frame is
intact.
 ACK number always defines the number of the
next expected frame
Stop-and-Wait, lost ACK frame
 If the sender receives a damaged
ACK, it discards it.
 When the timer of the sender
expires, the sender retransmits
frame 1.
 Receiver has already received
frame 1 and expecting to receive
frame 0 (R=0). Therefore it
discards the second copy of frame
1.
Stop-and-Wait, delayed ACK frame
• The ACK can be delayed at the receiver or
due to some problem
• It is received after the timer for frame 0
has expired.
• Sender retransmitted a copy of frame 0.
However, since R =0 which means
receiver already has frame 0. Receiver
discards the duplicate frame 0.
• Sender receives 2 ACKs, it discards the
second ACK.
Piggybacking
• A method to combine a data frame
with ACK.
• Station A and B both have data to
send.
• Instead of sending separately,
station A sends a data frame that
includes an ACK.
• Station B does the same thing.
• Piggybacking saves bandwidth.
Disadvantage of Stop-and-Wait
 In stop-and-wait, at any point in time, there is only one frame that is sent
and waiting to be acknowledged.
 This is not a good use of transmission medium.
 To improve efficiency, multiple frames should be in transition while
waiting for ACK.
 Two protocol use the above concept,
 Go-Back-N ARQ
 Selective Repeat ARQ
Go-Back-N ARQ
 Sender can send up to W frames before
worrying about ACKs.
 Sender keeps the copy of these frames until the
ACKs arrive.
 This procedure requires additional features to
be added to Stop-and-Wait ARQ.
Sequence Numbers
• Frames from a sender are numbered sequentially.
• We need to set a limit since we need to include the sequence
number of each frame in the header.
• If the header of the frame allows m bits, the sequence numbers
range from 0 to 2m – 1.
• for m = 3, sequence numbers are: 0,1, 2, 3, 4, 5, 6, 7.
• We can repeat the sequence number.
• Sequence numbers are:
0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, …
Sender Sliding Window
 At the sending site, to hold the
outstanding frames until they are
acknowledged, the concept of a window is
used.
 The size of the window is at most 2m -1
where m is the number of bits for the
sequence number.
 Size of the window can be variable.
 The window slides to include new unsent
frames when the correct ACKs are received
Receiver Sliding Window
 Size of the window at the receiving site
is always 1 in this protocol.
 Receiver is always looking for a specific
frame to arrive in a specific order.
 Any frame arriving out of order is
discarded and needs to be resent.
 Receiver window slides as shown in fig.
Receiver is waiting for frame 0 in part
a.
Control Variables
Control Variables …
 Sender has 3 variables: S, SF and SL
 S holds the sequence number of recently sent frame
 SF holds the sequence number of the first frame
 SL holds the sequence number of the last frame
 Receiver only has the one variable, R, that holds the sequence
number of the frame it expects to receive. If the seq. no. is the
same as the value of R, the frame is accepted, otherwise
rejected.
Acknowledgement
 Receiver sends positive ACK if a frame is arrived safe and in order.
 If the frames are damaged/out of order, receiver doesn’t respond and
discard all subsequent frames until it receives the one it is expecting.
 The silence of the receiver causes the timer of the unacknowledged frame
to expire.
 Then the sender resends all frames, beginning with the one with the
expired timer.
 For example, suppose the sender has sent frame 6, but the timer for frame
3 expires (i.e. frame 3 has not been acknowledged), then the sender goes
back and sends frames 3, 4, 5, 6 again. Thus it is called Go-Back-N-ARQ
 The receiver does not have to acknowledge each frame received, it can
send one cumulative ACK for several frames.
Go-Back-N ARQ, normal operation
 The sender keeps track of the outstanding frames and updates the
variables and windows as the ACKs arrive.
Go-Back-N ARQ, lost frame
 Frame 2 is lost
 When the receiver receives frame 3, it
discards frame 3 as it is expecting
frame 2 (according to window).
 After the timer for frame 2 expires at
the sender site, the sender sends
frame 2 and 3. (go back to 2)
Go-Back-N ARQ, damaged/lost/delayed ACK
 If an ACK is damaged/lost, we can have two situations:
 If the next ACK arrives before the expiration of any timer, there is no
need for retransmission of frames because ACKs are cumulative in this
protocol.
 If ACK1, ACK2, and ACK3 are lost, ACK4 covers them if it arrives before
the timer expires.
 If ACK4 arrives after time-out, the last frame and all the frames
after that are resent.
 Receiver never resends an ACK.
 A delayed ACK also triggers the resending of frames.
Go-Back-N ARQ, sender window size

 Size of the sender window must


be less than 2 m.
 Size of the receiver is always 1.
 If m = 2, window size = 2 m – 1 = 3.
 Fig compares a window size of 3
and 4.
Selective Repeat ARQ, sender and receiver windows
 Go-Back-N ARQ simplifies the process at the receiver site.
 Receiver only keeps track of only one variable
 There is no need to buffer out-of-order frames, they are simply
discarded.
 Go-Back-N ARQ protocol is inefficient for noisy link.
 It bandwidth inefficient and slows down the transmission.
 In Selective Repeat ARQ, only the damaged frame is resent.
 More bandwidth efficient but more complex processing at receiver.
 It defines a Negative ACK (NAK) to report the sequence number of a
damaged frame before the timer expires.
Selective Repeat ARQ - lost frame

 Frames 0 and 1 are accepted when


received because they are in the
range specified by the receiver
window. Same for frame 3.
 Receiver sends a NAK2 to show that
frame 2 has not been received and
then sender resends only frame 2
and it is accepted as it is in the
range of the window.
References
 Computer Networks: A Systems Approach, Larry Peterson and Bruce
Davie, 5th Ed, The Morgan Kaufmann Series, Elsevier, 2011.
 Computer Networking: A Top-Down Approach Featuring the
Internet, J. F. Kurose and K. W. Ross, 6th Ed., Pearson
Education,2012.
 Data Communications and Networking, Behrouz A. Forouzan,
McGraw Hill Education, 5th Ed., 2012
 TCP/IP Protocol Suite, Behrouz A. Forouzan, McGraw-Hill Education,
4 Ed., 2009
 Data and Computer Communications, William Stallings, Pearson
Education,10th Ed,2013.

You might also like