SlideShare a Scribd company logo
Flow Control
Flow control enables a receiver to regulate the flow of data from a sender so that
the receiver is not overwhelmed.
Flow control is a technique for ensuring that the sending entity does not
overwhelm the receiving entity with data preventing buffer overflow
• Transmission time — Time taken for a station to emit all bits of a frame into
medium • Proportional to the length of the frame
• Propagation time — Time for a bit to traverse the link between source and
destination.
Consider a situation in which the sender transmits frames faster than the receiver can
accept them.
If the sender keeps pushing out frames at high rate, at some point the receiver will be
completely flooded and will start losing some frames.
This problem may be solved by introducing flow control.
Most flow control protocols contain a feedback mechanism to inform the sender when it
should transmit the next frame.
Mechanisms for Flow Control:
 Stop and Wait Protocol: This is the simplest file control protocol in which the
sender transmits a frame and then waits for an acknowledgement, either positive
or negative, from the receiver before proceeding.
If a positive acknowledgement is received, the sender transmits the next packet;
else it retransmits the same frame.
However, this protocol has one major flaw in it. If a packet or an
acknowledgement is completely destroyed in transit due to a noise burst, a
deadlock will occur because the sender cannot proceed until it receives an
acknowledgement.
This problem may be solved using timers on the sender's side. When the frame
is transmitted, the timer is set. If there is no response from the receiver within a
certain time interval, the timer goes off and the frame may be retransmitted.
This process is handled by one more method that is known as STOP AND WAIT
ARQ (Automatic repeat Request).
Any time an error is detected in an exchange, specified frames are retransmitted.
This process is called automatic repeat request (ARQ).
Stop-and-wait ARQ
Stop-and-wait ARQ is a method used in communication to send information between
two connected devices. It ensures that information is not lost and received in the correct
order. It is the ARQ method. A stop-and-wait ARQ sender sends one frame at a time;
After sending each frame, the sender doesn't send any other frames until it receives an
acknowledgement (ACK) signal. After receiving a good frame, the receiver sends an
ACK. If the ACK does not reach the sender before a certain time, known as the timeout,
the sender sends the same frame again.
In this case the sender resends the same packet. Eventually the receiver gets two
copies of the same frame, and sends an ACK for each one. The sender, waiting for a
single ACK, receives two ACKs, which may cause problems if it assumes that the
second ACK is for the next frame in the sequence.
To avoid these problems, the most common solution is to define a 1 bit sequence
number in the header of the frame.
This sequence number alternates (from 0 to 1) in subsequent frames. When the
receiver sends an ACK, it includes the sequence number of the next packet it expects.
This way, the receiver can detect duplicated frames by checking if the frame sequence
numbers alternate. If two subsequent frames have the same sequence number, they
are duplicates, and the second frame is discarded. Similarly, if two subsequent ACKs
reference the same sequence number, they are acknowledging the same frame.
Stop-and-wait ARQ is inefficient compared to other ARQs, because the time
between packets, if the ACK and the data are received successfully, is twice the
transit time (assuming the turnaround time can be zero). The throughput on the
channel is a fraction of what it could be. To solve this problem, one can send
more than one packet at a time with a larger sequence number and use one ACK
for a set. This is what is done in GO-BACK-N ARQ and the Selective Repeat.
Sliding Window
Sliding window is a technique for controlling transmitted data packets between two
network computers where reliable and sequential delivery of data packets is required.
In the sliding window technique, each data packet (for most data link layers) and byte
(in TCP) includes a unique consecutive sequence number, which is used by the
receiving computer to place data in the correct order. The objective of the sliding
window technique is to use the sequence numbers to avoid duplicate data and to
request missing data.
Sliding window is also known as windowing.
The sliding window technique places varying limits on the number of data packets that
are sent before waiting for an acknowledgment signal back from the receiving computer.
The number of data packets is called the window size.
In sliding window protocols the sender's data link layer maintains a 'sending window'
which consists of a set of sequence numbers corresponding to the frames it is permitted
to send.
Similarly, the receiver maintains a 'receiving window' corresponding to the set of
frames it is permitted to accept.
The window size is dependent on the retransmission policy and it may differ in values
for the receiver's and the sender's window.
The sequence numbers within the sender's window represent the frames sent but as yet
not acknowledged. Whenever a new packet arrives from the network layer, the upper
edge of the window is advanced by one.
When an acknowledgement arrives from the receiver the lower edge is advanced by
one.
Go-Back-N ARQ
Go-Back-N ARQ is a specific technique of the ARQ protocol, in which the sending
process continues to send a number of frames specified by a window size even without
receiving an ACK packet from the receiver. It is a special case of the general sliding
window protocol with the transmit window size of N and receive window size of 1.
The receiver process keeps track of the sequence number of the next frame it expects
to receive, and sends that number with every ACK it sends. The receiver will discard
any frame that does not have the exact sequence number it expects (either a duplicate
frame it already acknowledged, or an out-of-order frame it expects to receive later) and
will resend an ACK for the last correct in-order frame.
Once the sender has sent all of the frames in its window, it will detect that all of the
frames since the first lost frame are outstanding, and will go back to sequence number
of the last ACK it received from the receiver process and fill its window starting with that
frame and continue the process over again.
Go-Back-N ARQ is a more efficient use of a connection than Stop and Wait ARQ, since
unlike waiting for an acknowledgement for each packets, the connection is still being
utilized as packets are being sent.
w-1 + 1 < Sequence Number Space
i.e., w < Sequence Number Space
Maximum Window Size = Sequence Number Space - 1
In other words, during the time that would otherwise be spent waiting, more packets are
being sent. However, this method also results in sending frames multiple times – if any
frame was lost or damaged, or the ACK acknowledging them was lost or damaged, then
that frame and all following frames in the window (even if they were received without
error) will be re-sent. To avoid this, Selective Repeat ARQ can be used.
Selective Repeat ARQ
It may be used as a protocol for the delivery and acknowledgement of message units, or
it may be used as a protocol for the delivery of subdivided message sub-units.
When used as the protocol for the delivery of messages, the sending process
continues to send a number of frames specified by a window size even after a frame
loss.
Unlike Go Back N ARQ, the receiving process will continue to accept and
acknowledge frames sent after an initial error; this is the general case of the sliding
window protocol with both transmit and receive window sizes greater than 1.
The receiver process keeps track of the sequence number of the earliest frame it has
not received, and sends that number with every ACK it sends. If a frame from the
sender does not reach the receiver, the sender continues to send subsequent frames
until it has emptied its window.
The receiver continues to fill its receiving window with the subsequent frames, replying
each time with an ACK containing the sequence number of the earliest missing frames.
Once the sender has sent all the frames in its window, it re-sends the frame number
given by the ACKs, and then continues where it left off.
Maximum Window Size = Sequence Number Space / 2
The size of the sending and receiving windows must be equal, and half the maximum
sequence number.

