Flow control vs congestion control

Flow control is a mechanism used in computer networks to control the flow of data between a sender and a receiver, so that a slow receiver is not overwhelmed by a fast sender. Flow control provides the receiver with methods to control the transmission speed so that the receiver can manage the data transmitted by the sender. Congestion control is a mechanism that controls the flow of data when congestion actually occurs. It controls the data entering a network so that the network can manage traffic within the network.

What is flow control ?

Flow control is a mechanism that controls the flow of data between a sender and a recipient so that a slower receiver is not overwhelmed by the amount of data transmitted by a fast sender. This situation can arise for several reasons, in particular the lack of processing power of the recipient compared to the sender or the recipient with a high traffic load compared to the sender. The mechanisms used in flow control can be categorized according to whether the recipient sends a return to the sender. In the open loop flow control mechanism, the recipient does not send feedback to the sender and this is the most used flow control method. In closed loop flow control, the information clutter are returned to the sender. Common types of flow control are: network congestion, windowing flow control, and data buffer.

What is congestion control ?

Congestion control provides methods to regulate traffic entering a network so that it can be handled by the network itself. Congestion control prevents a network from reaching a congestive collapse in which little or no useful communication takes place due to congestion. Congestion control is mainly applied to packet switching networks. The goal of congestion control is to keep the number of packets in the network below a level that would significantly reduce performance. Congestion control is implemented in the Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) transport layer protocols. Slow start and exponential slowdown algorithms are used in TCP. Congestion control algorithms are classified according to the amount of feedback received from the network and the performance aspect it aims to improve. In addition, they are classified according to criteria such that the modifications must be made on the current network and the equity criterion used by the algorithm.

What is the difference between flow control and congestion control?

Although flow control and congestion control are two mechanisms of network traffic control used in computer networks, they have their main differences. Flow control is an end-to-end mechanism that controls traffic between a sender and a recipient, when a fast sender transmits data to a slow receiver. On the other hand, congestion control is a mechanism used by a network to control congestion in the network. Congestion control prevents packet loss and delays due to network congestion. Congestion control can be seen as a mechanism for ensuring that an entire network can handle traffic arriving on the network. However,