When using SLAAC (SLAAC only or SLAAC with DHCPV6), a device receives its prefix and prefix length from the ICMPv6 RA. Because the prefix of the address has been designated by the RA message, the device must provide only the Interface ID portion of its address. As stated previously, the Interface ID can be automatically generated using the EUI-64 process, or depending on the OS, randomly generated. Using the information from the RA message and the Interface ID, the device can establish its global unicast address.
After a global unicast address is assigned to an interface, the IPv6-enabled device will automatically generate its link-local address. IPv6-enabled devices must have, at a minimum, the link-local address. Recall that an IPv6 link-local address enables a device to communicate with other IPv6-enabled devices on the same subnet.
IPv6 link-local addresses are used for a variety of purposes including:
- A host uses the link-local address of the local router for its default gateway IPv6 address.
- Routers exchange dynamic routing protocol messages using link-local addresses.
- Routers’ routing tables use the link-local address to identify the next-hop router when forwarding IPv6 packets.
A link-local address can be established dynamically or configured manually as a static link-local address.
Dynamically Assigned Link-Local Address
The link-local address is dynamically created using the FE80::/10 prefix and the Interface ID.
By default, Cisco IOS routers use EUI-64 to generate the Interface ID for all link-local address on IPv6 interfaces. For serial interfaces, the router will use the MAC address of an Ethernet interface. Recall that a link-local address must be unique only on that link or network. However, a drawback to using the dynamically assigned link-local address is its length, which makes it challenging to identify and remember assigned addresses.