< home | projects | ipv6

IPv6 for Wikimedia

Overview

IPv6 is a new version of the Internet Protocol, designed to replace the ageing IPv4. IPv6 is designed to co-exist with IPv4 on the Internet, to allow a gradual transition from one to the other.

Wikipedia, and the other projects, should be available as IPv6.

First efforts

Once upon a time, for a very brief period, Wikipedia was available via IPv6. Much of the same solutions proposed here were used, but a lack of prior planning and testing breaved the result of the stability required to offer a suitable quality of service to users:

Mainly because of these problems, IPv6 support was withdrawn from the site after only one or two weeks of operation. Any future effort will need to be planned and executed in such a way that this doesn't happen again.

The problem

There are a number of problems to overcome before we can offer IPv6 services to users:

The solution

IPv6 connectivity

This is partially solved using an IPv6 tunnel. However, there are some design decisions that need to be made. The most important is where the tunnel terminates. Ideally, it would connect directly to our switch; however, Cisco's pricing for IPv6-capable firmware is ridiculous (around US$10,000), which we cannot really justify spending. A second choice solution, then, is to terminate it at a stable host system. pascal.knams.wikimedia.org is the most likely candidate here. This system will act as the router for all other systems.

Software support

There was, at one time, an IPv6 branch for Squid. However, it appears to be based on an older version of Squid, and there hasn't been any work done on it for a while.

While adding IPv6 support to Squid is the most obvious solution, there is another, easier way of doing this: run another proxy server in front of Squid. Lighttpd and Apache both provide IPv6 support and have proxying capabilities. By putting one of these between the IPv6 Internet and Squid, IPv6 requests can be forwarded to Squid for normal processing.

This leaves MediaWiki. An old version od MediaWiki (1.3.x) had some IPv6 support, but this was never added to the HEAD branch, and does not exist in the current versions. Hopefully, this should not be very difficult to re-implement.

Progress

So far, the implementation is still at very early stages. A tunnelled connection, using the SixXS tunnel broker and SURFnet, has been established for a single host, zedler.knams.wikimedia.org. If this works without problems for some time, the tunnel can be reassigned to pascal, and basic IPv6 connectivity provided for the knams cluster.

After this, some non-essential services, such as mail and (non-wiki) WWW, can be offered over IPv6.

And then... the world!

Notes