DHCPv6 Overview

IPv6 Address Allocation Modes

IPv6 has made it possible to have virtually unlimited IP addresses by increasing the IP address length from 32 bits to 128 bits. This increase in IP address length requires efficient IPv6 address space management and assignment.

IPv6 provides the following address allocation modes:
  • Manual configuration. IPv6 addresses/prefixes and other network configuration parameters are manually configured, such as the DNS server address, network information service (NIS) server address, and Simple Network Time Protocol (SNTP) server address.
  • Stateless address allocation. A host uses the prefix carried in a received Router Advertisement (RA) message and the local interface ID to automatically generate an IPv6 address.
  • Stateful address autoconfiguration using DHCPv6. DHCPv6 address allocation can be implemented in any of the following modes:
    • A DHCPv6 server automatically configures IPv6 addresses/prefixes and other network configuration parameters, such as the DNS server address, NIS server address, and SNTP server address.
    • A host uses the prefix carried in a received RA message and the local interface ID to automatically generate an IPv6 address. The DHCPv6 server assigns configuration parameters other than IPv6 addresses, such as the DNS server address, NIS server address, and SNTP server address.
    • DHCPv6 Prefix Delegation (PD). IPv6 prefixes do not need to be manually configured for the downstream routers. The DHCPv6 prefix delegation mechanism allows a downstream router to send DHCPv6 messages carrying the IA_PD option to an upstream router to apply for IPv6 prefixes. After the upstream router assigns a prefix that has less than 64 bits to the downstream router, the downstream router automatically subnets the delegated prefix into /64 prefixes and assigns the /64 prefixes to the links attached to IPv6 hosts through RA messages. This mechanism implements automatic configuration of IPv6 addresses for IPv6 hosts and hierarchical IPv6 prefix delegation.

DHCPv6 Architecture

Figure 1 DHCPv6 architecture

Figure 1 shows the DHCPv6 architecture. The DHCPv6 architecture involves the following roles:
  • DHCPv6 client: exchanges DHCPv6 messages with a DHCPv6 server to obtain an IPv6 address/prefix and other configuration parameters.

  • DHCPv6 relay agent: forwards DHCPv6 messages between a client and a server so that the client can obtain an IPv6 address from the server. When DHCPv6 clients and servers reside on the same link, a DHCPv6 client uses a link-local multicast address to obtain an IPv6 address/prefix and other configuration parameters from a DHCPv6 server. If the DHCPv6 client and server reside on different links, a DHCPv6 relay agent must be used to forward DHCPv6 messages between the client and server. DHCPv6 relay allows a single DHCPv6 server to serve DHCPv6 clients on different links, reducing costs and facilitating centralized management.

    DHCPv6 relay agents are not mandatory in the DHCPv6 architecture. DHCPv6 relay agents are not needed when a DHCPv6 client and a DHCPv6 server reside on the same link or they can exchange unicast packets for address allocation or information configuration. DHCPv6 relay agents are needed only when a DHCPv6 client and a DHCPv6 server reside on different links or they cannot exchange unicast packets.

  • DHCPv6 server: processes address allocation, lease extension, and address release requests originating from a DHCPv6 client or forwarded by a DHCPv6 relay agent and assigns IPv6 addresses/prefixes and other configuration parameters to the client.

Basic DHCPv6 Concepts

  1. Multicast address

    In DHCP, clients broadcast DHCP messages to servers. To prevent broadcast storms, IPv6 uses multicast packets instead of broadcast packets. DHCPv6 uses the following multicast addresses:

    • All_DHCP_Relay_Agents_and_Servers (FF02::1:2): a link-scoped multicast address used by a client to communicate with neighboring relay agents and servers. All DHCPv6 servers and relay agents are members of this multicast group.
    • All_DHCP_Servers (FF05::1:3): a site-scoped multicast address used by a DHCPv6 relay agent to communicate with servers. All DHCPv6 servers within the site are members of this multicast group.
  2. UDP port number

    • DHCPv6 messages are carried over UDPv6.
    • DHCPv6 clients listen to DHCPv6 messages on UDP port 546.
    • DHCPv6 servers and relay agents listen to DHCPv6 messages on UDP port 547.
  3. DHCP Unique Identifier (DUID)

    • Each DHCPv6 client or server has a DUID. A DHCPv6 server and a client use DUIDs to identify each other.
    • The client DUID is carried in the Client Identifier option, and the server DUID is carried in the Server Identifier option. Both options have the same format. The option-code field value determines whether the option is a Client Identifier or Server Identifier option. If the option-code field value is 1, the option is a Client Identifier option. If the option-code field value is 2, the option is a Server Identifier option.
  4. Identity association (IA)

    • An IA is a construct through which a server and a client can identify, group, and manage a set of related IPv6 addresses. Each IA consists of an IAID and associated configuration information.
    • Each DHCPv6 client must associate one or more IAs with each of its interfaces that request to obtain IPv6 addresses from a DHCPv6 server. The client uses the IAs associated with an interface to obtain configuration information from a DHCPv6 server for that interface. Each IA must be associated with an interface.
    • Each IA has an identity association identifier (IAID), which must be unique among all IAIDs for the IAs of a client. An IAID is not lost or changed due to a device restart.
    • An interface is associated with one or more IAs. An IA contains one or more addresses.
Copyright © Huawei Technologies Co., Ltd.
Copyright © Huawei Technologies Co., Ltd.
Next topic >