The TCP/IP Guide - Version 3.0 (Contents) ` 1190 _ © 2001-2005 Charles M. Kozierok. All Rights Reserved.
DHCP Client/Server Implementation, Features and Issues
The three preceding sections describe the DHCP address leasing system, configuration
processes and messaging. Between them, these sections provide an explanation of all the
fundamentals of the operation of DHCP. With this foundation in place, we can now proceed
to look into some of the more interesting details of how DHCP is implemented. We can also
delve into some of the extra capabilities and special features that change the basic DHCP
mechanisms we have already studied.
In this section, I discuss DHCP client/server implementation issues, special features that
enhance the protocol, and some of the problems and issues related to making DHCP work.
I begin with a discussion of DHCP server and client implementation and management
issues. I discuss DHCP message relaying and how it is related to the relaying feature used
for BOOTP. I describe the DHCP feature for providing automatic default addressing when a
client cannot contact a server, and the conflict detection feature for multiple servers. I then
cover some of the issues related to interoperability of DHCP and BOOTP, and provide an
outline of some of the more important problems and issues related to DHCP security.
Background Information: This section assumes that you are already familiar with
the basic operation of DHCP. In particular, you should be sure that you have read
through and understood the section on DHCP operation before proceeding.
DHCP Server General Implementation and Management Issues
DHCP is a client/server protocol, relying on both server and client to fulfill certain responsi-
bilities. Of the two device roles, the DHCP server is arguably the more important, because it
is in the server that most of the functionality of DHCP is actually implemented. The server
maintains the configuration database, keeps track of address ranges and manages leases.
For this reason, DHCP servers are also typically much more complex than DHCP clients.
In essence, without a DHCP server, there really is no DHCP. Thus, deciding how to
implement DHCP servers is a large part of implementing the protocol. This overall chapter
is about describing the function of protocols like DHCP and not getting into details of how to
implement them. However, I feel it is useful to look at some of the general issues related to
how DHCP servers are set up and used, to help put into perspective how the protocol really
works.
DHCP Server Implementations
A “classical” DHCP server consists of DHCP server software running on a server hardware
platform of one sort or another. A DHCP server usually will not be a dedicated computer
except on very large networks. It is more common for a hardware server to provide DHCP
services along with performing other functions, such as acting as an application server,