While working on some bandwidth-related stuff (my bandwidth calculator), I came across an excellent article on “latency vs. bandwidth” by Stuart Cheshire. It was originally written in 1996, so focuses a lot on modems, but Fact 1, 2 and 4 are still valid.
- Fact One: Making more bandwidth is easy
- You can just put enough slow connections in parallel to get a fast one.
- Fact Two: Once you have bad latency you’re stuck with it
- Parallel devices, compression, … nothing helps!
- Fact Three: Current consumer devices have appallingly bad latency
- Modems are evil (but now, with cable and ADSL, this is less of an issue)
- Fact Four: Making limited bandwidth go further is easy
- Compression and caching help a lot. (This article was written about the time MP3 was invented, but long before it became hugely popular. DivX came later, in 1999)
The following calculation is eye-opening:
# The distance from Stanford to Boston is 4320km.
# The speed of light in vacuum is 300 x 10^6 m/s.
# The speed of light in fibre is roughly 66% of the speed of light in vacuum.
# The speed of light in fibre is 300 x 10^6 m/s * 0.66 = 200 x 10^6 m/s.
# The one-way delay to Boston is 4320 km / 200 x 10^6 m/s = 21.6ms.
# The round-trip time to Boston and back is 43.2ms.
# The current ping time from Stanford to Boston over today’s Internet is about 85ms:
[cheshire@nitro]$ ping -c 1 lcs.mit.edu
PING lcs.mit.edu (18.104.22.168): 56 data bytes
64 bytes from 22.214.171.124: icmp_seq=0 ttl=238 time=84.5 ms
# So: the hardware of the Internet can currently achieve within a factor of two of the speed of light.
Definitions of latency: