Previous Table of Contents Next


IPV6 ADDRESSES

To accommodate almost unlimited growth and a variety of addressing formats, IPv6 addresses are 128 bits in length. This address space is probably sufficient to uniquely address every molecule in the solar system.

IPv6 defines three types of addresses:

1.  A unicast address specifies a single host.
2.  An anycast address specifies a set of hosts, such as a set of FTP servers for a given organization. A packet sent to an anycast address is delivered to one of the hosts identified by that address, usually the “closest” one, as defined by the routing protocol.
3.  A multicast address also identifies a set of hosts; a packet sent to a multicast address is delivered to all the hosts in the group.

There is no broadcast address in IPv6 as in IPv4, because that function is provided by multicast addresses.

IPv4 addresses are written in dotted decimal notation, where the decimal value of each of the four address bytes is separated by dots. The preferred form of an IPv6 address is to write the hexadecimal value of the eight 16-bit blocks of the address, separated by colons (:), such as FF04:19:5:ABD4:187:2C:754:2B1. The leading zeros do not have to be written and each field must have some value.

IPv6 addresses often contain long strings of zeros because of the way in which addresses are allocated. A compressed address form uses a double colon (::) to indicate multiple 16-bit blocks of zeros; for example, the address FF01:0:0:0:0:0:0:5A could be written as FF01::5A. To avoid ambiguity, the “::” can only appear once in an address.

An alternative, hybrid address format has been defined to make it more convenient to represent an IPv4 address in an IPv6 environment. In this scheme, the first 96 address bits (six groups of 16) are represented in the regular IPv6 format and the remaining 32 address bits are represented in common IPv4 dotted decimal; for example, 0:0:0:0:0:0:199.182.20.17 (or::199.182.20.17).

Exhibit 3. Address Prefix Allocation (From RFC 1884)
Allocation Prefix (Binary) Fraction of 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 Unicast Addresses 100 1/8
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

Address Prefix Allocation

One of the goals of the IPv6 address format is to accommodate many different types of addresses. The beginning of an address contains a 3- to 10-bit format prefix defining the general address type; the remaining bits contain the actual host address, in a format specific to the indicated address type. Exhibit 3 represents an address prefix allocation (from RFC 1884).

The Provider-Based Unicast Address

The provider-based unicast address is an IPv6 address that might be assigned by an ISP to a customer. Exhibit 4 shows a provider-based unicast address format. This type of address contains a number of subfields, including the following:

  Format prefix This indicates the type of address as provider-based unicast. It is always 3 bits, coded “010.”
  Registry identifier This identifies the Internet address registry from which the ISP obtains addresses.
  Provider identifier This identifies the ISP. This field contains the address block assigned to the ISP by the address registry authority.
  Subscriber identifier This identifies the ISP’s subscriber. This field contains the address assigned to this subscriber by the ISP. The providerID and subscriberID fields together are 56 bits in length.
  Intrasubscriber This contains the portion of the address assigned and managed by the subscriber.
Exhibit 4. Provider-Based Unicast Address Format
| 3 bits | 5 bits | n bits | 56-n bits | 64 bits

IPv4-Compatible Addresses

Another particularly important address type is the one that indicates an IPv4 address. With more than 16 million hosts using 32-bit addresses, the public Internet must continue to accommodate IPv4 addresses even as it slowly migrates to IPv6 addressing,

IPv4 addresses are carried in a 128-bit IPv6 address that begins with 80 zeros (0:0:0:0:0). The next 16-bit block contains the compatibility bits, which indicate the way in which the host/router handles IPv4 and IPv6 addresses. If the device can handle either IPv4 or IPv6 addresses, the compatibility bits are all set to zero (0) and this is termed an “IPv4-compatible IPv6 address”; if the address represents an IPv4-only node, the compatibility bits are all set to one (0xFFFF) and the address is termed an “IPv4-mapped IPv6 address.” The final 32 bits contain a 32-bit IPv4 address in dotted decimal form.

Multicast Addresses

IPv6 multicast addresses provide an identifier for a group of nodes. A node may belong to any number of multicast groups. Multicast addresses may not be used as a source address in IPv6 packets or appear in any routing.

All multicast addresses, as shown in Exhibit 5, begin with 8 ones (0xFF). The next 4 bits are a set of flag bits (flgs); the 3 high-order bits are set to zero; and the fourth bit (T-bit) indicates a permanently assigned (“well-known”) multicast address (T = 0) or a nonpermanently assigned (“transient”) multicast address (T = 1). The next 4 bits indicate the scope of the address, or the part of the network for which this multicast address is relevant; options include node-local (0x1), link-local (0x2), site-local (0x5), organization-local (0x8), or global (0xE).

Exhibit 5. Multicast Address Format
| 8 | 4 | 4 | 112 bits |

The remaining 112 bits are the group identifier, which identifies the multicast group, either permanent or transient, within the given scope. The interpretation of a permanently assigned multicast address is independent of the scope value. For example, if the World Wide Web (WWW) server group is assigned a permanent multicast address with a group identifier of 0x77, then:

  FF01:0:0:0:0:0:0:77 would refer to all WWW servers on the same node as the sender.
  FF02:0:0:0:0:0:0:77 would refer to all WWW servers on the same link as the sender.
  FF05:0:0:0:0:0:0:77 would refer to all WWW servers at the same site as the sender.
  FF0E:0:0:0:0:0:0:77 would refer to all WWW servers in the Internet.

Finally, a number of well-known multicast addresses are predefined, including:

  Reserved multicast addresses These are reserved and are never assigned to any multicast group. These addresses have the form FF0x:0:0:0:0:0:0:0, where x is any hexadecimal digit.
  All nodes’ addresses These identify the group of all IPv6 nodes within the given scope. These addresses are of the form FF0t:0:0:0:0:0:0:1, where t = 1 (node-local) or 2 (link-local).
  All routers’ addresses These identify the group of all IPv6 routers within the given scope. These addresses are of the form FF0t:0:0:0:0:0:0:2, where t = 1 (node-local) or 2 (link-local).
  The DHCP server/relay-agent address This identifies the group of all IPv6 DHCP servers and relay agents with the link-local scope; this address is FF02:0:0:0:0:0:0:C.


Previous Table of Contents Next

Copyright © CRC Press LLC