In part two of our series with Silvia Hagen, we take a closer look at IPv6 Addressing. (View part 1 here.)
We'll examine:
Address assignments
Address introduction
An IPv4 address has 32 bits. An IPv6 address has 128 bits and looks a bit wild. Extending the address space from 32 bits to 128 bits was one of the driving reasons to develop IPv6. The IPv6 addressing architecture is defined in RFC 2373, which supersedes RFC 1884.
An IPv6 address can be in one of three categories:
- Unicast: A packet sent to a unicast address is delivered to the interface identified by that address.
- Multicast: The packet will be processed by all members of the multicast group.
- Anycast (new to IPv6): The packet will be delivered to only one of the interfaces configured for the anycast address -- usually to the nearest one.
The broadcast address that caused us many headaches in the past is no longer used anymore.
You know you've mastered your first foray when you write IPv4 addresses with colons.
The notation of IPv6 is simplified with the following rules:
Rule one: Leading zeroes can be skipped.
For example, this line: FE80:0000:0000:0000:0202:B3FF:FE1E:8329
Can be written as: FE80:0:0:0:202:B3FF:FE1E:8329
Rule two: A consecutive number of zeroes within an address can be replaced by a double colon - but only once within an address.
For example: FE80:0:0:0:202:B3FF:FE1E:8329
becomes: FE80::202:B3FF:FE1E:8329
In environments where IPv4 and IPv6 nodes are mixed, the decimal values of an IPv4 address can be put into the four low-order bit pieces of the address.
Example:
192.168.0.2 can be written as 0:0:0:0:0:0:192.168.0.2
or
::192.168.0.2
or in hex like this:
::C0A8:2
General address format
A typical IPv6 address will consist of two parts:
- Prefix: Which is used to identify a subnet.
Length = n bits
- Interface ID: Which is used to identify an interface on a subnet
and needs to be unique on that subnet.
Length = 128 – n bits
Prefixes
The prefix length specifies how many of the left-most bits of the address specify the prefix
Here's a list of prefixes that have already been assigned.
This is an overview of the link and site-local addresses:
Here is an example of the general format of the aggregatable global unicast address. It is identified by the prefix 001 and the prefix is followed by five components as shown here:
We also have some special aggregatable global unicast addresses:
The unspecified address / all-zeros address
–Value of 0:0:0:0:0:0:0:0 (short = ::0)
The loopback address
–Value of 0:0:0:0:0:0:0:1 (short = ::1)
Here's a look at the 6to4 address format. 6to4 is one of the transition mechanisms defined. The mechanism will be discussed later, here we only look at the address format. Because 6to4 uses a tunnel over an IPv4 infrastructure this address format contains a public IPv4 address in the prefix part.
This example examines a public IPv4 address converted to hex and inserted into the prefix of the IPv6 address.
ISATAP address format
The ISATAP address format is another type of address that has been defined for the transition period and it is still in draft, although yYou may find a couple of implementations. For example Windows XP has an implementation of ISATAP.
You may wish to review this Web site for the latest draft of ISATAP:
(The draft number identified in this string as isatap-02 may have increased.)
http://search.ietf.org/internet-drafts/draft-ietf-ngtrans-isatap-12.txt (Jan. 2003)
Multicast address
Let's take a look at the multicast address. You'll notice the "scope" field in the picture below. This new field has been introduced in IPv6 and is used to define scopes to a multicast address. This provides much more flexible configuration options and makes multicasting more scalable. A multicast address is always identified by the prefix 0xFF. The table below will give you a further overview.
Multicast addresses -- scope field values:
| Value |
Description |
| 0 |
Reserved |
| 1 |
Interface-local scope |
| 2 |
Link-local scope |
| 3, 4 |
Unassigned |
| 5 |
Site-local scope |
| 6, 7 |
Unassigned |
| 8 |
Organization-local scope |
| 9, A, B, C, D |
Unassigned |
| E |
Global scope |
| F |
Reserved |
A packet sent to a multicast address can be scoped in order to go as far as desired. To find all routers on your subnet, the address FF02:0:0:0:0:0:0:2 is used. If you want to address all routers within your site, you'll use FF05:0:0:0:0:0:0:2. Or in the case of DHCP, if you want to address all DHCP agents on your subnet, use FF02:0:0:0:0:0:1:2. If you want to address all DHCP servers within your site, use FF05:0:0:0:0:0:1:3 and if you want to address all DHCP relays within your site, use FF05:0:0:0:0:0:1:4.
Well-known multicast addresses:
| Address |
Description |
| Interface-Local Scope |
| FF01:0:0:0:0:0:0:1 |
All Nodes Address |
| FF01:0:0:0:0:0:0:2 |
All Routers Address |
| Link-Local Scope |
| FF02:0:0:0:0:0:0:1 |
All Nodes Address |
| FF02:0:0:0:0:0:0:2 |
All Routers Address |
| FF02:0:0:0:0:0:0:4 |
DVMRP Routers |
| FF02:0:0:0:0:0:0:5 |
OSPFIGP |
| FF02:0:0:0:0:0:0:6 |
OSPFIGP Designated Routers |
| FF02:0:0:0:0:0:0:7 |
ST Routers |
| FF02:0:0:0:0:0:0:8 |
ST Hosts |
| FF02:0:0:0:0:0:0:9 |
RIP Routers |
| FF02:0:0:0:0:0:0:A |
EIGRP Routers |
| FF02:0:0:0:0:0:0:B |
Mobile-Agents |
| FF02:0:0:0:0:0:0:D |
All PIM Routers |
| FF02:0:0:0:0:0:0:E |
RSVP-Encapsulation |
| FF02:0:0:0:0:0:1:1 |
Link Name |
| FF02:0:0:0:0:0:1:2 |
All DHCP Agents |
| FF02:0:0:0:0:1:FFXX:XXXX |
Solicited Node Address |
| Site-Local Scope |
| FF05:0:0:0:0:0:0:2 |
All Routers Address |
| FF05:0:0:0:0:0:1:3 |
All DHCP Servers |
| FF05:0:0:0:0:0:1:4 |
All DHCP Relays |
FF05:0:0:0:0:0:1:1000 to FF05:0:0:0:0:0:1:13FF |
Service Location |
Address ranges assigned
Address ranges that have been assigned internationally from the 2001 range are to ARIN, RIPE NCC and APNIC -- the three big registries. ARIN for the United States and Americas, RIPE for Europe, and APNIC for Asia Pacific. A special address range has been defined for 6to4 in RFC 3056, which is the 2002 range. For testing and 6bone a special address has been defined in RFC 2471 as the 3FFE address space. As the IPv6 address space has now been assigned and can be registered the 6bone will probably go away slowly.
| Prefix |
Allocation to |
RFC |
| 2001::/16 |
Sub-TLA assignments:
APNIC 2001:0200::/23
ARIN 2001:0400::/23
RIPE NCC 2001:0600::/23
RIPE NCC 2001:0800::/23
RIPE NCC 2001:0A00::/23
APNIC 2001:0C00::/23
LACNIC 2001:1200::/23 |
RFC 2450 |
| 2002::/16 |
6to4 |
RFC 3056 |
| 3FFE::/16 |
6bone testing ** |
RFC 2471 |
In conclusion, here's a good entry point for any address related information on IPv4 or IPv6:
http://www.iana.org/ipaddress/ip-addresses.htm
Stay tuned for part 3 for an overview of ICMPv6.
View part 1 here.
Silvia Hagen has been in the networking industry since 1990, and became a CNE and CNI in 1992. She began her career as a successful instructor, and has trained hundreds of system engineers. Today she is CEO of Sunny Connection AG in Switzerland and works as a senior consultant and analyst for many mid-size and large sized companies. Her expertise is in Directory Services and Protocol Analysis. She is the author of the successful book 'Novell's Guide to Troubleshooting TCP/IP,' published by Wiley & Sons and 'SLP - Guide to Service Location Protocol,' published by Podbooks. Her newest book 'IPv6 Essentials' was published in August 02 by O'Reilly. She also presents internationally on various networking topics for Universities, Novell's Brainshare, NetWare Users International Conferences and also offers customized corporate presentations. For more details and contact information visit her Web site at http://www.sunny.ch.