- Flow control is an important concept in the field
of data communications.
- This process involves management of the data
transmission rate between two communicating nodes.
- Flow control is important to
avoid a slow receiver from being outrun by a fast sender.
- Using flow control, a
mechanism is designed for the receiver using which it can control its speed of
transmission.
- This prevents the receiving node from getting overwhelmed with
traffic from the node that is transmitting.
- Do not confuse yourself with
congestion control and flow control. Both are different concepts.
- Congestion
control comes in to play when in actual there is a problem of network
congestion for controlling the data flow.
On the other hand the mechanism of
flow control can be classified in the following two ways:
- The feedback is sent to the sending node by
the receiving node.
- The feedback is not sent to the sending node
by the receiving node.
- The sending computer might tend to send the data
at a faster rate than what can be received and processed by the other computer.
- This is why we require flow control.
- This situation arises when the traffic
load is too much up on the receiving computer when compared to the computer
that is sending the data.
- It can also arise when the processing power of the
receiving computer is slower than the processing power of the one that is
sending the data.
Stop and Wait Flow Control Technique
- This is the simplest type of the
flow control technique.
- Here, when the receiver is ready to start receiving data
from the sender, the message is broken down in to a number of frames.
- The sending
system then waits for a specific time to get an acknowledgement or ACK from the
receiver after sending each frame.
- The purpose of the acknowledgement signal is
to make sure that the frame has been received properly.
- If during the
transmission a packet or frame gets lost, then it has to be re-transmitted.
- We
call this process as the automatic repeat request or ARQ.
- This technique has a
problem which is that it is capable of transmitting only one frame in one go.
- This makes the transmission channel very inefficient.
- Therefore, until and
unless the sender gets an acknowledgement it will not proceed further for
transmitting another packet.
- Both the transmission channel and the sender are
left un-utilized during this period.
- Simplicity of this
method is its biggest advantage.
- Disadvantage is the inefficiency resulting
because of this simplicity.
- Waiting state of the sender creates inefficiency.
- This happens usually when the transmission delay is shorter than the
propagation delay.
- Sending longer transmissions is another cause for
inefficiencies.
- Also, it increases the chance for the errors to creep in this
protocol.
- In short messages, it is quite easy to detect the errors early.
- By
breaking down one big message in to various separate smaller frames, the
inefficiency increases.
- This is so because these pieces altogether take a long
to be transmitted.
Sliding window Flow Control Technique
- This is another method of flow
control where permission is given to the sender by the receiver for
continuously transmitting data until a window is filled up.
- Once the window is
full, sender stops transmission until a larger window is advertised.
- This
method can be utilized in a better way if the size of the buffer is kept
limited.
- During the transmission, space for say n frames is allocated to the
buffer.
- This means n frames can be accepted by the receiver without having to
wait for ACK.
- After n frames an ACK is sent consisting of the sequence number
of the next frame that has to be sent.
No comments:
Post a Comment