DHCID Record DHCID Record


What is a DHCID record?


DHCID (DHCP Identifier) records are used to associate a DNS name with a DHCP client, preventing conflicts when multiple DHCP clients attempt to register the same DNS name. Defined in RFC 4701, DHCID records are created and managed automatically by DHCP servers that perform Dynamic DNS (DDNS) updates on behalf of their clients. They are not typically created manually by domain administrators.

DHCID record format


A typical DHCID record looks like the following in standard BIND format:


$ORIGIN dynu.biz.
client-host 3600 IN DHCID AAIBY2/AuCccgoJbsaxcQc9TUapptP69lOjxfNuVAA2kjEA=

An anatomy of the DHCID record client-host 3600 IN DHCID AAIBY2/AuCccgoJbsaxcQc9TUapptP69lOjxfNuVAA2kjEA= looks like the below:
Host Label TTL Record Class Record Type DHCID RDATA
client-host.dynu.biz. 3600 IN DHCID AAIBY2/AuCccgoJbsaxcQc9TUapptP69lOjxfNuVAA2kjEA=
Host Label
The DNS name that the DHCP client is registering. This is the fully qualified domain name (FQDN) assigned to the DHCP client by the DHCP server.

TTL
The time-to-live in seconds. It specifies how long a resolver is supposed to cache or remember the DNS query before the query expires and a new one needs to be done.

Record Class
Mainly 3 classes of DNS records exist:
  • IN (Internet) – default and generally what internet uses.
  • CH (Chaosnet) – used for querying DNS server versions.
  • HS (Hesiod) – uses DNS functionality to provide access to databases of information that change infrequently.
Record Type
The record format is defined using this field. Common record types are A, AAAA, CNAME, CAA, TXT etc. In the case of a DHCID record, the record type is DHCID.

DHCID RDATA
The RDATA (resource record data) of a DHCID record is a Base64-encoded binary blob. It encodes three fields concatenated together:
  • Identifier Type Code (2 bytes) – Indicates which DHCP client identifier was used to generate the digest. Defined values are:
    • 0x0000 – The 1-octet htype followed by the hardware address from a DHCPv4 client's chaddr field.
    • 0x0001 – The data portion of the DHCPv4 client identifier option (option 61), excluding the type byte.
    • 0x0002 – The client's DUID (DHCP Unique Identifier) from a DHCPv6 client-identifier option (option 1).
  • Digest Type Code (1 byte) – Identifies the hash algorithm used to produce the digest. Currently only one value is defined:
    • 0x01 – SHA-256.
  • Digest (variable length) – The output of the hash function applied to the concatenation of the client identifier data and the fully qualified domain name (FQDN) being registered. For digest type 0x01, this is a 32-byte SHA-256 hash.
Because the RDATA is computed by the DHCP server, the full Base64 string is not typically constructed by hand.

DHCID record glossary


DHCP
Dynamic Host Configuration Protocol – a network management protocol used to automatically assign IP addresses and other network configuration parameters to devices on a network.

DDNS (Dynamic DNS updates)
The process by which a DHCP server automatically creates or updates DNS records (such as A and PTR records) when it assigns an IP address to a client. DHCID records are created as part of this process to prevent name conflicts between clients.

DUID
DHCP Unique Identifier – a value used in DHCPv6 to uniquely identify a DHCP client or server. A client's DUID persists across reboots and network changes, unlike a MAC address which can be spoofed or changed.

SHA-256
Secure Hash Algorithm 256-bit – a cryptographic hash function that produces a 32-byte digest. DHCID records use SHA-256 to hash the client identifier and FQDN, ensuring the stored value cannot be reverse-engineered to reveal client details.

FQDN
Fully Qualified Domain Name – the complete domain name for a host, including all labels up to the DNS root (e.g. client-host.dynu.biz.). The FQDN is included in the SHA-256 digest computation for a DHCID record.

BIND
Berkeley Internet Name Daemon – is the most commonly used DNS software on the Internet and Dynu observes BIND format.
Loading...