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: 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. 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