The Need for DHCP
Network administrators cannot expect
end users and even IT personnel to be able to manually configure each
network device’s IP address settings. Furthermore, many end users may
not even have the permissions to change network configurations. Because
of these and other challenges, DHCP services are
required on most networks to enable network connectivity. Also, many
devices do not provide an interface simple enough or readily available
to configure network settings. DHCP provides a simple way to not only
deliver IP addressing from a central administrative point, but it also
allows the network administrators to control how these devices actually
connect to the network and greatly enhance the management of these
network-connected devices through this service.
Outlining DHCP Predecessors: RARP and BOOTP
Before the DHCP service was developed, two
predecessors provided the first implementations of automated IP
addressing. The first was the Reverse Address Resolution Protocol
(RARP), and the second was the Bootstrap Protocol (BOOTP).
To understand RARP, an IT administrator
should first understand the Address Resolution Protocol (ARP). Each
network adapter, wired or wireless, has a unique address burned into
it. This address never changes and it called the Media Access Control
(MAC) address. The ARP stores IP address-to-MAC address information.
For example, if you know the IP address of a system on the network, the
ARP table will provide the corresponding MAC address associated with
that IP address. On most systems and network devices, the ARP table is
built dynamically based on previous and current connections, but only
for systems on the same network segment. RARP tables, however, are the
reverse in both the fact that they are not dynamically built and they
are MAC-to-IP resolution.
The RARP service allows a newly connected
system to broadcast its MAC address on the network and the RARP service
will respond with the assigned IP address. This allows the new system
to basically connect dynamically to the network. A few catches exist,
however. The first catch is that the RARP administrator must first
collect that new system’s MAC address and create an entry on the RARP
table on the service with a corresponding IP address. The next catch is
that RARP delivers a system an IP address but no other networking
information, such as a subnet mask, router IP address, or DNS server or
other networking options. The RARP service was limited to usage on a
single flat network, but was useful in its time.
The next predecessor is the BOOTP service.
The BOOTP service provided an IP address to clients requesting one, but
did not require a predefined table of related MAC and IP addresses.
BOOTP was designed to not only get a system connected, but to also
provide additional information to systems looking to load or boot an
operating system stored on the network. BOOTP is still used today for
some network boot implementations but has been superseded by the DHCP
service.
Examining the DHCP Client Service
The DHCP client service is the client-side
service that requests an IP address from the network. Depending on the
system’s network adapter configuration, the DHCP client service may be
active or inactive and, if the client is leveraging network boot, can
come in the form of a BOOTP or PXE client controlled by the system
board. The Windows DHCP client service, however, is managed by the
configuration stored within the Microsoft operating system and,
furthermore, on each adapter. If the adapter senses a network
connection and the IP address configuration is configured for automated
IP addressing, the DHCP client service broadcasts the request for an IP
address, and when the data is received from the server, the DHCP client
service applies the lease information to the appropriate adapter and
enables network communications. With the DHCP IP address lease, there
is an important piece of information delivered, known as the lease
duration. The lease duration informs the client how long the IP address
can be used before the client must check back with the DHCP server to
renew the lease or get a new lease. The DHCP client caches this
information, and when the lease duration is nearly up or when the
system is restarted or the network is reinitialized, the DHCP client
contacts the DHCP server to ensure the lease can still be used so that
it can be renewed or replaced with a new lease.
In addition, on Microsoft systems,
the DHCP client service also manages the Dynamic DNS registration of
the client if there is a Dynamic DNS server available. This is true
unless the DHCP server service is mandating that DHCP leases have their
dynamic DNS registration handled by the server itself.
Exploring the DHCP Server Service
The DHCP server service is the latest
implementation of automated network addressing in use today. The DHCP
server service can provide all the same functionality of a BOOTP
service, but can also provide additional information to clients who are
requesting an IP address. The DHCP server service provides a client an
IP address in three steps:
1. DHCP client boots and broadcasts a DHCP IP request to all nodes on the local network.
2.
A DHCP server on the local network receives the request and prepares to
distribute an IP address to this client in the form of a DHCP IP
address lease.
3. After the DHCP
server has determined the right prerequisite information from that
client request, it issues the client with a DHCP IP address lease,
including additional DHCP lease options such as subnet mask, default
gateway, and most likely, DNS server IP addresses.