4 ms·
Agreed. A better title might have been "The surprisingly significant effect of latency on download speed"... The author starts with the assumption that bandwi
by jcl 18y ago
Agreed. 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.