In the 1980s, the internet faced a potential collapse due to an influx of new users, which congested its networks and slowed connection speeds as a result.
To counter this, TCP (transmission control protocol) was created, which allowed for a faster and more efficient restoration of connections, and was able to support the larger networks used today, explains Mahdi Naghavi, the contributor behind the Hackaday tech portal.
TCP controls the amount of data that can be in transit at any one time through a method known as the “congestion window”.
This involves each side of a TCP exchange estimating the data load, sharing these estimates, and agreeing on a smaller estimate to use as the congestion window.
Successful data packet delivery sees the window size double, but packet loss prompts a division of the window size, which then slowly increases until it starts to drop packets again, and the window size reduces accordingly.
While this maintains speed and efficiency, Naghavi says newer algorithms offer further refinements.