top button
Flag Notify
Site Registration

Isn't Flow control and congestion control have the same meaning?

+1 vote
476 views

TCP Flow Control relies on the window size reported in an ACK message. Congestion Control also relies on acknowledgement messages. I would like to know what the difference between the two terms, and how do they work.

posted May 20, 2014 by Nikhil Pandey

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button

2 Answers

+2 votes

They both might relies on acknowledgement messages but the role defined for flow control and congestion control is different.

Flow control always controlled by receiving side. Receiving side will make sure that the sender only sends what the receiver can handle. If the sender can send packets very quickly and has bandwidth and all but receiver is not capable to receive it then it would be useless to send packets fast. So flow control is just a mechanism which ensures that communication between two peers goes smoothly.

Where as Congestion control mechanism monitors the whole network and ensures that every peer in the network who wants to access it has fair amount of network resources and there is no congestion in whole network.

How these both can be taken care is mentioned in Sachidanand answer.

answer May 21, 2014 by Hiteshwar Thakur
+1 vote

They are not same at all.

We can differentiate them with respect to their work and with respect to layer functionality. I will just list out the important points and its importance.

Flow Control:
1> It a end to end or point to point control flow (End Transmitter and End Receiver )
2> So if transmitter end sends data with high speed and receiver is unable to take then Receiver can tell sender directly to slow down.
3> It's easy to detect as it happens with the End sender and End Receiver.
4> How to control :-
i> Sliding window protocol (the sliding parameter time we can control)
ii> Stop and wait protocol
iii>Receiver can tell the window size it supports so tyhat sender will send data according to that.
5> Data link layer takes care about it.

Congestion control:
1> It between node to node (e.g one router to next router)
2> Consider a situation about line (whole way in which packet will traverse) is speed but in between 2 router is there in which one is slower and other router is faster, so the the receiving router will face problem.
3> It's hard to detect as it will happens in the middle of an network.
4> How to control :-
i > Send probe packets periodically asking about congestion.
ii> How the network has been designed
iii> QoS Parameter need to be considered (As router should support this )
5> Transport layer/Network Layer takes care about it.

Hope it concludes that both are not same.

answer May 20, 2014 by Sachidananda Sahu
Thank you for sharing your thoughts. It's clear to me now.
...