TCP congestion control refers to how the transport layer controls congestion. Usually, the congestion occurs due to: i) packet loss and ii) network traffic. To avoid this, we use three types of algorithm
1. Slow Start
2. Additive Increase
3. Multiplicative decrease
<u>Explanation:</u>
Now, in AIMD (Additive Increase Multiplicative Decrease) the packets are sent to the receiver and are increased or decreased exponentially. The additive increase is used to increase the bandwidth of the congestion window. multiplicative decreases are used whenever there is a packet loss. There is a mathematical formula that defines AIMD.
W (t+1) = { W(t)+a if congestion is not detected , W(t) * b if congestion is detected }
Where W(t) is sending rate, a is a parameter for additive increase and b is a parameter for the multiplicative decrease. With this formula, we can calculate that in how many rounds can the packets being transferred.
Slow Start is also an algorithm that is used to maintain the speed of a network. It gradually increases the data transferred to the receiver until it reaches the size of the congestion window. First, the sender will send the data packets to the receiver. It will send the initial data packets within the size of the sender’s size of the congestion window and awaits the acknowledgment from the receiver.
If no acknowledgment comes, the sender will not send any more data. Otherwise, the receiver will send back the acknowledgment within its on size. The sender will next send data packets increasing the size. This process goes on until there is no acknowledgment from the receiver or either senders or the receiver’s congestion window is filled.