Network Engineer Must know
Detailed IPv6 Dynamic Host Configuration Protocol DHCPv6
DHCPv6 (Dynamic Host Configuration Protocol for IPv6) supports the IPv6 addressing scheme. It is a protocol for assigning IPv6 prefixes, IPv6 addresses, and other network configuration parameters to hosts.
When the host is running IPv6, it can obtain an IPv6 address by using stateless address auto-configuration or DHCPv6 protocol. When the host uses a stateless address automatic configuration scheme to obtain IPv6 addresses, the router does not record the IPv6 address information of the host, which is poor in manageability. In addition, the IPv6 host cannot obtain network configuration information such as the DNS server address, and has certain defects in availability. .
DHCPv6 is a stateful address auto-configuration protocol. During the stateful address configuration process, the DHCPV6 server assigns a complete IPv6 address to the host and provides other configuration information such as the DNS server address. In addition, the DHCPv6 server can also centrally manage the assigned IPv6 addresses and clients. The DHCPv6 server and client use the UDP protocol to exchange DHCPv6 messages. The client uses a UDP port number of 546 and the server uses a UDP port number of 547.
The basic protocol architecture of DHCPv6 mainly includes the following three roles:
1. DHCPv6 Client:
The DHCPv6 client interacts with the DHCPv6 server to obtain IPv6 address/prefix and network configuration information to complete its own address configuration function.
2. DHCPv6 Relay:
The DHCPv6 relay agent is responsible for forwarding DHCPv6 messages from the direction of the client or the server, and assists the DHCPv6 client and the DHCPv6 server to complete the address configuration function. In general, the DHCPv6 client communicates with the DHCPv6 server through the multicast address in the local link range to obtain the IPv6 address/prefix and other network configuration parameters. If the server and the client are not in the same link range, you need to forward the packet through the DHCPv6 relay agent, which can avoid the deployment of a DHCPv6 server in each link range, which saves costs and facilitates centralized management .
3. DHCPv6 Server:
The DHCPv6 server is responsible for processing requests such as address allocation, address renewal, and address release from clients or relay agents, and assigns IPv6 addresses/prefixes and other network configuration information to clients.
When DHCPv6 assigns addresses, it is divided into:
DHCPv6 stateful automatic allocation: The DHCPv6 server assigns IPv6 addresses and other network configuration parameters (such as DNS, NIS, SNTP server addresses, etc.) to the client.
DHCPv6 stateless automatic allocation: The IPv6 address of the host is still automatically generated through route advertisement. The DHCPv6 server only allocates configuration parameters other than the IPv6 address (such as DNS, NIS, SNTP server, etc.).
Before sending a request message to the DHCPv6 server, the DHCPV6 client will send an RS message, and routers in the same link range will reply to the RA message after receiving the message. The RA message contains the management address configuration flag (M) and the stateful configuration flag (O). When the value of M is 1, the DHCPV6 stateful address configuration is enabled, that is, the DHCPv6 client needs to obtain the IPv6 address from the DHCPv6 server, and the value of 0 enables the IPV6 stateless address automatic allocation scheme. When the value of O is 1, it is used to define that the client needs to obtain other network configuration parameters through stateful DHCPv6. The value of 0 enables the IPv6 stateless address automatic allocation scheme.
Priority of IPv6 address allocation:
The DHCPv6 server selects the IPv6 address/prefix for the DHCPv6 client in the following order.
1. Select IPv6 address pool
The interface of the DHCPv6 server can be bound to an IPv6 address pool. The DHCPv6 server will select the IPv6 address pool to assign addresses/prefixes to DHCPv6 clients under the interface. For the scenario where there is a relay, the interface of the DHCPv6 server may not be bound to the IPv6 address pool, but based on the first “link-address” field (identifying the link range where the DHCPv6 client is located) in the packet that is not 0. An address pool that belongs to the same link range as the network prefix or IPv6 address prefix configured in the address pool.
2. Select IPv6 address/prefix
After determining the address pool, the DHCPv6 server will assign the IPV6 address/prefix to the DHCPv6 client according to the following steps:
If an address/prefix is specified for the client in the address pool, the address/prefix matching the client’s DUID is preferentially allocated to the client from the address pool.
If the IA option in the client packet carries a valid address/prefix, the address/prefix is preferentially selected from the address pool and assigned to the client. If the address/prefix is not available in the address pool, another free address/prefix is assigned to the client. If the IPV6 prefix length is greater than the specified allocation length, it is allocated according to the specified allocation length.
Select free addresses/prefixes from the address pool and assign them to the client. Reserved addresses (such as anycast addresses defined in RFC 2526), conflicting addresses, and assigned addresses cannot be assigned to the client.
If no suitable IPv6 address/prefix can be allocated, the allocation fails.
Get 100% accurate CCIE/ CCNP/CCNA/HCIE dumps in IELAB .
Please follow us if you like our articles.
visit us: http://ielab.network
Facebook : https://www.facebook.com/ielab.network/