DHCP uses eight standard message types, which are identified
by an option type number in the DHCP message. For example, when
a client wants to find a DHCP server, it broadcasts a DHCPDISCOVER
message on its local physical subnetwork. If there is no DHCP server
on its subnet and if DHCP Helper or DHCP Relay is configured properly,
the message is forwarded to DHCP servers on a different physical
subnet. Otherwise, the message will go no further than the subnet
on which it originated. One or more DHCP servers will respond with
a DHCPOFFER message that contains an available network address and
other configuration parameters.
When the client needs an IP address, it sends a DHCPREQUEST to
one or more servers. Of course if the client is requesting an IP
address, it doesn’t have one yet, so RFC 2131 requires that the broadcast
message the client sends out have a source address of 0 in its IP
header.
When a client requests configuration parameters from a server,
it might receive responses from more than one server. Once a client
has received its IP address, it is said that the client has at least
an IP address and possibly other configuration parameters bound to
it. DHCP servers manage such binding of configuration parameters
to clients.
The following table lists the DHCP messages.
DHCP Message
Description
DHCPDISCOVER
Client broadcast to find available DHCP
servers.
DHCPOFFER
Server response to client’s DHCPDISCOVER,
offering configuration parameters.
DHCPREQUEST
Client message to one or more servers to
do any of the following:
Request parameters from one
server and implicitly decline offers from other servers.
Confirm that a previously allocated address is correct after,
for example, a system reboot.
Extend the lease of a network address.
DHCPACK
Server to client acknowledgment message
containing configuration parameters, including a confirmed network
address.
DHCPNAK
Server to client negative acknowledgment
indicating the client’s understanding of the network address is
incorrect (for example, if the client has moved to a new subnet),
or a client’s lease has expired.
DHCPDECLINE
Client to server message indicating the
network address is already being used.
DHCPRELEASE
Client to server message giving up the user
of the network address and canceling the remaining time on the lease.
DHCPINFORM
Client to server message requesting only
local configuration parameters; client has an externally configured
network address.