4 ms·
It's an interesting writeup of the effect of distance on download speed but I would say it was more 'expected' than 'surprising'. I would have been a lot more
by streety 18y ago
It's an interesting writeup of the effect of distance on download speed but I would say it was more 'expected' than 'surprising'.
I would have been a lot more surprised if download speed increased with distance.
- jcl 18y agoAgreed. A better title might have been "The surprisingly significant effect of latency on download speed"... The author starts with the assumption that bandwidth should be the primary determinant of download speed, but it turns out that latency is the primary determinant for some connections, due to the TCP implementation.
- ajross 18y agoThat's wrong, actually. Getting high throughput in the face of high latencies is a solved problem, and the solution is called "buffering". TCP does this just fine, and was designed to do this from the beginning. The problem is that the buffer isn't big enough. Standard TCP windows top out at 64kb due to field sizes in the header. This was a lot of data to be going over the wire in the days of 56k frame relay lines. Unfortunately, in the modern world a connection with a round trip latency of 200ms (not uncommon) and a bandwidth cap of 10Mbps (ditto) is going to need four times that much data "stored" on the wire. The TCP headers don't allow for that, so the transmitter needs to wait to send new data until the long-delayed ACKs come back from the receiver. As the article points out at the bottom, there is a "window scale" option to IPv4 that allows for larger windows that is reaching common deployment, and of course IPv6 doesn't have the size limitation in the first place.
- jcl 18y agoRight, when I said "the TCP implementation", I mean the implementation of TCP that doesn't allow large enough window sizes. As you correctly point out, there are other TCP implementations that don't have this problem.
- prakash 18y ago* there is a "window scale" option to IPv4 that allows for larger windows that is reaching common deployment* I am curious to know how common this deployment is? In most cases you are still OS bound in terms of TCP window sizes, that being 2 in Windows and 3 in Linux to start with. How many people do you know that really tweak this setting?
- Lagged2Death 18y agoWindows Vista supports automatic window scaling adjustments, supposedly. That probably counts as "common deployment," but I don't know if that's what he meant. I used to use the freeware "Dr. TCP" program to adjust the TCP receive window scaling on Windows computers, probably as long as seven years ago. I'm sure that was common among professionals, enthusiasts, and on-line gamers. Less common for Joe Six-Pack, I'm sure.
- aswanson 18y agoAn attempt at a fix: http://en.wikipedia.org/wiki/FAST_TCP http://en.wikipedia.org/wiki/FAST_TCP
- wmf 18y agoNot really. If you have window scaling disabled, FAST won't help. If you have window scaling enabled, FAST might help a little.
- prakash 18y agoThe other thing to note is that geographic topology doesn't equate to network topology. E.g.: my last mile broadband provider is ISP A, the content I would like to download is in ISP B. A & B are in the same city BUT don't peer well with each other; meaning a packet destined for ISP A from ISP B might go halfway around the world via multiple networks before reaching you, and hence you would be looking at an order of magnitude more in terms of latency than you would actually expect. In such cases, it depends more on who you buy last mile bandwidth from, and what peering relationships they have in place, rather than the physical distance.