It is hard to manage a large network. For example, in a network in which IPv6 addresses are manually allocated, IPv6 address conflicts are common. The only way of solving the problem is to dynamically allocate IPv6 addresses to the hosts. The Dynamic Host Configuration Protocol (DHCPv6) allocates IPv6 address to requesting hosts from an address pool. DHCPv6 also provides other information, such as DNS server address. DHCPv6 reduces the workload of the administrator in recording and tracking manually allocated IPv6 addresses.
DHCPv6 is a protocol that is based on UDP broadcast. The process for a DHCPv6 client to obtain an IPv6 address and other configuration information contains four phases:
SOLICT phase. When the DHCPv6 client logs into the network for the first time, it sends a DHCP SOLICT packet, whose source address is the linklocal address of the client and destination address is ff02::1:2.
ADVERTISE phase. After the DHCPv6 server receives the DHCP SOLICT broadcast packet sent by the client, it selects an IPv6 address from the corresponding IP address pool according to the policy, and sends the IP address and other parameters to the client in a DHCP ADVERTISE packet.
REQUEST phase. If the DHCP client receives response messages from multiple DHCP servers on the network, it selects one DHCP OFFER (usually the one that arrives first). Then it sends a DHCP REQUEST packet to the network, telling all DHCP servers the IP address of which server it will accept.
REPLY phase. After the DHCPv6 server receives the DHCPv6 REQUEST packet from the DHCPv6 client, it sends a DHCP ACK message containing the provided IPv6 address and other configuration to the DHCPv6 client, telling the DHCPv6 client that the DHCPv6 client can use the provided IPv6 address.
The IPv6 address that the DHCPv6 server allocates to the DHCPv6 client has a lease. After the lease expires, the DHCPv6 server will take back the allocated IPv6 address. When the lease term of the IPv6 address of the DHCPv6 client has passed half time, the DHCPv6 client sends a DHCP ENEW packet to the DHCPv6 server requesting to update its IPv6 address lease. If the DHCPv6 client can continue to use the IPv6 address, the DHCPv6 server responds with a DHCP REPLY packet, requesting the DHCPv6 client to update the lease. If the DHCPv6 DHCP client cannot to continue to use the IPv6 address, the DHCPv6 server does not respond.
During dynamic IPv6 address acquisition, request packets are sent in broadcast mode; therefore, DHCPv6 is applied only when the DHCPv6 client and server are in the same subnet. If multiple subnets exist in a network and the hosts of the subnets need to obtain configuration information such as IPv6 address through the DHCPv6 server, the hosts of the subnets communicate with the DHCPv6 server through a DHCPv6 relay to obtain IPv6 addresses and other configuration information.