How and Why to Plan the Move to IPv6

 
 
By Edoardo Biagioni  |  Posted 2008-02-20
 
 
 

How and Why to Plan the Move to IPv6


Why the current interest in IPv6? There are a lot of reasons, starting with the U.S. government's decision to convert to IPv6. The move is coming, and everyone on the Internet will be swept up in it - regardless of whether or not they've planned for it or are ready to make the change. But remember, this isn't new. IPv6 has been in the cards for many years. We've all ignored it quite happily so far. Why should we care now?

For years, the only reason for switching to IPv6 has been the desire to have more IP addresses.  Meanwhile, clever people came up with Classless Inter-Domain Routing (CIDR) and Network Address Translation (NAT) boxes, both of which help us make more efficient use of existing IPv4 addresses. 

So is the IPv4 address exhaustion finally upon us? Not quite yet. After all, 30.44% of all IPv4 addresses are still unassigned. Even the most daring forecasts don't see widespread use of IPv6 before 2011. But there are some good reasons to look at IPv6 now.

IPv6 Is Here

Are you planning on attending the Beijing Olympics? Your cab might be networked using IPv6. Even if you only plan on watching the games on television, the cameras recording the action might use IPv6. It is all part of the China Next-Generation Internet (CNGI) project. While some of their news is undoubtedly spin, there is also no doubt that China has good reasons to be looking at IPv6. China has a greater ratio of Internet users to available IPv4 addresses than almost any other country. This trend is likely to continue in the foreseeable future.

The U.S. government has set a much more modest goal: that the backbone networks of all federal agencies support IPv6 by June 30, 2008. The project appears to be on track, and so your 2008 taxes just might be processed using an IPv6-capable network.

IPv6 may not completely replace IPv4 for decades. On the other hand, it is clear that IPv6 is real today and that its market share is only likely to grow. IPv6 has been running on research networks for years now, so that means it is stable and well tested.

Connecting to IPv6

You don't need any special hardware to run IPv6 - unless you have high-end networking equipment. But just like any other networking protocol, running IPv6 does require two things: software and connectivity. Much of our software already supports IPv6. Windows and MacOS have fully supported IPv6 since 2003. Linux and the BSDs and other Unixes have also fully supported it since well before then.

The connectivity is a little harder to come by. For years, the action was on the "6bone" - a network carrying IPv6 traffic among IPv4-connected hosts. The 6bone was shut down once alternatives started to become available.

Until your ISP directly supports IPv6, the easiest way to connect to IPv6 hosts these days may be 6to4 (see the "Resources" links below this article). If you have one or more fixed IPv4 addresses, you can leverage them into IPv6 addresses (by prepending 2002: to the 32 bits of your IPv4 address), and set the default gateway to be a 6to4 router using the anycast address 192.88.99.1.

6to4 uses IP protocol number 41 when carrying IPv6 packets in IPv4 packets. Where NATs or firewalls would interfere with this, there is an alternative called Teredo, which uses UDP instead.

IPv6 and IPv4 Are Compatible

You don't have to give up IPv4 to use IPv6. In fact, as just discussed, there are ways to carry IPv6 traffic over IPv4-only networks.

Ideally, the two would be entirely interoperable and would be able to work transparently side by side. For example, a DNS query could be tried for the IPv6 AAAA record, and then the IPv4 record could be queried if the first query fails. The subsequent connection would then use IPv6 or IPv4 depending on which domain name resolution succeeds.

It seems likely that somebody will figure out that this is a good idea and make it happen at some point. However, that has not happened yet. So, for now, IPv4 and IPv6 interoperation are still clumsy.

IPv6-Ready Applications:

Reports on IPv6-ready applications (including apache and a number of other servers, as well as simple clients such as wget)

Reports on the status of applications in Linux that are ready for IPv6, including everything from Mozilla and Firefox to Sendmail and Fetchmail

The DNS root servers now support IPv6. Presumably, DNS servers for individual zones will be upgraded according to demand and as individual domains become IPv6-ready

By the Numbers


IPv6 Addresses

2001:503:c27::2:30 and 2001:500:2f::f are two of the root DNS servers for IPv6 domain name service. What do these numbers mean?

IPv4 addresses are 32 bits written in dotted-decimal location, for example 123.45.67.89. Each IPv6 address is 128 bits and is written in hex, four hex digits at a time, and separated by colons. 

For example, 0123:4567:89AB:CDEF:0123:4567:89AB:CDEF as eight groups of four hex digits, separated by colons. Each group of four hex digits represents 16 bits, and the eight groups above represent the 128 bits of a full IPv6 address. Two strategies used to make these numbers more readable to humans are as follows:

+ leading zeros can be omitted from any group of 4 hex digits.

+ a long sequence of zeros can be replaced by :: (at most once per address).

So, using the example above, 2001:503:c27::2:30 really means
2001:0503:0c27:0000:0000:0000:0002:0030.

Also, a contiguous group of addresses can be written 0123:4567:89AB:CDEF::/64, including all the addresses that have the first 64 bits as shown.

IPv6 addresses really are the reason that IPv6 exists, and the reason that people are considering moving to IPv6.  There are well over 10^28 addresses (written as a "1" followed by 28 "0"s) for each person on the planet, allowing addresses to be used in ways that make routing and address assignment easier and more automatic.

With IPv6 addresses, NAT will become unnecessary (though it can still be an option if people need it), and both mobility and automatic address assignment will be simpler. It will also be easier for organizations to manage their internal networks and assign network numbers to their Internet-connected computers.

Resources:

A wikipedia page; a good starting point

A site dedicated to furthering the deployment of IPv6; it has a good wiki

A long list of applications in Linux that are IPv6-ready

A good initial link for 6to4

Another good initial link for 6to4

A much-reference IPv6 information page 

 

How and Why to Plan the Move to IPv6


image}Edoardo Biagioni is an Associate Professor in the Department of Information and Computer Sciences at the University of Hawaii at Manoa. He has been teaching networking since 1997, and researching and working in the field of networking since 1991. He has participated in meetings of the IETF and the ATM forum while working for Fore Systems, and worked at Carnegie Mellon University as a Systems Scientist developing new networking protocol implementations. His current research interests include networking protocols, routing, wireless ad-hoc and sensor networks, and network and system security. He can be reached at esb@hawaii.edu.

Rocket Fuel