Why do DHCP servers lease IP address based on Option-61 (Client-ID)

cisco-iosdhcp

Why do DHCP servers (specifically Cisco) use "Client-ID Options", not the CHADDR (client MAC) in the DHCP request, for static binding?

From: Configuring DHCP

All DHCP clients send a client identifier (DHCP option 61) in the DHCP packet. To configure manual bindings, you must enter the client-identifier DHCP pool configuration command with the appropriate hexadecimal values identifying the DHCP client.

  1. Router(dhcp-config)# client-identifier unique-identifier
  2. Router(dhcp-config)# hardware-address hardware-address type
  1. For DHCP Req.
  2. For BOOTP Req.

Best Answer

Mostly because that's what the specs say you should use. While the client-id will almost always include (or entirely be) a MAC, it's a bad habit as NICs do sometimes get replaced (failures, upgrades, etc.) Most DHCP clients allow the user to specify an identifier.

BOOTP has no choice, as it has no such option(s). BOOTP predates DHCP, and is far, far, simpler.

(consult the RFC's if you really want to know how it all works.)