IPv6 Dynamic Address Allocation by Rick Graziani

In IPv4, devices have two ways to get IPv4 addressing information, which includes an IPv4 address, subnet mask, default gateway address, domain name, and Domain Name Service (DNS) server address:

Static or manual configuration
Dynamically from a DHCPv4 server

As with IPv4, IPv6 addresses can be statically assigned. However, when it comes to dynamic addressing, IPv6 has a different approach. IPv6 uses the ICMPv6 Router Advertisement message to suggest to devices how to obtain their IPv6 addressing information. An IPv6 router sends a Router Advertisement (RA) message periodically (every 200 seconds in Cisco IOS) or when it receives a Router Solicitation request from a device.

The RA message is typically sent to the all-IPv6 devices multicast address (ff02::1), so every IPv6 device on the link (network) receives it. (It can also be sent as a unicast message.) Other routers do not forward RA messages.

The Router Advertisement message includes addressing information for IPv6 devices that includes the following:

The network prefix and prefix length, along with other information about the link (subnet).

The address of the default gateway. (This is a link-local address of the router's egress interface, the source IPv6 address of the RA message.)

Three flags that are used to suggest to a device how to obtain its IPv6 addressing information. These flags are the Autonomous Address Configuration Flag (A flag), the Other Configuration Flag (O flag), and the Managed Address Configuration Flag (M flag).

Optional information such as a domain name and a list of DNS server addresses.

Unlike an IPv4 device, an IPv6 device can determine all of its addressing dynamically without the services of a DHCP server.

As shown in Figure 2-7, the Router Advertisement message can be one of three methods:

Method 1=Stateless Address Autoconfiguration (SLAAC): The device uses the information in the RA message for all of its addressing needs, including using the prefix in the RA to create an IPv6 global unicast address. The device will use the source IPv6 address of the RA as its default gateway. Method 1 is the default in Cisco IOS.

Method 2=SLAAC and stateless DHCPv6 server: Similar to Method 1, the device uses SLAAC to create a global unicast address and uses the source IPv6 address of the RA as the address for the default gateway. However, this method also suggests to the device that it needs to contact a stateless DHCPv6 server for additional information that is not contained in the RA message. This information may be a list of DNS server addresses. It's important to note that a stateless DHCPv6 server does not provide or maintain any IPv6 global unicast addressing information. A stateless server only provides network information common to all devices on the network.

Note The RA message doesn't specify what information is available from the stateless DHCPv4 server. A list of DNS addresses should be included in the RA message only if both the router and the receiving device support this capability (see RFC 6106, IPv6 Router Advertisement Options for DNS Configuration).

Method 3=Stateful DHCPv6 server: This method is similar to DHCP for IPv4. The RA message suggests to the device that it use a DHCPv6 server for all its IPv6 addressing needs, including a global unicast address. However, the device must dynamically obtain its default gateway address from the RA message, as in the previous two methods.

Note Cryptographically Generated Addresses (CGA) is a third option in which to generate the Interface ID. This is done by computing a cryptographic one-way hash function from a public key and involves the Secure Neighbor Discovery Protocol (SEND). CGA and SEND are beyond the scope of this book. For more information on CGA and SEND, I recommend the book, IPv6 Security, by Eric Vyncke.

In either case, the device is able to create its own global unicast address without the services of DHCPv6.

Neither a stateless nor stateful DHCPv6 server provides the default gateway address. It can only be dynamically obtained from the RA message. This means that even if a stateful DHCPv6 is used, the RA messages must be sent so that hosts can dynamically receive their default gateway information.

When the RA suggests the use of stateful DHCPv6, some host operating systems will use both stateful DHCPv6 and SLAAC for creating two different addresses. In most cases, network administrators that implement stateful DHCPv6 don't usually want the devices to create another address using SLAAC. Therefore, the information in the RA message must be configured so that the host uses the RA message for the default gateway address but does not assign a second address using SLAAC.

About the Author

Rick Graziani has been an instructor of computer networking and computer science courses at Cabrillo College in Aptos, California since 1994. Rick also teaches networking courses in the Computer Engineering department at the University of California, Santa Cruz and is on the Curriculum Engineering team for Cisco Networking Academy.

Organizations are increasingly transitioning to IPv6, the next generation protocol for defining how devices of all kinds communicate over networks. Now fully updated, IPv6 Fundamentals offers a thorough, friendly, and easy-to-understand introduction to the knowledge and skills you need to deploy and operate IPv6 networks.

Leading networking instructor Rick Graziani explains all the basics simply and clearly, step-by-step, providing all the details you'll need to succeed. You'll learn why IPv6 is necessary, how it was created, how it works, and how it has become the protocol of choice in environments ranging from cloud to mobile and IoT.

Graziani thoroughly introduces IPv6 addressing, configuration options, and routing protocols, including EIGRP for IPv6, and OSPFv3 (traditional configuration and with address families). Building on this coverage, he then includes more in-depth information involving these protocols and processes.

This edition contains a completely revamped discussion of deploying IPv6 in your network, including IPv6/IPv4 integration, dynamic address allocation, and understanding IPv6 from the perspective of the network and host. You'll also find improved coverage of key topics such as Stateless Address Autoconfiguration (SLAAC), DHCPv6, and the advantages of the solicited node multicast address.

Throughout, Graziani presents command syntax for Cisco IOS, Windows, Linux, and Mac OS, as well as many examples, diagrams, configuration tips, and updated links to white papers and official RFCs for even deeper understanding.

Learn how IPv6 supports modern networks encompassing the cloud, mobile, IoT, and gaming devices
Compare IPv6 with IPv4 to see what has changed and what hasn't
Understand and represent IPv6 addresses for unicast, multicast, and anycast environments
Master all facets of dynamic IPv6 address allocation with SLAAC, stateless DHCPv6, and stateful DHCPv6
Understand all the features of deploying IPv6 addresses in the network including temporary addresses and the privacy extension
Improve operations by leveraging major enhancements built into ICMPv6 and ICMPv6 Neighbor Discovery Protocol
Configure IPv6 addressing and Access Control Lists using a common topology
Implement routing of IPv6 packets via static routing, EIGRP for IPv6, and OSPFv3
Walk step-by-step through deploying IPv6 in existing networks, and coexisting with or transitioning from IPv4

Reader Lucas Schultz says, "If you are looking to take the CCNA and IPv6 is not clear to you after Cisco material, this is the book you. This is the best in depth discuss about IPv6 how it works and the mechanisms to make it work. Author made it very easy to read and understand. Highly recommend this book to IT personnel or CCNA certification.