More Related Content

DOCX
Micro project on ARQ
PPT
09 Data Link LayerFlow Control.ppt
PDF
Flowctrl
PPTX
flow control pptx for computer networking
PPTX
Unit IV_Flow.pptx
PPTX
Lecture 36-43_DATA_COMMUNICATION_PPT.pptx
PDF
Data link layer (Unit 2).pdf
PPT
session -7 - Sliding Window Protocol 1- N oisy Channels.ppt
Micro project on ARQ
09 Data Link LayerFlow Control.ppt
Flowctrl
flow control pptx for computer networking
Unit IV_Flow.pptx
Lecture 36-43_DATA_COMMUNICATION_PPT.pptx
Data link layer (Unit 2).pdf
session -7 - Sliding Window Protocol 1- N oisy Channels.ppt

Similar to Flow Control Cumputer Network report writing (20)

PPT
Presentation on dll
PPTX
Transport layer
PPSX
Flow Control
PPT
Lecture 23
PDF
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
PDF
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
PPTX
CS3591- Computer Networks Unit-2 Transport layer
PPTX
Go back.pptx
PDF
Unit 2_ Flow & Error Control in computer networks
PPT
Lecture 20
PPTX
Stop&ggghytyyyyhghhyuyyghhyhyWait ARQ.pptx
PDF
DATA LINK LAYER.pdf
PPTX
Computernetdfghuugfdssssddddfworkar.pptx
DOC
Congestion Control
PPTX
PDF
advances in computer networks Notes M.tech
PPT
computer_network_completenotes_unit2.ppt
PDF
Automatic Repeat Request (Arq) Protocols
PPT
Tcp Reliability Flow Control
Presentation on dll
Transport layer
Flow Control
Lecture 23
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
CS3591- Computer Networks Unit-2 Transport layer
Go back.pptx
Unit 2_ Flow & Error Control in computer networks
Lecture 20
Stop&ggghytyyyyhghhyuyyghhyhyWait ARQ.pptx
DATA LINK LAYER.pdf
Computernetdfghuugfdssssddddfworkar.pptx
Congestion Control
advances in computer networks Notes M.tech
computer_network_completenotes_unit2.ppt
Automatic Repeat Request (Arq) Protocols
Tcp Reliability Flow Control
Ad

