Hacker News new | ask | show | jobs
by mhandley 4423 days ago
Well, the goal of a properly designed transport protocol is to transfer X bytes in 0 seconds. TCP doesn't quite achieve that, but that is its goal. This pretty much dictates †hat for any reasonable sized download, somewhere on the path is congested. If that congestion isn't at the server (it usually isn't), and isn't in the backbone (it usually isn't), then it's either your consumer ISP or your computer (it usually isn't). ISP's tend to oversubscribe backhaul to make the economics work, so if you're not getting your full linkspeed, then it's likely the backhaul that's congested, and everyone else is seeing congestion too.

There are exceptions of course. Older OSes have ridiculously small TCP receive windows, and older TCP congestion control algorithms have trouble filling the pipe. But these shouldn't really be the main problem these days. It doesn't apply so much for streaming either, because modern streaming protocols such as MPEG-DASH will select a lower bitrate stream if they sense congestion.