# DHCP Unique ID for Clients and Servers Overview

Each entity in a DHCP operation, the client and the server, has a DHCP unique identifier (DUID). DHCP clients use DUIDs to identify a server in messages where a server needs to be identified. DHCP servers use DUIDs to determine the configuration parameters to be used for clients and in the association of addresses with clients.

The DUID is contained in the client identifier and server identifier options. The DUID is stable for any specific client or server. The DHCPv6 application uses DUIDs based on link-layer addresses for both the client and server identifier options. An Identity Association for Prefix Delegation option is a collection of prefixes assigned to a requesting router. A requesting router can have more than one Identity Association for Prefix Delegation option; for example, one for each of its interfaces. Each Identity Association for Prefix Delegation is denoted by an Identity Association identifier. The Identity Association identifier is chosen by the requesting router and is unique among the Identity Association identifiers that are present in the Identity Association for Prefix Delegation options on the requesting router. A client binding is indexed by a DUID.

When an IPv6 DHCP client requests two prefixes with the same DUID but different Identity Association identifiers on two different interfaces, these prefixes are considered to be for two different clients, and the interface information is maintained for both the clients. Clients and servers identify DUIDs as opaque values and compare DUIDs only to check for their equality. Clients and servers do not process DUIDs for other information.

A DUID consists of a two-octet type code represented in network byte order, followed by a variable number of octets that make up the actual identifier; for example, 00:02:00:01:02:03:04:05:07:a0. A DUID can be up to 128 octets in length (excluding the Type code). The following types are currently defined for the DUID parameter:

- Type 1—Link-layer address plus time (DUID-LLT)
- Type 2—Vendor-assigned unique ID based on Enterprise Number (DUID-EN)
- Type 3—Link-layer address (DUID-LL)

The Type 1 DUID consists of a two-octet type field that contains the value 1, a two-octet hardware type code, four octets that signify a time value, followed by the link-layer address of any one network interface that is connected to the DHCP device at the time that the DUID is generated.

The Type 2 DUID is assigned by the vendor to the device and contains the vendor's registered private enterprise number as maintained by the IANA, followed by a unique identifier assigned by the vendor.

The Type 3 DUID contains a two-octet type field that stores the value 3, a two-octet network hardware type code, followed by the link-layer address of any one network interface that is permanently connected to the client or server device.

By default, the DHCPv6 local server application in JunosE Software uses the Type 2 server DUID for allocation of IPv6 prefixes from the delegating router, which is an E Series router configured as a DHCPv6 local server to requesting routers, which is the customer premises equipment (CPE) at the edge of the remote client site that acts as the DHCP client. In scenarios in which the CPE does not support the Type 2 DUID, or if the service provider uses a DUID type other than Type 2, the verification of identity of servers and clients by each other using DUIDs does not happen successfully. In such network environments, configuring the DUID type on the DHCPv6 local server to be other than the default value of Type 2 enables correct identity verification of clients and servers.

You can configure the type of DUID using the ipv6 dhcpv6-local duid-type duidType command in Global Configuration mode to be either Type 2 or Type 3. These two types are currently supported by the DHCPv6 local server application in JunosE Software. The Type 1 DUID is not supported by the DHCPv6 local server in JunosE Software. However, DHCPv6 clients support DUID Types 1, 2, and 3. The ipv6 dhcpv6-local duid-type command enables you to specify the DUID type that matches with the DUID type that the service providers use in their networks and also provides flexibility to DHCP subscribers to use a DUID type that suits their requirements. The DHCPv6 local server uses the configured DUID type in its communication with the client.

The DUID type conforms to the following guidelines:

- The DUID type is unique across all the virtual routers on the chassis.
- The DUID type is persistent across a system reload.
- The DUID type is retained after a switchover.
- You cannot modify the DUID type when at least one active DHCP client connection exists.

To support the Type 3 DUID, the DHCPv6 local server uses a combination of the chassis ID and virtual router ID as the DUID. When you remove the configured DUID type using the no ipv6 dhcpv6-local duid-type command, the router reverts to the default Type 2 DUID. All the binding requests from the clients are acknowledged with the default server ID if the Type 2 DUID is on the DHCPv6 local server.

#### Related Documentation

- Configuring the Type of DHCP Unique ID for DHCPv6 Local Servers
- ipv6 dhcpv6-local duid-type