Previous Next Table of Contents

3. What is IPv6?

(thanks to Tony Gale for major contributions to this section)

IP version 6 (IPv6) is a new version of the Internet Protocol, designed as a successor to IP version 4 (IPv4) [RFC-791].

The changes from IPv4 to IPv6 fall primarily into the following categories:

The core Linux IPv6 code is currently being maintained by David Miller and Eric Schenk.

Read on for more details!

3.1 Web sites

The best starting point for IPv6 and 6bone information that I've seen is IP Next Generation (IPng).

You may also want to check out NASA's IPv6 at the NAS.

Kevin Rae has put his thesis - " Digital Audio & IPv6 " - on the Web. It's got a nice side-by-side comparison of IPv4 and IPv6, and an introduction to IPv6 QoS fields.

3.2 RFCs and Internet drafts

There are (at my count) 55 RFCs dealing with IPv6 out there, including pre-IPv6 proposals like CATNIP and TUBA. Some of the more relevant RFCs include:

There are also many internet drafts. These change rapidly, but as of 7/14/97 here's a list of some useful ones:

3.3 Books, mailing lists, and others

This books section is pretty weak right now, and could bear with some improvement. However, here's a few pointers to get you started:

Internetworking with TCP/IP, Volume 1, Third Edition - Douglas Comer

A classic book on TCP/IP, the 3rd edition has an introductory section about IPv6.

Data and Computer Communications, Fifth Edition - William Stallings

A good book overall on data communications, this has a few pages of useful, no-nonsense coverage on IPv6 and ICMPv6.

Routing in the Internet - Christian Huitema

I don't own a copy of this yet (very hard to find, for some reason), but knowing the reputation of its author, this book would at least be worth a look-see.

3.4 The 6bone.

The 6bone is an Internet-wide IPv6-over-IPv4 encapsulation project.

For more 6bone info, check the 6bone home page.

There's also a 6bone mailing list - see IPv6 - 6bone Mailing List.

3.5 IPv6 Addressing.

IPv6 addresses are 128 bits long, and there are three types:Unicast, Anycast and Multicast. Unicast addresses are used to identify an individual interface. Anycast addresses indicate a set of interfaces, but packets sent to an Anycast address are delivered to one of the interfaces indicated by the address, ie. the nearest one. Multicast addresses also indicate a set of interfaces, but packets sent to a Multicast address are delivered to all interfaces indicated by the address. Multicast address superseed broadcast addresses.

The preferred form of representing an IPv6 address is:


Addresses will often have a number of zeros in them, such as:


A special syntax is available for representing groups of zeros to allow the address to be compressed. The use of '::' indicates multiple groups of 16-bits of zeros. For example, the address above may be represented as:


Another form of address is available for use within a mixed IPv4 and IPv6 environment. An address such as:


will send IPv6-in-IPv4 packets.

The specific type of an IPv6 address is indicated by the leading bits in the address. The variable-length field comprising these leading bits is called the Format Prefix (FP). The initial allocation of these prefixes is as follows:

         Allocation                      Prefix                 Fraction of 
                                         (binary)               Address Space

 Reserved                               0000 0000               1/256
 Unassigned                             0000 0001               1/256
 Reserved for NSAP Allocation           0000 001                1/128
 Reserved for IPX Allocation            0000 010                1/128
 Unassigned                             0000 011                1/128
 Unassigned                             0000 1                  1/32
 Unassigned                             0001                    1/16
 Unassigned                             001                     1/8
 Provider-Based Unicast Address         010                     1/8
 Unassigned                             011                     1/8
 Reserved for Geographic-based          100                     1/8
        Unicast Addresses
 Unassigned                             101                     1/8 
 Unassigned                             110                     1/8
 Unassigned                             1110                    1/16
 Unassigned                             1111 0                  1/32
 Unassigned                             1111 10                 1/64
 Unassigned                             1111 110                1/128
 Unassigned                             1111 1110 0             1/512
 Link Local Use Addresses               1111 1110 10            1/1024
 Site Local Use Addresses               1111 1110 11            1/1024
 Multicast Addresses                    1111 1111               1/256

15% of the address space is intially allocated, leaving 85% reserved for future use.

[RFC-1897] describes a method for allocating test IPv6 addresses over the 6bone. The addresses allocated under this plan are temporary and will be reclaimed in the future.

Previous Next Table of Contents