The TCP/IP Guide - Version 3.0 (Contents) ` 1129 _ © 2001-2005 Charles M. Kozierok. All Rights Reserved.
Of course, it's not like BOOTP was a bad protocol or anything. It certainly worked well, for
what it was capable of doing. It was also already widely deployed. Given these factors, it
really made no make sense to start over from scratch with DHCP. This was especially so
given that such a decision would have meant dealing with the inevitable “painful” transition,
as well as compatibility problems associated with having both BOOTP and DHCP around
for many years.
So, instead of tossing out BOOTP, DHCP was built upon it as a foundation. In it simplest
form, DHCP consists of two major components: an address allocation mechanism, and a
protocol that allows clients to request, and servers to provide, configuration information.
DHCP performs both functions in a manner similar to BOOTP, but with improvements.
Overview of DHCP Features
The most significant changes are in the area of address allocation, which is enhanced
through the support for dynamic address assignment mentioned above. Rather than using
a static table that absolutely maps hardware addresses to IP addresses, a pool of IP
addresses is used to dynamically allocate addresses. This allows addresses to be shared
amongst many machines, as well as providing other benefits. Dynamic addressing allows
IP addresses to be efficiently allocated, and even shared amongst devices. At the same
time, DHCP still supports static mapping of addresses for devices where this is needed.
The overall operation and communication between clients and servers is again similar to
that used by BOOTP, but with changes. The same basic request/reply protocol using UDP
was retained for communicating configuration information, but additional message types
were created to support DHCP's enhanced capabilities. BOOTP relay agents can be used
by DHCP in a manner very similar to how they are used by BOOTP clients and server. The
vendor information extensions from BOOTP were retained as well, but were formalized,
renamed DHCP options, and extended to allow the transmission of much more information.
The result of all of this development effort is a widely-accepted, universal host configuration
protocol for TCP/IP that retains compatibility with BOOTP while significantly extending its
capabilities. Today, DHCP is found on millions of networks worldwide. It is used for every-
thing from assigning IP addresses to multi-thousand-host corporate networks, to allowing a
home Internet access router to automatically providing the correct Internet configuration
information to a single user's computer.
The original DHCP specification was revised in March 1997 with the publishing of RFC
2131, also entitled Dynamic Host Configuration Protocol. This standard defined another
new DHCP message type to allow active IP hosts to request additional configuration infor-
mation. It also made several other small changes to the protocol. Since that time numerous
other DHCP-related RFCs have been published, most of which either define new DHCP
option types (other kinds of information DHCP servers can send to DHCP clients) or slightly
refine the way that DHCP is used in particular applications.