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.
DHCPv6 client: exchanges DHCPv6 messages with a DHCPv6 server to obtain an IPv6 address/prefix and other configuration parameters.
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.
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:
UDP port number
DHCP Unique Identifier (DUID)
Identity association (IA)