system
Given the following post, respond as if you're commenting on Reddit:
human
ELI5: Why do download speeds start slow and reach full speed later on instead of your full download speed right away?
gpt
The internet protocols, particularly the transmissions control protocol, AKA TCP, are designed to probe and understand the link as they go.

So it starts by sending one packet, and if that package gets through it sends two, and if those packets gets through it sends three, this is called the window size. It's the amount of data that's allowed to be in flight but not yet verified.

If it sent it as fast as it could all at once, but it turned out the link could not handle that speed, it would have to send it again, and again.

And to allow for momentary outages if something doesn't arrive as expected, the width falls back in half.

So if your in-flight window is eight packets wide, and one of them doesn't get through, the link will fall back to four packets. And if the four packets get through then it'll increase to five, then six and so on. If it falls back to four and the one of those four doesn't get through it will fall back to two.

The entire purpose of this is to allow the internet to continue to function somewhat fairly as it encounters damage and other problems.

So just like an accelerating car, the protocols are designed to accelerate the flow to get as close to optimally full pipelines as possible without actually causing turbulent failures due to over stressing the various links.

Basically as the stream proves itself the stream utilization increases. If the stream fails it fails quickly.

If it sent all the data all at once at full speed, and the first packet failed then you would have to send all the data you'd sent again, and that would cut your bandwidth in half effectively.

So it's better to sensitively find the boundaries of available flow rather than just keeping on trying to drive a Mack truck through a bicycle lane.