More from SURAJITDASBAURI (20)

PDF
01_SC_Lecture_2.pdf engineering topics ee
PDF
15_02_2023_415559293.pdf power system analysis
PDF
ME-402_unit-4-Strain-Gauge-converted.pdf
PPT
Engineering topics strain gauge report ppt
PDF
ME-402_unit-4-Strain-Gauge-converted.pdf
PPT
Engineering topics strain gauge report ppt
PPT
Engineering topics strange gages report ppt
PPT
sensors report and engineering topics ppt
PDF
ME-402_unit-4-Strain-Gauge-converted.pdf
PDF
power generation project final year project
PDF
Flow control Cumputer network tropics study
PPT
NH3-symmetry1.ppt Rotational and Translational Motion operation
PPT
decision-making-process.ppt Explain various steps involving Decision Making p...
PPT
What is Agents, structure of agents, Types of AI Agents.
PDF
Lec11_removed_removed_removed.pdf
PDF
ECONOMICS%20FOR%20ENGINEERS%20%5BHM-EE601%5D_removed.pdf
PPT
Project Estimation.ppt
PPT
PPT
lanen_5e_ch05_student.ppt
PDF
Power System 2.pdf
01_SC_Lecture_2.pdf engineering topics ee
15_02_2023_415559293.pdf power system analysis
ME-402_unit-4-Strain-Gauge-converted.pdf
Engineering topics strain gauge report ppt
ME-402_unit-4-Strain-Gauge-converted.pdf
Engineering topics strain gauge report ppt
Engineering topics strange gages report ppt
sensors report and engineering topics ppt
ME-402_unit-4-Strain-Gauge-converted.pdf
power generation project final year project
Flow control Cumputer network tropics study
NH3-symmetry1.ppt Rotational and Translational Motion operation
decision-making-process.ppt Explain various steps involving Decision Making p...
What is Agents, structure of agents, Types of AI Agents.
Lec11_removed_removed_removed.pdf
ECONOMICS%20FOR%20ENGINEERS%20%5BHM-EE601%5D_removed.pdf
Project Estimation.ppt
lanen_5e_ch05_student.ppt
Power System 2.pdf
Ad

Recently uploaded (20)

