Open In App

Difference between Flow Control and Congestion Control

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

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:

  • Prevents buffer overflow: Flow control prevents buffer overflow by regulating the rate at which data is sent from the sender to the receiver.
  • Helps in handling different data rates: Flow control helps in handling different data rates by regulating the flow of data to match the capacity of the receiving device.
  • Efficient use of network resources: Flow control helps in efficient use of network resources by avoiding packet loss and reducing the need for retransmissions.

Disadvantages of Flow Control:

  • May cause delays: Flow control may cause delays in data transmission as it regulates the rate of data flow.
  • May not be effective in congested networks: Flow control may not be effective in congested networks where the congestion is caused by multiple sources.
  • May require additional hardware or software: Flow control may require additional hardware or software to implement the flow control mechanism.

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:

  • Prevents network congestion: Congestion control prevents network congestion by regulating the rate at which data is sent from the sender to the receiver.
  • Efficient use of network resources: Congestion control helps in efficient use of network resources by reducing the number of lost packets and retransmissions.
  • Fair allocation of network resources: Congestion control ensures a fair allocation of network resources by regulating the rate of data flow for all sources.

Disadvantages of Congestion Control:

  • May cause delays: Congestion control may cause delays in data transmission as it regulates the rate of data flow.
  • May require additional hardware or software: Congestion control may require additional hardware or software to implement the congestion control mechanism.
  • May lead to underutilization of network resources: Congestion control may lead to underutilization of network resources if the congestion is not severe.

Similarities between Flow Control and Congestion Control:

  • Both regulate the flow of data: Both flow control and congestion control regulate the flow of data in a network.
  • Both prevent packet loss: Both flow control and congestion control prevent packet loss by regulating the rate of data flow.

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.


Last Updated : 23 Mar, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads