Let us understand the concept of flow control and congestion control.
It is handled by a receiving side and it safeguards that a sender can only send something that a receiver can control or handle.
Flow control handles a mechanism available to safeguard that communication flows smoothly.
For example, a situation where somebody has a quick fiber connection could be sending on something or dial up similar. A sender could have the capability to send packets quickly, however that can be useless to a receiver on dialup. Thus they require a method to throttle the sending side.
The issues related to flow control are that the receiver buffer can be full design implementations of PAUSE Function, adding pause frame in transmit queues, etc.
It is a technique which safeguards everything across the network which has a good amount of access to a network resource, within an allocated time.
Suppose in a mixed-network environment, everybody requires being capable to assume a similar general phase of performance.
Like in office LAN, a number of segments are available where everyone is doing work within a LAN, though they can require going out for a WAN link which is slower than a LAN segment.
So some type of congestion control could be in place to safeguard that there are no issues within a greater network. Issues related to congestion control are the low loading, service policies, packet queuing, router queue, it is tough to get because the router can get several packets since several sources are connected to a network.
The major differences between flow and congestion control are as follows −
|Flow control||Congestion control|
|Here the traffic is controlled when it is sent by the sender.|
Handled by the DLL and Transport Layer.
|Here it is controlled when it is about to enter the network.|
Here it is controlled by the transport layer and the network layer.
|Only the sender will be responsible.||Here the transport layer is held responsible.|
|The ability of the receiver to receive the data.||Here it is the ability of the network to handle the data.|
Flow control is used so that the receiver never gets so much data that it cannot process it. Thus, the receiver is not overwhelmed.
Congestion control is used so that the network is never congested and works smoothly.
Flow control is implemented by making the sender send the data slowly.
Congestion control is done by sending the data that is transmitted slowly by the transport layer.