PPTX
01_intro xxxxxxxxxxfffffffffffaaaaaaaaaaafg
PDF
Jean-Georges Perrin - Spark in Action, Second Edition (2020, Manning Publicat...
PDF
Capcut Pro Crack For PC Latest Version {Fully Unlocked 2025}
PDF
[EN] Industrial Machine Downtime Prediction
PPTX
IBA_Chapter_11_Slides_Final_Accessible.pptx
PPT
Predictive modeling basics in data cleaning process
PPTX
Acceptance and paychological effects of mandatory extra coach I classes.pptx
PDF
Data Engineering Interview Questions & Answers Batch Processing (Spark, Hadoo...
PPTX
Managing Community Partner Relationships
PDF
Introduction to Data Science and Data Analysis
PPTX
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
PPTX
importance of Data-Visualization-in-Data-Science. for mba studnts
PPT
lectureusjsjdhdsjjshdshshddhdhddhhd1.ppt
PPTX
Topic 5 Presentation 5 Lesson 5 Corporate Fin
PPTX
CYBER SECURITY the Next Warefare Tactics
PPTX
retention in jsjsksksksnbsndjddjdnFPD.pptx
PDF
Global Data and Analytics Market Outlook Report
PDF
Business Analytics and business intelligence.pdf
PDF
Microsoft Core Cloud Services powerpoint
PDF
Optimise Shopper Experiences with a Strong Data Estate.pdf
01_intro xxxxxxxxxxfffffffffffaaaaaaaaaaafg
Jean-Georges Perrin - Spark in Action, Second Edition (2020, Manning Publicat...
Capcut Pro Crack For PC Latest Version {Fully Unlocked 2025}
[EN] Industrial Machine Downtime Prediction
IBA_Chapter_11_Slides_Final_Accessible.pptx
Predictive modeling basics in data cleaning process
Acceptance and paychological effects of mandatory extra coach I classes.pptx
Data Engineering Interview Questions & Answers Batch Processing (Spark, Hadoo...
Managing Community Partner Relationships
Introduction to Data Science and Data Analysis
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
importance of Data-Visualization-in-Data-Science. for mba studnts
lectureusjsjdhdsjjshdshshddhdhddhhd1.ppt
Topic 5 Presentation 5 Lesson 5 Corporate Fin
CYBER SECURITY the Next Warefare Tactics
retention in jsjsksksksnbsndjddjdnFPD.pptx
Global Data and Analytics Market Outlook Report
Business Analytics and business intelligence.pdf
Microsoft Core Cloud Services powerpoint
Optimise Shopper Experiences with a Strong Data Estate.pdf

Flow Control Cumputer Network report writing

  • 1. Flow Control Flow control enables a receiver to regulate the flow of data from a sender so that the receiver is not overwhelmed. Flow control is a technique for ensuring that the sending entity does not overwhelm the receiving entity with data preventing buffer overflow • Transmission time — Time taken for a station to emit all bits of a frame into medium • Proportional to the length of the frame • Propagation time — Time for a bit to traverse the link between source and destination. Consider a situation in which the sender transmits frames faster than the receiver can accept them. If the sender keeps pushing out frames at high rate, at some point the receiver will be completely flooded and will start losing some frames. This problem may be solved by introducing flow control. Most flow control protocols contain a feedback mechanism to inform the sender when it should transmit the next frame. Mechanisms for Flow Control:  Stop and Wait Protocol: This is the simplest file control protocol in which the sender transmits a frame and then waits for an acknowledgement, either positive or negative, from the receiver before proceeding. If a positive acknowledgement is received, the sender transmits the next packet; else it retransmits the same frame. However, this protocol has one major flaw in it. If a packet or an acknowledgement is completely destroyed in transit due to a noise burst, a deadlock will occur because the sender cannot proceed until it receives an acknowledgement. This problem may be solved using timers on the sender's side. When the frame is transmitted, the timer is set. If there is no response from the receiver within a certain time interval, the timer goes off and the frame may be retransmitted. This process is handled by one more method that is known as STOP AND WAIT ARQ (Automatic repeat Request). Any time an error is detected in an exchange, specified frames are retransmitted. This process is called automatic repeat request (ARQ).
  • 2. Stop-and-wait ARQ Stop-and-wait ARQ is a method used in communication to send information between two connected devices. It ensures that information is not lost and received in the correct order. It is the ARQ method. A stop-and-wait ARQ sender sends one frame at a time; After sending each frame, the sender doesn't send any other frames until it receives an acknowledgement (ACK) signal. After receiving a good frame, the receiver sends an ACK. If the ACK does not reach the sender before a certain time, known as the timeout, the sender sends the same frame again. In this case the sender resends the same packet. Eventually the receiver gets two copies of the same frame, and sends an ACK for each one. The sender, waiting for a single ACK, receives two ACKs, which may cause problems if it assumes that the second ACK is for the next frame in the sequence. To avoid these problems, the most common solution is to define a 1 bit sequence number in the header of the frame. This sequence number alternates (from 0 to 1) in subsequent frames. When the receiver sends an ACK, it includes the sequence number of the next packet it expects. This way, the receiver can detect duplicated frames by checking if the frame sequence numbers alternate. If two subsequent frames have the same sequence number, they are duplicates, and the second frame is discarded. Similarly, if two subsequent ACKs reference the same sequence number, they are acknowledging the same frame. Stop-and-wait ARQ is inefficient compared to other ARQs, because the time between packets, if the ACK and the data are received successfully, is twice the transit time (assuming the turnaround time can be zero). The throughput on the channel is a fraction of what it could be. To solve this problem, one can send more than one packet at a time with a larger sequence number and use one ACK for a set. This is what is done in GO-BACK-N ARQ and the Selective Repeat. Sliding Window Sliding window is a technique for controlling transmitted data packets between two network computers where reliable and sequential delivery of data packets is required. In the sliding window technique, each data packet (for most data link layers) and byte (in TCP) includes a unique consecutive sequence number, which is used by the receiving computer to place data in the correct order. The objective of the sliding window technique is to use the sequence numbers to avoid duplicate data and to request missing data. Sliding window is also known as windowing.
  • 3. The sliding window technique places varying limits on the number of data packets that are sent before waiting for an acknowledgment signal back from the receiving computer. The number of data packets is called the window size. In sliding window protocols the sender's data link layer maintains a 'sending window' which consists of a set of sequence numbers corresponding to the frames it is permitted to send. Similarly, the receiver maintains a 'receiving window' corresponding to the set of frames it is permitted to accept. The window size is dependent on the retransmission policy and it may differ in values for the receiver's and the sender's window. The sequence numbers within the sender's window represent the frames sent but as yet not acknowledged. Whenever a new packet arrives from the network layer, the upper edge of the window is advanced by one. When an acknowledgement arrives from the receiver the lower edge is advanced by one. Go-Back-N ARQ Go-Back-N ARQ is a specific technique of the ARQ protocol, in which the sending process continues to send a number of frames specified by a window size even without receiving an ACK packet from the receiver. It is a special case of the general sliding window protocol with the transmit window size of N and receive window size of 1. The receiver process keeps track of the sequence number of the next frame it expects to receive, and sends that number with every ACK it sends. The receiver will discard any frame that does not have the exact sequence number it expects (either a duplicate frame it already acknowledged, or an out-of-order frame it expects to receive later) and will resend an ACK for the last correct in-order frame. Once the sender has sent all of the frames in its window, it will detect that all of the frames since the first lost frame are outstanding, and will go back to sequence number of the last ACK it received from the receiver process and fill its window starting with that frame and continue the process over again. Go-Back-N ARQ is a more efficient use of a connection than Stop and Wait ARQ, since unlike waiting for an acknowledgement for each packets, the connection is still being utilized as packets are being sent.
  • 4. w-1 + 1 < Sequence Number Space i.e., w < Sequence Number Space Maximum Window Size = Sequence Number Space - 1 In other words, during the time that would otherwise be spent waiting, more packets are being sent. However, this method also results in sending frames multiple times – if any frame was lost or damaged, or the ACK acknowledging them was lost or damaged, then that frame and all following frames in the window (even if they were received without error) will be re-sent. To avoid this, Selective Repeat ARQ can be used. Selective Repeat ARQ It may be used as a protocol for the delivery and acknowledgement of message units, or it may be used as a protocol for the delivery of subdivided message sub-units. When used as the protocol for the delivery of messages, the sending process continues to send a number of frames specified by a window size even after a frame loss. Unlike Go Back N ARQ, the receiving process will continue to accept and acknowledge frames sent after an initial error; this is the general case of the sliding window protocol with both transmit and receive window sizes greater than 1. The receiver process keeps track of the sequence number of the earliest frame it has not received, and sends that number with every ACK it sends. If a frame from the sender does not reach the receiver, the sender continues to send subsequent frames until it has emptied its window. The receiver continues to fill its receiving window with the subsequent frames, replying each time with an ACK containing the sequence number of the earliest missing frames. Once the sender has sent all the frames in its window, it re-sends the frame number given by the ACKs, and then continues where it left off. Maximum Window Size = Sequence Number Space / 2 The size of the sending and receiving windows must be equal, and half the maximum sequence number.