Flow control is a function of communication protocols for adapting the transmission speed of asynchronously operating terminals to the recording capacity of the receiving station. Flow control regulates the data rate between the sending and receiving station and ensures speed adaptation and that data transmission is loss-free.
In the event of overload on the transmission link or data congestion, the receiving terminal causes the transmitting terminal to reduce the data rate or temporarily suspend it so that the receiving station can accept all the data from the transmitting station.
Congestion occurs when the number of data packets that a sending station transfers to the network exceeds the receiving terminal 's recording capacity. Since flow control takes place at different levels and between different network components, such as between application processes, ports, end devices, network nodes and subnets, they are different hardware or software control methods.
Flow control is a function of the network layer, but it can also be functionally located at the network layer or at higher layers and include data transport, end-to-end connections and also the application. In flow control, the stations in contact agree their control parameters among themselves. These specify, for example, the number of data packets that a sending station may send without having received an acknowledgement of receipt from the receiver. It can operate with acknowledgement mode, either with single block acknowledgement or with joint acknowledgement of several data packets in a time window.
All transmission protocols operate with flow control, but with different algorithms. In ATM it is Generic Flow Control( GFC), in Fibre Channel there is the credit procedure, in High Level Data Link Control( HDLC) and in Synchronous Data Link Control( SDLC) it is based on the window technique with variable window size, in the TCP protocol flow control is regulated in the window data field and uses a procedure with movable window size and in Lossless Ethernet according to a priority principle, Priority Flow Control( PFC).