148 Part Two IPv6 Protocols
NSAP addressing is used for OSI CLNP networks, and a mechanism for
encoding NSAP addresses into IPv6 addresses (as well as for encoding
IPv6 addresses within NSAP addresses) is defined in the experimental
RFC 1888, “OSI NSAPs and IPv6.” However, due to the relative scarcity
of CLNP networks and the recommendation that existing CLNP networks
should reimplement their addressing to support IPv6 directly, the NSAP-
encoded IPv6 allocation may suffer the same fate as the IPX allocation.
8.4 IPv6 Address Format
At 128 bits, IPv6 addresses can carry much more information than 32-bit
IPv4 addresses. An IPv4 address signifies little more than a unique network
layer interface; other than a unique local identifier coupled with a unique
network identifier, there is no information implicit in the address. IPv6
addresses, on the other hand, are capable of carrying more data.
The most basic representation of an IPv6 unicast address looks like this.
| 128 bits |
| node address |
Any IPv6 node must be able to interpret an IPv6 address as a series of
128 bits and determine whether the address refers to itself or not. Every
IPv6 unicast address is 128 bits long and represents a unique node network
A slightly more sophisticated IPv6 implementation would be able to
identify IPv6 addresses as divisible into at least two separate parts.
| n bits | 128-n bits |
| subnet prefix | interface ID |
In this case, the subnet prefix, defined by some number (“n”) of bits, is
identifiable as the local link to which the node is attached. A node capable
Chapter 8 IPv6 Addressing 149
of making this distinction could perform a very simple routing function,
transmitting packets destined for the local subnet locally and forwarding
nonlocal packets to some default router.
A more detailed general representation of the IPv6 address provides
three parts: a global routing prefix (identifying a nondefault route for the
address), a subnet ID, and an interface ID.
| n bits | m bits | 128-n-m bits |
| global routing prefix | subnet ID | interface ID |
This structure bears a superficial resemblance to the use of subnets in IPv4
addresses, in which a single IPv4 network is subdivided into subnets.
However, the IPv6 unicast addressing architecture was intended to be
an aggregatable architecture. IPv6 network service providers maintain
nondefault routers for their customers to handle external routing, accept-
ing all packets whose addresses’ first n bits match the provider’s global
routing prefix, the same prefix being incorporated into all their customers’
IPv6 addresses. Within the service provider’s network, internal routers
distribute packets based on their destination address subnet ID.
In RFC 2374, the aggregatable unicast IPv6 address format is defined with
a great deal of precision, splitting the 128-bit addresses in half, with the
low-order 64 bits representing the interface ID and the high-order 64 bits
divided into several fields, in which routing structure information can be
|3| 13|8| 24 | 16 | 64bits |
|FP| TLA |RES| NLA | SLA | Interface ID |
| | ID | | ID | ID | |
In this definition, taken from RFC 2374, the Format Prefix (FP) refers to the
three high-order bits of the address; when these bits are 001, the address is
considered an aggregatable global unicast address. The other fields refer
to routing aggregation: Top Level, Next Level, and Site Level Aggregation
identifiers, with an octet reserved for future use.

Get IPv6, 2nd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.