DHCP allows you to give a host an IP address, but it also allows you to send a lot more information to the host through the use of options. DHCP options are internationally agreed-upon numbers, with an associated value, that represent specific information or settings.
In DHCP for IPv4 (DHCPv4), for example, you can tell a host what DNS server it should use by sending the host option number 6, the “DNS Servers” option, along with the ip address of the DNS server it should use. When a host receives option number 6 and the associated ip address, it knows that this address is the DNS server it should use.
The DHCPv4 protocol defines a large set of standardized options that send useful information to hosts. It also defines options that a host can send to the DHCP server for cases where the server may be able to use that information.
DHCP for IPv6 (DHCPv6) also defines a large (and growing) set of standardized DHCP options. DHCPv6 options often carry the same information as DHCPv4 options, but the option numbers are distinctly different between these two protocols. This means that option number 6 means one thing in DHCPv4, but it means something else in DHCPv6.
In either case – DHCPv4 or DHCPv6 – there are times when the host or server may need to transmit information that’s not internationally standardized. An IP-TV set top box may want to receive a URL to display when first turned on, but this information is not part of any DHCP standard. One way to achieve this is with Vendor-Specific Options.
The Weird Solutions DHCP server supports vendor-specific options for both DHCPv4 and DHCPv6. (There are, in fact, two separate standards for vendor-specific options in DHCPv4, and the server supports both.)
Vendor-specific options allow a specific vendor (such as Microsoft(R), Google(R) or Joe’s Networked Microwave Ovens) to define a set of DHCP options that really only make sense for their device or operating system. Joe’s Networked Microwave Ovens may be willing to accept a “max power level” setting from a DHCP server, whereas Microsoft’s Windows(R) may be willing to accept an HTTP proxy address for use with a web browser.
In both cases, the vendors can define their own, private DHCP options that can be transmitted between the DHCP client and server. These are vendor-specific options.
How are vendor-specific options merged into the standard DHCP protocol? They’re packed inside a standardized option called the “Vendor-Specific Option”. The DHCPv6 Vendor-Specific Option is option number 17. DHCPv4 defines two Vendor-Specific Options: 43 and 125.
The Vendor-Specific Option is a sub-encoded option. This means that instead of holding strings or ip addresses, this option holds other options. The Vendor-Specific Option itself is an internationally recognized standard DHCP option, but the options it holds are not. This means that all DHCP clients and servers understand when they’ve received vendor-specific options, but they don’t necessarily understand what the actual vendor-specific options are or what they mean.