In this module, you will learn how to use SLAAC to allow hosts to create their own IPv6 global unicast address, as well as configure a Cisco IOS router to be a DHCPv6 server, a DHCPv6 client, or a DHCPv6 relay agent.
2. SLAAC Defined
โข Like IPv4, there are a number of different ways that a host can be addressed in IPv6; the
two most common in IPv4 are static addressing and dynamic address configuration via
the Dynamic Host Configuration Protocol (DHCP). Often the reason that engineers use
DHCP is that it not only provides a method of dynamically assigning addresses, it also
provides a way to assign the host devices other service information like DNS servers,
domain names, and a number of different custom information.
โข To perform address configuration on IPv6 there are a couple of familiar methods and a
few additional methods, including: static addressing, static addressing with DHCPv6
(stateless), dynamic addressing via DHCPv6 (Stateful), SLAAC alone, or SLAAC with
DHCPv6 (Stateless). IPv6 static addressing works exactly the same as IPv4 static
addressing so there is no mystery there. IPv6 does, however, provide two different ways
of implementing DHCP, either stateful (e.g., when an IPv4 DHCP server tracks the
addresses that are given out) and stateless. Stateless DHCP does not track what
information is given out to clients and does not give out IPv6 addresses; instead, it
provides the extra information that most people relate with typical DHCP assignment,
e.g., DNS server information. Stateless DHCP is then matched up with another
mechanism (such as Static addressing or SLAAC) for IPv6 address assignment.
3. SLAAC Defined (Cont.)
โข SLAAC provides the ability to address a host based on a network prefix that is advertised from a
local network router via Router Advertisements (RA). RA messages are sent by default by most
IPV6 routers; these messages are sent out periodically by the router and include information
including:
โข One or more IPv6 prefixes (Link-local scope)
โข Prefix lifetime information
โข Flag information
โข Default device information (Default router to use and its lifetime)
โข SLAAC is implemented on the IPv6 client by listening for these local RAโs and then taking the
prefix that is advertised to form a unique address that can be used on the network. For this to
work, the prefix that is advertised must advertise a prefix length of 64 bits (i.e., /64); SLAAC will
then dynamically form a host identifier that is 64 bits long and will be suffixed to the end of the
advertised prefix to form an IPv6 address. Originally, the host identifier was formed using the EUI-
64 rules (the same that are used to form link local addresses) and many devices still use this
method. However, some Microsoft operating systems by default do not use this original method.
Instead, they take advantage of some additional privacy extensions that were defined in RFC4941.
5. SLAAC - Example topology discussion
โข If the hosts (H1-H4) shown in Figure 1 were using the EUI-64 method of host identification, the IPv6
addresses created using SLAAC would be:
โข H1 โ 2000:1234:5678::12FF:FE34:5678
โข H2 โ 2000:1234:5678::EBFF:FEA4:C1AE
โข H3 โ 2000:1234:5678::BAFF:FE24:C4AE
โข H4 โ 2000:1234:5678::84FF:FE67:AEFC
โข To be thorough, the EUI-64 process will be outlined for H1 as follows:
โข The prefix 2000:1234:5678::/64 will be learned from R1โs RA messages and will be the initial prefix.
โข The client identifier would then be created from the MAC address that is assigned to H1, in this case
0200:1234:5678. The first step of EUI-64 conversion is to split the MAC address in half and place FF:FE in the
middle, which results in 0200:12FF:FE34:5678. Then the seventh bit will be flipped, in this case the first 8
bits is 00000010 (0x02). Next, the seventh bit is flipped and the bit becomes 0, resulting in 00000000 (0x00);
this gives a final host identifier result of 0000:12FF:FE34:5678. When the prefix and the host identifier are
brought together, it results in an IPv6 address that is used for H1 of
2000:1234:5678:0000:0000:12FF:FE34:5678, which can be shortened to 2000:1234:5678::12FF:FE34:5678.