experiments in IPv6

I have been hearing that a new version of the TCP/IP addressing system is “imminent” since 1994. 18 years later, I have been moved to look into it, to see what it offers or requires. I found more requirements than benefits, some of which are noted below.

The argument is the old addressing scheme doesn’t have enough addresses to go around and it’s design subdivides it inefficiently. There are probably other more technical arguments but those are the reasons more often cites in favor of migrating to it: more address space, less waste. From Wikipedia:

In IPv4 an address consists of 32 bits which limits the address space to 4294967296 (232) possible unique addresses.

You’d think 4 billion addresses would be enough. Maybe so but then some people have been (mis)quoted as claiming the global market for computers was less than 10 or that no one would need a computer in their home. They could not have imagined either the network of today or the devices people use to access it.

IPv6 expands the pool a bit:

Mathematically, the new address space provides the potential for a maximum of 2128, or about 3.403×1038 unique addresses.

I self-host a couple of domains, complete with internet-connected email and web service so this may not apply to a lot of people.

The first thing I needed was access to the IPv6 internet. This doesn’t mean a new ISP so much as either having one that supports it already or using a tunnel service that encapsulates IPv6 packets in innocuous IPv4 packets, allowing them to be unpacked upon receipt. I have CenturyLink (née Qwest) and they don’t do IPv6 yet. So I went with Hurricane Electric and now have free access to services on IPv6. The folks at Hurricane have been doing this for quite some time and have probably answered your questions already. And there is an active forum community as well.

A handful of large public sites offer their content to both varieties — www.ipv6.apple.com, ipv6.google.com, ipv6.cnn.com, to name a couple. Lots of resources in the free/open source software world, as well. Microsoft requires it to be installed in some of its server products, even if you have no plans to use it.

So that’s all good. The equipment here all understands IPv6, from iMacs and MacBooks to a FreeBSD server and a Time Capsule used as a network interface to the ISP we use. So I set up the Time Capsule with the options I got from Hurricane Electric: you’ll need to use an older version of Airport Utility, as of this writing, since 6.0 doesn’t allow access to the IPv6 settings. Their setup page has the options you need for each dialog field:

In your network settings (here’s the Preference Pane in OS X Lion), turn on IPv6 and let it work it’s magic with auto discovery/autoconfig:
Apply those changes and you should be good to go.

To test it, use the Terminal/console app of your choice:

# ping6 ipv6.google.com
PING6(56=40+8+8 bytes) 2001:470:b:839:230:1bff:feaf:42c8 -->; 2001:4860:8005::69
16 bytes from 2001:4860:8005::69, icmp_seq=0 hlim=55 time=88.143 ms
16 bytes from 2001:4860:8005::69, icmp_seq=1 hlim=55 time=84.827 ms
^C?--- ipv6.l.google.com ping6 statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 84.827/86.485/88.143/1.658 ms

So you can now ride out on IPv6. Check out the sites listed up top and see if they work. Or try http://ipv6-test.com/ .
But what if you want to host services for an IPv6-enabled public? That’s a little trickier, with some previously undocumented gotchas.

Leave a Reply

Your email address will not be published. Required fields are marked *