Looking back on the past decade, the speed of the internet has made major progress, with many of the limitations removed through the years. A 50-100 Mbps connection at home is nothing extraordinary anymore, while hardware became cheaper and cheaper. But even with the fastest PC and the fastest internet connection, there is usually a noticeable delay when loading a website. For some pages it is less than half a second, for others it can even be two seconds or more. As they say: time is money (especially on the internet), so reducing loading times is one of the major goals of the LeaseWeb Networking department.
Once in a while, great steps are made towards this ideal of instant content delivery. Most recently, the web gurus at Google proposed a method to increase the speed by improving commonly used internet protocols like SSL, HTTP and even Transmission Control Protocol (TCP). When you translate their ideas, it is theoretically possible to increase the loading speed of a page by about ten to fifty percent.
Let’s take a quick look at how this works. Before any real data can be sent across a network, like the content of a website, the client and the server have to talk to each other, exchanging several messages in the process. TCP is a kind of ‘language’ that can be used by clients and servers to communicate. Each time a message is sent by one party, it reaches the other with some delay. A reply is then sent back to the original sender – also with a delay. This delay is called latency, which we discussed in our “It’s all in the game” series. Since the inception of the TCP protocol in 1974, we have increased bandwidth a million times, but latency remained more or less the same with only some minor improvements.
Google is now working on what they call SPDY (pronounced speedy) standardization. This is a set of modifications to several internet protocols, all aimed at lowering page loading times. The idea behind the proposed modification for TCP is, like all good ideas, really simple: Just reorganize the language in which clients and servers talk, thereby reducing time they wait for a reply. Of course, in reality this is very complicated to do because of the amount of different devices already connected to the Internet. Still, it’s good to be moving forward in this area, which is why there’s a lot going on about SPDY – and not only within Google.
For instance, Firefox 11 will include preliminary SPDY support. Meanwhile, the IETF working group is developing HTTP/2.0, with the goal of improving the overall performance of the web – SPDY will probably be included in the new specification. A new SSL version is also being prepared and most of the SPDY modifications have been added to the Linux kernel in last months, with kernel version 3.2 already containing lot of SPDY code. But as always, you have to be careful in a firewall environment – you never know how things may work out.
LeaseWeb is of course very excited about the idea of speeding up the web and tracks the development of SPDY closely (our network also supports the modified TCP protocol). Unfortunately, it will be a while before the SPDY project is finished. It has to be able to boost modern day internet, while at the same time being backwards compatible with non-SPDY devices. That is where the real challenge lies, and is one of the reasons we’re also working on other solutions, such as our new CDN. In the end, all roads lead to Rome, but choosing which road to take is what makes designing global networks such an interesting job!