The big IPv6 experiment
With more than 150 million page impressions per month, heise Online is one of the biggest news sites in Germany. Globally, it is also one of the largest sites now running in dual-stack mode, which means that pages can be accessed via both the conventional IPv4 and via the newer IPv6. The migration brought to light various interesting phenomena.
IPv6 has been considered the internet of the future for the past 15 years. However, people seem hesitant when it comes to fully embracing that future. All parties involved blame each other for the extremely slow start for IPv6. Most manufacturers of home routers hesitate while the number of IPv6 providers is still small. The providers say that the number of web sites accessible via IPv6 is still too small. The web site operators don't want to upgrade while they can still reach all internet users via IPv4.
And, understandably, internet users also aren't interested in IPv6; after all, it is a lower-level network protocol. Its creators deliberately designed it in such a way that all the levels above it work just as before. Users who look at any web site in their browsers today do not need to know anything about HTML. They need to know even less about the underlying HTTP, or the even lower TCP. So they need hardly care less about IPv4 or IPv6, which are yet another level below TCP.
For these reasons, IPv6 and IPv4 can easily be used in parallel. The browser doesn't care; it automatically loads the web page elements via the IP version that presents them, and then combines everything seamlessly when displaying a page. This "dual-stack mode" is the way forward for IPs; whether or when IPv4 will one day be "switched off" remains open. Until then, more and more computers will use both IPv4 and IPv6, unbeknown to their users.
The theory of this approach seems correct. Web sites only require a few technical changes to enable IPv6: servers have to be configured for IPv6, which is supported by all modern operating systems. Then the world needs to know about it – that is, a second DNS entry must link the name to the added IPv6 address.
And that's the exact procedure our German sister site at www.heise.de tested on the 16 September 2010. But why did heise online only test this configuration for a day, instead of enabling it permanently? There is one problem...
Paradoxically, offering an extra way of reaching the site can prevent some users from reaching www.heise.de altogether. There are several reasons this can happen. For example, Opera, up to version 10.50, requested the IPv6 address of a name first and then insisted on using it – even if no suitable IPv6 connection was available. The result was an error message in the browser, although the page was perfectly accessible via IPv4.
Mac OS X behaves in a similar way, attempting to establish an IPv6 connection to a server even when it is impossible to succeed. At least it will realise its mistake and switch back to IPv4 at some point; however, this usually takes 75 seconds – and no internet reader will wait that long.
Similar known and previously hidden programming bugs lurk in other programs, operating systems and devices. IPv6 can also be configured incorrectly on the PC.
According to various studies, these bugs prevent up to 0.1 % of internet users from accessing internet pages that offer IPv4 and IPv6 in parallel. Fatally, the affected users no longer see any part of the dual-stack page, not even an error message that could help them solve their problem. The related risk of losing readers prevents many site operators from enabling IPv6.
Heise's IPv6 experiment was both exciting and informative. After all, heise online is not just one of the largest and most important German-language IT news sites: the Slashdot effect is called "Heise-Effekt" in German. In addition, heise online has a very active community of users who tend to report any site problems rather than suffer in silence. Therefore, if a considerable proportion of readers should encounter IPv6 problems, it would certainly become apparent.
Our colleagues in Germany also set up a dedicated email address for reporting errors and, for more than a month, did everything they could to make it known: items on the news page, a permanent info banner and finally, in the last week, a count-down on the start page at www.heise.de.
On the 15 September at about 10pm, they activated the potentially fatal DNS entry and waited for responses; those they received were surprising.
Without the intensive prior awareness-building measures, hardly anyone would have noticed the IPv6 day. Readers' responses on the forum at www.heise.de were consistently positive. Although some problems were reported, readers appeared to be able to solve them on their own, as they did find their way onto the www.heise.de forum.
While the email address for reporting errors received numerous emails, most users only reported that they hadn't encountered any problems. The second largest group consisted of users who were unable to reach the www.six.heise.de IPv6-only server, which has been in operation since 2009. Other reported problems were unrelated to the dual-stack experiment.
By the evening, five actual dual-stack flaws remained. Users were able to solve one of them by restarting Windows, and another by installing a router firmware upgrade that was due anyway. Two of the remaining cases could be traced back to bugs in Mac OS X, and one to a known router flaw the relevant vendor had failed to fix since 2004.
The small number of flaws was so encouraging that heise online decided to adopt dual-stack for production use as soon as possible. The switch was carried out on 29 September, this time without informing users in advance. The team wanted to find out whether users would continue to report dual-stack problems they had encountered. And indeed, they do occasionally report problems. The majority of these continue to revolve around the flawed IPv6 implementations in Mac OS X, iOS and in the firmware of AirPort base stations. But the number of cases is far smaller than previously feared. Overall, heise online considers the switch a complete success, and would recommend it to any similar site.
Please note: This article refers specifically to the www.heise.de portal. As the Linux host utility shows -
$ host www.heise.de
www.heise.de has address 188.8.131.52
www.heise.de has IPv6 address 2a02:2e0:3fe:100::7
The heise portal has both an IPv4 and an IPv6 address.
- The mega network, an earlier report on IPv6 from The H.