Dynamic Host Configuration
Protocol (DHCP) Services
Introduction
With the rapid growth of TCP/IP
(Transmission Control Protocol/Internet Protocol, the
common transmission protocol for communicating over the
Internet) networks, tools are needed to automate
administrative functions in managing large TCP/IP
networks. The Dynamic Host Configuration Protocol (DHCP)
is a set of rules for dynamically allocating IP
addresses and configuration options to workstations on a
network. An IP (Internet Protocol) address is a 32-bit
binary number written as four decimal numbers separated
by periods that is used to uniquely identify a
workstation on the Internet. An Internet address (like
207.160.153.254 or 198.209.5.1) is analogous to a
telephone number. While the telephone network directs
calls to you by using your telephone number, the
Internet network directs data to you by using your IP
number. This number can be statically (or manually)
assigned by the administrator for a network workstation
or assigned to it dynamically by a central server.
|
Figure 1. DHCP Server and
Client |
How Does DHCP Work?
DHCP service runs on a central server
that dynamically assigns an IP address to individual PCs
or workstations (Figure 1). This protocol delivers IP
information on a local area network (LAN) or across
several LANs. DHCP reduces the work spent administering
statically assigned IP addresses on a large network. For
example, the administrator does not have to visit each
workstation on the network to configure it or manually
make changes to its IP address if there is a network
topology change. Other network configuration parameters
(such as gateway and DNS, Domain Name Services) can be
passed along to a workstation with the IP. We will
discuss a few of these important options.
The DHCP protocol provides a means of
passing configuration parameters to requesting DHCP
client workstation or hosts on a TCP/IP network. The
term host refers to any IP device on a network
such as a router, server or workstation. The term
client refers to a host requesting information from
another host or server that provides this information. A
server is a host that is running an application
or service that provides information to requesting
clients.
A DHCP server is a host on a network
that runs a DHCP service. The DHCP service listens to
network traffic waiting for DHCP broadcast requests.
Once a request is heard, the server responds to the
request with an IP address and additional (optional)
configuration parameters. When you set up the DHCP
service you designate what IP address ranges you wish to
distribute. You can also choose to pass Network Gateway
information and DNS address (Domain Name Services)
information. These are the most common though other
parameter options have been added in subsequent RFCs (RFCs
are Requests for Information. Begun in 1969, these
numbered documents are Internet information and
standards used by Internet professionals and software
developers. All Internet standards are recorded in RFCs,
though not all RFCs are standards. See References
section below for applicable RFCs).
History
DHCP was derived from the Bootstrap
Protocol (BootP). BootP was the first means of
delivering IP addresses dynamically to network devices
such as workstations and printers. With growing
networks, the BootP protocol was inadequate and DHCP was
created to support new demands. The primary difference
between the two is that BOOTP was designed for manual
pre-configuration of the host information in a server
database, while DHCP allows for dynamic allocation of
network addresses and configurations to newly attached
hosts. DHCP also has the capability to recover and
reallocate network addresses through a leasing
mechanism. See RFC 1534 for more information on the
interoperability between BootP and DHCP. The "Dynamic
Host Configuration Working Group" of the Internet
Engineering Task Force (IETF) created DHCP. The IETF is
a volunteer organization that helps define protocols for
use on the Internet.
DHCP Protocol Parameter Options
Additional workstation configuration
parameter options can be included in the DHCP protocol
during the DHCP session. These options are not a
required part of the protocol but are extensions of the
protocol that allow for optional configuration
parameters. RFC 1542 lists the basic options for DHCP
parameter information. Significant basic configuration
information distributed in this protocol with the IP
address might include:
- IP address and mask of the workstation
(required),
- Gateway address for the workstation to reach the
Internet,
- DNS (Domain Name Services) server so the
workstation can resolve Web addresses to IP address
on the Internet.
Additional options not discussed here
can include listing of other servers and services:
- Log Servers
- Time-Servers
- Cookie Servers
- Line Printers
Some of these options may further
enhance workstation configuration parameters such as
where to find the boot image or where to put a core dump
file. These are just a few of the basic options provided
under RFC 1542. Extensive other options are available
under subsequent RFCs though some are proprietary and
dependent on certain vendor specifications.
Who Supports This Protocol?
Most Network Operating Systems (NOS)
support DHCP, including Microsoft, Novell, IBM and UNIX
platforms. It is relatively easy to implement on any NOS,
has been around for some time and is pretty stable.
There are three methods for DHCP to
allocate IP addresses to workstations.
- Manual allocation
- Automatic allocation
- Dynamic allocation
In the manual allocation method,
the network administrator on the DHCP server manually
configures the client's IP address in the server. When
the client workstation makes the request for an IP
address, the server looks at the MAC address (Media
Access Control address; manufacture's unique address of
the network card) and assigns the client the manually
set IP address.
In the automatic allocation method,
the DHCP client workstation is assigned an IP address
when it first contacts the DHCP server. In this method
the IP address is randomly assigned and is not set in
the server. The IP address is permanently assigned to
the DHCP client and is not reused by another DHCP
client.
In the dynamic allocation method,
the DHCP server assigns an IP address to a requesting
client workstation on a temporary basis. The IP address
is leased to the DHCP client for a specified duration of
time. When this lease expires, the IP address is revoked
from the client and the client is required to surrender
the address. If the DHCP client still needs an IP
address to perform its functions, it can request another
IP address.
Running DHCP Services Across Multiple Networks
DHCP, by design, is not routable.
However most routers support a helper configuration
option, or relay-agent that allows DHCP requests to be
forwarded between connected or routed networks. You can
easily implement a single point of IP address management
across expanded local and wide area networks where the
DHCP server provides support for multiple IP address
blocks. Most network operating system developers are
adding additional support for the ever changing IP
addressing scheme. Several have adopted support for the
next release of the IP addressing scheme, IP Version 6
(an expanded IP address scheme changing the current
32-bit address to a 128-bit address).
Summary
DHCP is a protocol designed to save
time managing IPs on a large network. The DHCP service
runs on a network server that allows centralized
management of IP addresses to workstations on a network.
Most Network Operating Systems (or network servers)
support this feature and include it with their operating
system.
References
Reynolds, J., "BOOTP Vendor
Information Extensions," RFC 1497, USC/Information
Sciences Institute, August 1993.
Siyan K., "Novell Guide to Creating
Intranet Ware Intranets," 1997, Novell Inc.
Wobus J., jmwobus@syr.edu, "DHCP FAQ,"
4/8/1998. <web.syr.edu/~jmwobus/comfaqs/dhcp.faq.html>
Zam P., "DHCP," 4/19/98.
<http://www.rit.edu/~icsa750/Zam.htm> |