Excerpted from http://www.more.net/technical/netserv/tcpip/dhcp.html

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

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>