an organization to use up to 65,535 individual
subnets. (RFC 2374 has been replaced by RFC 3587.) Web
Links RFC 3587 - IPv6 Global Unicast Address
Format
ftp://ftp.rfc-editor.org/in-notes/rfc3587.txt
Content 8.3 Dynamic IPv6 Addresses
8.3.1 Defining Host Interface Addresses An IPv6
address has two parts: - A subnet prefix representing the
network to which the interface is connected. The subnet prefix
is a fixed 64-bit length for all current definitions.
- A local identifier, sometimes called a token, which
uniquely identifies the host on the local network. The local
identifier is always 64 bits and is dynamically created based
on Layer 2 media and encapsulation. In the simple case of an
Ethernet medium, the local identifier is usually derived from
the EUI-48 MAC address.
The 64-bit local identifier
in an IPv6 address identifies a unique interface on a link. A
link is a network medium over which network nodes communicate
using the link layer. The interface identifier may also be
unique over a broader scope. In many cases, an interface
identifier is the same as or is based on the link-layer (MAC)
address of an interface. As in IPv4, a subnet prefix in IPv6 is
associated with one link.
Content 8.3 Dynamic
IPv6 Addresses 8.3.2 Link Local Address
Interface identifiers in IPv6 addresses identify interfaces on
a link. Link-local addresses can also be thought of as the host
portion of an IPv6 address. The address is unique only on this
link, and it is not routable off the link. Packets with a
link-local destination must stay on the link where they were
generated. Routers that could forward them to other links are
not allowed to because there has been no verification of
uniqueness outside the context of the origin link. Link-local
addresses are dynamically created using a link-local prefix of
FE80::/10 and a 64-bit interface identifier in a process called
stateless autoconfiguration.
Content 8.3
Dynamic IPv6 Addresses 8.3.3 Stateless
Autoconfiguration Stateless autoconfiguration is a
plug-and-play feature that enables devices to automatically
connect to an IPv6 network without manual configuration and
without any servers (like DHCP servers). DHCP and DHCPv6 are
known as stateful protocols because they maintain tables within
dedicated servers. The stateless autoconfiguration protocol
does not need any server or relay because there is no state to
maintain. Every IPv6 system (other than routers) can build its
own unicast global address, which enables new devices, such as
cellular phones, wireless devices, home appliances, and home
networks, to be deployed on the Internet. Because the prefix
length is fixed and well-known, a system automatically builds a
link-local address during the initialization phase of IPv6
NICs. After uniqueness verification, this system can
communicate with other IPv6 hosts on that link without any
other manual intervention. For a system connected to an
Ethernet link, building and validating the link-local address
is accomplished in the following phases. Phase 1
Although manually configurable, the most common method to
obtain a unique identifier on an Ethernet link is by using the
EUI-48 MAC address and applying the modified IEEE EUI-64
standard algorithm. For example, transforming MAC address
00-0C-29-C2-52-FF using the EUI-64 standards leads to
00-0C-29-FF-FE-C2-52-FF. If this address is to remain
local, the IPv6 notation would be 000C:29FF:FEC2:52FF. However,
if the address is to be a global unicast address, the correct
format is 020C:29FF:FEC2:52FF. Note
For
addresses with global scope, the initial portion of the MAC
address gets altered from 00-0C to 02-0C. This process is
discussed in the next topic. Phase 2
The well-known
link-local prefix fe80::/64 is prepended to the 64-bit
identifier from phase one to create the 128-bit link-local
address, for example, fe80::20c:29ff:fec2:52ff. This address
is associated with the interface and tagged “tentative.”
Phase 3
Before final association, it is necessary to
verify the address’s uniqueness on the link, called duplicate
address detection (DAD). The probability of having a duplicate
address on the same link is not null, because it is recognized
that some vendors have shipped batches of cards with the same
MAC addresses. The system sends ICMPv6 packets on the link
where the detection has to occur. Those packets contain
neighbor solicitation messages. Their source address is the
undefined address “::”, and the target address is the tentative
address. A node already using this tentative address replies
with a neighbor advertisement message. In that case, the
address cannot be assigned to the interface. If there is no
response, it is assumed that the address is unique and can be
assigned to the interface. If the address is not unique it must
be manipulated manually. Phase 4
This phase removes
the tentative tag and formally assigns the address to the
network interface. The system can now communicate with its
neighbors on the link. To exchange information with arbitrary
systems on the global Internet, it is necessary to obtain a
global prefix. Usually, but not necessarily, the identifier
built during the first phase of the automatic link-local
autoconfiguration process is appended to this global prefix in
Phase 2. Generally, global prefixes are distributed to the
companies or to end users by ISPs. Note
Stateless
DHCP is a new concept (February 2004) that strikes a middle
ground between stateless autoconfiguration and the thick-client
approach of stateful DHCP. Stateless DHCP for IPv6 is also
called DHCP-lite. See RFC 3736, Stateless Dynamic Host
Configuration Protocol (DHCP) Service for IPv6.
Content 8.3 Dynamic IPv6 Addresses
8.3.4 EUI-64 to IPv6 Identifier A MAC address (IEEE
802) is 48 bits long. The space for the local identifier in an
IPv6 address is 64 bits. The EUI-64 standard explains how to
stretch IEEE 802 addresses from 48 to 64 bits by inserting the
16-bit 0xFFFE in the middle at the 24th bit of the MAC address.
This creates a 64-bit, unique interface identifier. For
example, transforming MAC address 00-90-27-17-FC-0C using the
EUI-64 standard results in 00-90-27-FF-FE-17-FC-0C.
Converting this into IPv6 notation would generate
0090:27FF:FE17:FC0C. When the interface identifier is created
from an Ethernet MAC address, it is assumed that the MAC
address is universally unique and, therefore, that the
interface identifier is universally unique. Universal/Local
(U/L)
The seventh bit in an IPv6 interface identifier
is referred to as the universal/local bit, or U/L bit. This bit
identifies whether this interface identifier is universally or
locally administered. - If the U/L bit is set to 0, the
address is locally administered. The network administrator has
overridden the manufactured address and specified a different
address.
- If the U/L bit is set to 1, the IEEE, through
the designation of an ISP, has administered the address.
Therefore, to make this address a universally
administered address, our IPv6 address 0090:27FF:FE17:FC0C
would actually become 0290:27FF:FE17:FC0C.
Individual/Group (I/G)
The I/G bit is the low order
bit of the first byte and determines whether the address is an
individual address (unicast) or a group address (multicast).
When set to 0, it is a unicast address. When set to 1, it is a
multicast address. For a typical 802.x network adapter address,
both the U/L and I/G bits are set to 0, corresponding to a
universally administered unicast MAC address. Because of
certain privacy and security concerns, the implementation of
autoconfiguration by a host may also create a random interface
identifier using the MAC address as a base. This is considered
a privacy extension because, without it, creating an interface
identifier from a MAC address provides the ability to track the
activity and point of connection. Microsoft Windows XP