Open In App

Difference between Flow Control and Congestion Control

Flow Control and Congestion Control are traffic controlling methods for different situations. The main difference between flow control and congestion control is that, In flow control, rate of traffic received from a sender can be controlled by a receiver. On the other hand, In congestion control, rate of traffic from sender to the network is controlled. 

Flow Control:

Flow control is a technique used to regulate the flow of data between different nodes in a network. It ensures that a sender does not overwhelm a receiver with too much data too quickly. The goal of flow control is to prevent buffer overflow, which can lead to dropped packets and poor network performance.



Advantages of Flow Control:

Disadvantages of Flow Control:



Congestion Control:

Congestion control is a technique used to prevent congestion in a network. Congestion occurs when too much data is being sent over a network, and the network becomes overloaded, leading to dropped packets and poor network performance.

Advantages of Congestion Control:

Disadvantages of Congestion Control:

Similarities between Flow Control and Congestion Control:

Both improve network efficiency: Both flow control and congestion control improve network efficiency by reducing the number of lost packets and retransmissions.

Let’s see the difference between flow control and congestion control:

S.NO Flow Control Congestion Control
1. Traffic from sender to receiver is controlled, to avoid overwhelming the slow receiver.

Traffic entering the network from a sender is controlled by reducing rate of packets. 

Here, the sender has to control/modulate his own rate to achieve optimal network utilization.

2. Flow control is typically used in data link layer.  Congestion control is applied in network and transport layer.
3. In this, Receiver’s data is prevented from being overwhelmed. In this, Network is prevented from congestion.
4. In flow control, sender needs to take measures to avoid receiver from being overwhelmed depending on feedback from receiver and also in absence of any feedback. In this, many algorithms designed for transport layer/network layer define how endpoints should behave to avoid congestion.
5.

Types of Flow control are 

  1. Stop and Wait – For every frame transmitted, sender expects ACK from receiver.
  2. Sliding Window – ACK needed only after sender transmits data until window is full, which is allocated initially by receiver.

Mechanisms designed to prevent network congestions are 

  1. Network Queue Management
  2. Explicit Congestion Notification 
  3. TCP Congestion control

Conclusion:

Flow control and congestion control are both important concepts in computer networking that are used to manage the flow of data between different nodes in a network. While they share some similarities, they differ in their purpose, scope, and mechanisms. Understanding the differences between these two concepts is critical to managing the performance and reliability of a network, and to ensuring that data is transmitted efficiently and effectively.

Article Tags :