Why do my downloads on steam “build up” to my Internets actual speed? Why doesn’t it just instantly jump to 10Mb/s?

272 viewsOtherTechnology

Why do my downloads on steam “build up” to my Internets actual speed? Why doesn’t it just instantly jump to 10Mb/s?

In: Technology

2 Answers

Anonymous 0 Comments

> Why doesn’t it just instantly jump to 10Mb/s?

But is that really your max download speed?

[*vsauce jingle*](https://www.youtube.com/watch?v=32EJg8lqJgQ)

The traffic isn’t just between your PC and the ISP’s own router. The download process needs to account for the limitations of every single network device and cable/wireless link your traffic goes through. The max speed can even change mid-download if a line goes down and the routing changes!

In order to avoid overwhelming the channel and causing a major lock-up, the TCP protocol includes [slow starting](https://en.wikipedia.org/wiki/TCP_congestion_control#Slow_start) that first tries sending stuff slower and sees if everything gets through, then ramps up until some packets don’t arrive on time. After that it dials back a bit to a previously known good transmission rate.

Anonymous 0 Comments

First off, none of this is actually a Steam thing, but just how network connections in general work.

Between the IP layer and the Application layer is something called TCP – Transmission Control Protocol. This layer is responsible for things like distinguishing which application the packet should be passed to, and making sure that you have received all the different segments of a message and can reassemble them in order.

TCP also handles making sure the connection doesn’t become congested. It does this by sending an initial small amount of data, and then waiting for the acknowledgement. If it gets an acknowledgement for everything in a certain time, then it knows there’s more capacity still, so it increases the size of the next amount of data it sends. It keeps doing this until either the receiving computer fails to acknowledge some of the message, or that acknowledgement takes too long. This is how it finds out how much capacity you have to download.

And this is why *every* download starts slow and then speeds up. Even after it finds the right size, it will be constantly monitoring and trying to balance up and down to keep the right size window, since your capacity might change with other network traffic.