Technical Paper
 New addressing system Telecom Italia Lab logo  
    Italiano | ngnet.it home >> What is IPv6 >> The IPv6 protocol >> New addressing system  
previous next
New addressing system


There are two main problems with IPv4: addresses are running out, and router tables are growing beyond control. IPv6 solves the problem of address space exhaustion by adopting 128-bit addresses rather than 32-bit addresses, while the second problem - called router table explosion - has been tackled by opting for a strictly hierarchical addressing architecture, sophisticated renumbering techniques and multihoming management methods.
The new architecture specifies three types of address:

  • unicast: an identifier for a single interface. A packet with a unicast address is sent to the interface identified by that address.
  • multicast: an identifier for a set of interfaces, typically belonging to different nodes. A packet sent to a multicast address is delivered to all interfaces identified by that address.
  • anycast: an identifier for a set of interfaces, typically belonging to different nodes. A packet sent to an anycast address is delivered to one of the interfaces identified by that address (in general, the "nearest" one, according to the routing protocol's measure of distance).

Representation methods

The address space has been increased from 32 bits to 128 bits. The new format is represented by means of eight blocks of 16 bits each, separated by the character ":" and expressed in hexadecimal form.
Example:
FEDC:BCD8:0354:7654:F577:7347:6543:FD99
If the first n bits (e.g., n=32) of the address are a prefix, this can be indicated by writing:
FEDC:BCD8::/32
Blocks of contiguous zeroes are represented with a double colon, ": :". Example:
FEDC : : BCD8 : 7654: 321F is equivalent to
FEDC : 0 : 0 :0 : 0 : BCD8 : 7654: 321F which is equivalent to
FEDC :0000 : 0000 : 0000 : 0000 : BCD8 : 7654: 321F.

Initial address assignment

For the moment, the addressing architecture specifies only the prefixes listed in Table 1. More than 70% of the space is still unallocated.

Allocation Prefix Fraction of the 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
Aggregatable Global Unicast Addresses 001 1/8
Unassigned 010 1/8
Unassigned 011 1/8
Unassigned 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 Unicast Addresses 1111 1110 10 1/1024
Site-Local Unicast Addresses 1111 1110 11 1/1024
Multicast Addresses 1111 1111 1/256

Table 1: Specified IPv6 addresses
Unicast address format

The new format, called the Aggregatable Unicast Global address format [RFC2374], is shown in Figure 15.


Figure 15 - Unicast address format.

The address is divided logically into three parts of fixed size called respectively Public Topology, Site Topology and Interface ID. The first is used for routing within the public Internet and identifies the provider or exchange that supplies the network access service. Site Topology identifies the site's internal organization and is consequently used for intrasite routing. Finally, Interface ID identifies the interface on the link.
The meaning of the fields shown in Figure 15 is as follows.

  • FP (Format Prefix): Indicates the type of IPv6 address. This new format has been assigned a portion of the IPv6 addressing space separate from that which was occupied by the provider-based addresses [RFC2073], or in other words by the format specified initially for unicast addresses and gradually abandoned from 1997 onwards. FP assumes the value 001.
  • TLA ID (Top Level Aggregation Idendifier): Identifies the highest level in the routing hierarchy. How the various TLA IDs should be assigned is an administrative problem which was not considered by the specifications' developers. The backbone routers (default-free routers) must have one entry for each active TLA ID, and generally store additional information in memory for each such ID which they will then use in their operations. Consequently, the number of TLAs must not be excessive.
  • RES (Reserved): Field reserved for future use. For the moment, this field is zero. It was introduced so that the width of the TLA ID or NLA ID fields can be expanded when necessary.
  • NLA ID (Next-Level Aggregation Identifier): Used by the organizations to whom a TLA ID has been assigned. These organizations can split the NLA ID field in order to create a hierarchy of providers and sites (see Figure 16).

Figure 16: Aggregation levels for IPv6 unicast addresses unicast

  • SLA ID (Site Level Aggregation Identifier): Used by an organization for internal management of its site. As for the NLA ID, it can be split into fields to create a hierarchical system.
  • Interface Identifier: Identifies the interface on the link. This identifier must be unique, at least on the link. It is 64 bits long and has the IEEE EUI-64 format shown in Figure 17. As a way to determine the interface ID must be defined for each network, there is a specification for each permissible type of link. For Ethernet networks, for instance, the format derives from IEEE 48-bit MAC. If the u bit (universal/local scope) is set to one, the identifier is globally unique (as for IEEE 48-bit MAC). This may prove useful in the future, e.g., for mobile applications. Currently, in fact, TCP identifies a session by using the port number and the source and destination addresses. If these change while the session is still open, the session is broken off and a new one must be opened with the new addresses. A new version of the TCP protocol which identifies the session using a globally unique Interface ID would be insensitive to address changes resulting from host mobility or a renumbering process.

Figure 17 - IEEE EUI-64 Format.

The development of the new IPv6 addressing format was motivated by an innovative proposal known as GSE, which was based on the following observation. An address has two separate functions: that of an identifier which indicates the end point to which a packet must be sent, and that of a "locator" for routing the packet to this end point. Site renumbering can be managed more easily when these two components are clearly separated. A GSE address is divided into three fields of fixed length, as the first is used to manage routing at the global level, the second is used within the site, and the third field is used in the last stage of routing to distinguish the interface from the others connected to the same link.
The advantage introduced by GSE is that site renumbering is almost automatic, in the sense that changing provider will involve changing only the first field of the address, while the site need not be renumbered internally. On the debit side, GSE introduces serious security problems, as this mechanism entails changing the addresses of packets en route. For this reason, it was decided not to adopt this proposal. Nevertheless, the new unicast addressing format takes up some of its features, including that of dividing the address into three fixed parts with separate routing and identification functions (Public Topology, Site Topology and Interface ID), the sharp distinction between the part of the address which acts as the identifier and the part that acts as the locator, and the specification of an option to indicate when the least significant 8 bytes of the address are globally unique and when they are not.

Special unicast addresses

As shown in Figure 18, IPv6 modifies the Internet architecture, giving a new meaning to the terms "link" and "site".
The term link is used to mean a single physical network, which may be a LAN, a point-to-point connection, or even a wide area network employing a homogeneous technology. Nodes attached to the same link are called neighbors.
A site is a set of several links controlled by a single administrative authority.
For example, a site can be a university campus, a government agency, or a company, as far as the peripheral Internet structure is concerned. The site's IPv6-based framework, on the other hand, consists of the providers and exchanges, while the interconnection between their networks forms the Internet backbone. The administrative unit is the link, the administrative center is the router, and the latter administers all of the hosts attached to the same link.


Figure 18 - The concept of link and site.

There are five special unicast address formats:

  • unspecified(0:0:0:0:0:0:0:0), used as the source address in initializing a station when the latter has not yet learned its own address.
  • loopback(0:0:0:0:0:0:0:1), used by a node to send a packet to itself.
  • IPv6 addresses with embedded IPv4 addresses. There are two types, known respectively as IPv4 compatible addresses and IPv4-mapped IPv6 addresses. The format of the first type is shown in Figure 19: the IPv6 address is constructed by placing a prefix consisting of 96 bits at zero in front of the IPv4 address. This type of address is used to configure tunnels which, as will be discussed in detail in paragraph 4.4, enable IPv4/IPv6 stations to communicate with each other and with IPv4-only stations using the existing IPv4 network. In the second case, the addresses used have the format shown in Figure 20, which represents the IPv6 address of an IPv4-only node.

Figure 19 - IPv4 compatible addresses.

Figure 20 - IPv4-mapped IPv6 addresses.

  • Local-Use addresses are those which can only be used locally. Two types have been specified
    • link-local, used by autoconfiguration procedures for addressing on a single link, or in cases where no routers are present (see the format in Figure 21). Routers must not forward any packets with a link-local source or destination addresses to other links.

Figure 21 - Link-local address format.

    • site-local: packets with this type of destination address must not be sent outside the site. The format is shown in Figure 22. Site-local addresses can chiefly be used by sites which, though not connected to the public Internet, wish to adopt IP in their network: in other words, they are the IPv6 equivalent of the IPv4 private addresses used in Intranets. Compared to the latter, however, they provide a significant advantage: if a site which has adopted site-local IPv6 addresses in its Intranet decides to connect to the Internet, it does not have to proceed with site renumbering, but need only replace the prefix that identifies the addresses used up to that time as site-local addresses with the prefix supplied by the provider. This operation is extremely simple with the automatic configuration mechanisms now under development: an example is Router Renumbering, which permits the prefixes of a router to be configured automatically and will be described below.

Figure 22 - Site-local address format.

Anycast addresses

An anycast address is assigned to more than one interface. A packet containing such an address is sent to the nearest (i.e., according to the routing protocol's measure of distance) of the interfaces identified by that address.
As the format is identical to that of unicast addresses, an interface to which an anycast address is assigned must be explicitly configured to know that it is an anycast address.
The advantage of introducing this type of address lies in the fact that a host can use a single message to find the nearest server capable of offering a given service. This can be explained by returning to the example of using the hop limit field given in paragraph Formato dell'header IPv6. The same problem can be solved more efficiently by assigning the same anycast address to the servers: the station can thus reach the nearest server with a single transmission. If the nearest server suddenly becomes unusable, the service will still be seamlessly guaranteed to the host by the second-nearest server. It should be borne in mind, however, that the use of these addresses has not yet been fully specified.

Multicast addresses

A multicast address, whose format is shown in Figure 23, is an identifier for a group of nodes. A node can belong to more than one group.

The fields on the multicast address are as follows:

11111111 : Prefix classifying the address as a multicast address;

000T : a set of 4 flags. The first 3 bits are set to zero because they have not yet been assigned. If T=0, the multicast address is a permanently-assigned (well-known) multicast address allocated by the global Internet numbering authority, IANA. T=1 indicates a non-permanently-assigned (transient) multicast address.

Scope : Used to limit the scope of the multicast address. The values are:
1 node-local scope
2 link-local scope
5 site-local scope
8 organization-local scope
E global scope

Group ID : Identifies the multicast group. Several permanently-assigned identifiers have been defined, including:
1 Identifies the group of all IPv6 nodes (used with scope 1 or 2)
2 Identifies the group of all routers (used with scope 1 or 2)
3 Identifies the group of all dynamically configured DHCP servers; should be used with scope 2.

Introducing the scope field makes it possible to manage forwarding messages to a given set of nodes more simply than with IPv4. In IPv4, in fact, the only way to circumscribe traffic to a portion of the network is to limit the value contained in the TTL field: selecting an appropriately low value ensures that the packet crosses a limited number of nodes and is then discarded. With IPv6, on the other hand, it is sufficient to select the appropriate scope value.
A complete list of registered multicast addresses is provided in [RFC2375] and on the site www.iana.org.


Figure 23 - Multicast address format.


previous next