In this article, we are going to talk about a very well known method to keep things under control. This method is used in TCP when you see there are congestion and many other places. This method is called AIMD which stands for Additive Increase Multiplicative Decrease. Let’s see what it is and how it can help you out.
This method tells you how to proceed in case of congestion or if there is traffic ahead and you don’t know the sweet spot. What we do is start by adding a unit to the flow that we send. After each iteration, we add a fixed unit to the flow. Hence it keeps increasing in a linear fashion. Now once we see there is a congestion of push back. What we do is decrease the traffic by a fraction. So it is reduced dramatically and now all your requests can be served or all your packet will be forwarded.
So, in short, we increase traffic linearly and decrease it exponentially when there is congestion. This leads to a dramatic graph that looks like a saw tooth. Also, this is used in TCP congestion control and due to these reasons, this is also known as TCP sawtooth.
Let’s see a graph that is created when you use AMID.
If you see this graph you, the congestion point is 6 packets per transmission, Now if at the start the rate is 1 packet and subsequently increase by one packet in each iteration. When it reaches the highest point of congestion it is decreased by a factor of 2 that is it is halved the rate is was sending packets.
The graph that comes as output looks like a sawtooth.
So this was a short introduction to the AIMD method and how it gives you the graph which looks like sawtooth and its implementation in TCP congestion control.
If you like the article please share.