What DHCP is and Why it’s Here
![]() Simple DHCP Host-Server illustration From
Peterson-Davie |
Dynamic
Host Configuration Protocol (DHCP) was developed by the Internet Engineering
Task Force, a volunteer organization, to create a standard protocol for
“Dynamic Addressing” over large-scale networks, with special regard to the
largest network of all, the Internet.
Dynamic
Addressing was developed especially for these large networks, in order to
improve their performance and manageability.
DHCP uses dynamic addressing to send configuration information from a
host to many clients. The most
important part of this information is the IP address.
Dynamic
Addressing is performed by an algorithm that simply assigns configuration
information, such as an Internet Protocol (IP) address, to a particular node or
host in a network, rather than having a (less reliable, higher paid) human
perform the same task manually. Prior
to Dynamic Addressing, network administrators would have to add IP addresses
manually to their domain every time a new node was put into their network.
They would set the new node to this new IP address, and work in this
time-consuming, static fashion. One
of the reason things were done this way was that nodes on a network were often
identified by their IP address. For
example, if a computer had an IP address of 24.123.123.12, then that individual
computer could be picked out on the network.
Dynamic
addressing was created to speed up the process of determining addresses for
every node on the network. A
node on the network, would no longer “own” a single IP address, but would
have a temporary “lease” on an IP address, set to expire at a specified
time. What would be done now was
that a DHCP Server, loaded with this address-determining algorithm, would be
called by every node on the network, and would
“lease out” IP addresses to everyone on the network, depending on the
internet domain size that it had available.
The network administrator does not have to figure out IP addresses for
everyone on the network; additionally, IP addresses can actually be shared
between nodes in the network. For
example, if there are 200 terminals, but only 100 are ever on at the same time,
then we need 200 IP addresses with Static addressing.
With DHCP, we only need to distribute 100 addresses.
With only 32 bits per IP address, domain space for IP addresses is
limited! This helps free up many of
the addresses that would be idle, without DHCP.
DHCP
simply is a Protocol to send a collection of parameters, known as a binding,
which includes an IP address as a bare minimum, from host to server, and server
to host. One DHCP server is
required for an Administrative domain, which could include many networks.
The first step in the process of being given an IP address starts by a
host broadcasting a “DHCPDISCOVER” message across the network, along with
its binding. These bindings are
passed along directly to the DHCP server the by routers or servers known as
BOOTP relay agents.
BOOTP
is a previous dynamic addressing algorithm, upon which DHCP is based upon.
DHCP is a superset of BOOTP. The
main difference between the two Dynamic Addressing Protocols being that DHCP has
a mechanism for the serial reassignment of IP addresses.
BOOTP merely gave out IP addresses, and did not have a recycling
methodology, as DHCP has. The
message format for BOOTP and DHCP are similar and backward-compatible.
From
these BOOTP relay agents, the bindings are passed along to a DHCP server.
This is simply an Internet host, which runs a DHCP application, which can
then pass this information back to its clients, with the “DHCP ACK” message,
with the IP address portion on the binding already filled out for the clients,
who in turn use this information to set their configuration settings.
In a nutshell, this is how IP addresses are assigned on the internet.
To
illustrate, the computer I am typing this paper on is plugged into the Comcast
network. My IP address is
24.140.153.64. This was determined
by my DHCP server, which by looking at its IP address is obviously on the same
network, at 24.34.240.34. My
“Lease” on the IP address was given to me on 2/21/03 at 1:45 PM.
This
reassignment of leases on IP addresses is the main characteristic of DHCP.