The TCP/IP Guide - Version 3.0 (Contents) ` 1151 _ © 2001-2005 Charles M. Kozierok. All Rights Reserved.
This is just a summary of the finite state machine, and does not show every possible event
and transition, since it is complex enough already. For example, if a client that received two
offers in the SELECTING state receives a DHCPNAK from its chosen server in the
REQUESTING state, it may choose to send a new DHCPREQUEST to its “second choice”
instead of starting over from scratch. Also, the client must have logic that lets it “time out” if
it receives no reply to sent messages in various states, such as not receiving any offers in
the SELECTING state. The next few topics discuss these matters in more detail.
Note also that the DHCP standard does not describe the DHCP server's behavior in the
form of a finite state machine, only the client's. Here too, there is more information on what
exactly DHCP servers do in the pages that follow.
I should also point out explicitly that this finite state machine applies to dynamically-
allocated clients; that is, ones with conventional leases. A device configured using
“automatic” allocation will go through the same basic allocation process, but does not need
to renew its lease. The process for manual allocation is somewhat different.
DHCP Lease Allocation Process
To implement DHCP, an administrator must first set up a DHCP server and provide it with
configuration parameters and policy information: IP address ranges, lease length specifica-
tions, and configuration data that DHCP hosts will need to be delivered to them. Host
devices can then have their DHCP client software enabled, but nothing will happen until the
client initiates communication with the server. When a DHCP client starts up for the first
time, or when it has no current DHCP lease, it will be in an initial state where it doesn't have
an address and needs to acquire one. It will do so by initiating the process of lease
allocation.
Notes on Lease Communication Descriptions
Before I begin, some notes about this description, which also apply to subsequent topics in
this section on DHCP lease communications:
REBINDING
The client has failed to
renew its lease with the
server that originally
granted it, and now seeks
a lease extension with any
server that can hear it. It
periodically sends
DHCPREQUEST
messages with no server
specified until it gets a
reply or the lease ends.
Client Receives DHCPACK: Some server on the network
has renewed the client's lease. The client binds to the new
server granting the lease, restarts the T1 and T2 timers, and
returns to the BOUND state.
Client Receives DHCPNAK: A server on the network is
specifically telling the client it needs to restart the leasing
process. This may be the case if a new server is willing to
grant the client a lease, but only with terms different than the
client’s current lease. The client goes to the INIT state.
Lease Expires: The client receives no reply prior to the
expiration of the lease. It goes back to the INIT state.
Table 189: DHCP Client Finite State Machine (Page 3 of 3)
State State Description Event and Transition