DHCP Options



DHCP Options

DHCP (Dynamic Host Configuration Protocol) options are additional pieces of configuration information that can be provided by a DHCP server to DHCP clients during the lease negotiation process. 

These options offer a standardized way to communicate various parameters and settings to devices on a network dynamically. Each DHCP option is identified by a specific code, and the values associated with these codes convey specific types of information.

Here are some common DHCP options and what they typically do:

  1. Subnet Mask (Option 1): Provides the subnet mask information, allowing devices to understand the network's subnet structure.
  2. Router/Gateway (Option 3): Specifies the IP address of the default gateway or router that devices should use for routing traffic outside their local subnet.
  3. Domain Name Server (DNS) (Option 6): Supplies the IP addresses of DNS servers that devices can use to resolve domain names to IP addresses.
  4. Domain Name (Option 15): Specifies the domain name for devices on the network.
  5. Time Offset (Option 2): Provides the time zone offset in seconds from Coordinated Universal Time (UTC).
  6. NTP Servers (Option 42): Supplies the IP addresses of Network Time Protocol (NTP) servers, allowing devices to synchronize their clocks.
  7. Hostname (Option 12): Communicates the preferred host name for the client.
  8. Broadcast Address (Option 28): Informs devices about the broadcast address for their subnet.
  9. TFTP Server Name (Option 66): Specifies the hostname or IP address of a TFTP server. Often used in VoIP deployments for firmware updates.
  10. Bootfile Name (Option 67): Specifies the name of the boot file that devices should load from a TFTP server.


These options enhance the DHCP process by providing crucial configuration details, allowing devices to function properly within a network without manual configuration. DHCP options are particularly useful in scenarios where a large number of devices need to be configured dynamically and consistently across the network. Different DHCP options cater to various aspects of network configuration, from addressing to naming and time synchronization.


Options for IPv4 and IPv6

DHCPv4 (Dynamic Host Configuration Protocol for IPv4) and DHCPv6 (Dynamic Host Configuration Protocol for IPv6) have separate sets of options. Each version of the DHCP protocol has its own set of option codes to convey specific configuration information to DHCP clients.

While some options may serve similar purposes in both DHCPv4 and DHCPv6 (e.g., DNS options), the option codes and formats are different due to the differences in the underlying IP versions and the specific requirements of each protocol.


DHCP Option Configuration Levels

DHCP options can be applied at different levels within a DHCP server's configuration. The application of options depends on the DHCP server software Here are common places where DHCP options can be applied:

Global Configuration

Options can be set at the global level, affecting the entire DHCP server. This is useful for settings that are common to all scopes or subnets.

Subnet Level

DHCP options can be configured at the subnet level. Each subnet declaration in the DHCP server configuration can have its own set of options. This allows for customization based on the characteristics of each subnet.

Pool Level

Within a subnet, you define address pools. Options can be set at the pool level, affecting the devices that receive IP addresses from that specific pool. Useful for fine-grained control over specific ranges of IP addresses.

Client Class Level

Client classes group DHCP clients based on certain characteristics, such as hardware type, client identifier, or other parameters.This allows for customization based on the type or characteristics of DHCP clients. Once clients are grouped into classes, specific DHCP options can be applied selectively to those classes.

Host Level

Options can be set for specific hosts, providing individualized configuration parameters. This is useful when you need to apply specific settings to particular devices.

Shared Network Level

Options can be configured specifically for a shared network. Configurations at this level apply to all subnets within that shared network. It allows for common settings across multiple subnets.


In this example, options are set at the global level, subnet level, pool level, class level (for VoIP devices), and host level (for a specific device). 


Options precedence in DHCP


In ISC DHCP, options can be specified at multiple levels, and the server determines which options to apply to a client based on a defined precedence. The typical order of precedence for DHCP options in ISC DHCP is as follows:

  1. Host-Specific Options: The highest precedence. If options are defined for a specific host (identified by its MAC address or client identifier), these options override all others.
  2. Class and Subclass Options: If the host is a member of a defined class or subclass, options set for these take precedence next, unless overridden by host-specific options.
  3. Pool-Level Options: Options defined at the pool level come after class and subclass options. These are specific to a range of IP addresses and override subnet, shared-network, and global options for clients receiving an IP from that pool.
  4. Subnet-Specific Options: Options defined for a specific subnet. These are applied to all IPs within the subnet unless overridden by higher precedence options (like pool, class, subclass, or host).
  5. Shared-Network and Global Options: Shared-network level options come next, followed by global options which are the default settings across the entire DHCP server.
  6. Client-Requested Options: Lastly, if clients request specific options in their DHCP requests, the server will provide these options if they are available and configured, respecting the above precedence rules.


DDI  processes and applies the options according to these rules when determining the final set of options to send to a DHCP client in the offered lease. It's important to note that the most specific option will take precedence in the case of conflicts, with host declarations being the most specific and global options being the least specific.