Computers on a IP networks need some essentials information before it
can communicate with other hosts. This information include an IP
address, and a default route and routing prefix. Configuring IP
addressing on a large TCP/IP-based network can be a nightmare,
especially if machines are moved from one network to another frequently.
DHCP eliminates the manual task by a network administrator. The Dynamic
Host Configuration Protocol (DHCP) can help with the workload of
configuring systems on a network by assigning addresses to systems on
boot-up automatically. It also provides a central database of devices
that are connected to the network and eliminates duplicate resource
assignments.
DHCP server may have three methods of allocating IP-addresses:
Static allocation:
The DHCP server allocates an IP address based on a table with MAC
address/IP address pairs, which are manually filled Only requesting
clients with a MAC address listed in this table will be allocated an IP
address.
Dynamic allocation: A network
administrator assigns a range of IP addresses to DHCP, and each client
computer on the LAN is configured to request an IP address from the DHCP
server during network initialization.
Automatic allocation:
The DHCP server permanently assigns a free IP address to a requesting
client from the range defined by the administrator. This is like dynamic
allocation, but the DHCP server keeps a table of past IP address
assignments, so that it can preferentially assign to a client the same
IP address that the client previously had.
Among these three method static and dynamic method are the most popular implementation.
How DHCP work
DHCP
provides an automated way to distribute and update IP addresses and
other configuration information on a network. A DHCP server provides
this information to a DHCP client through the exchange of a series of
messages, known as the DHCP conversation or the DHCP transaction.
DHCP discovery
The
client computers broadcasts messages on the physical subnet to discover
available DHCP servers. This client-computers creates a User Datagram
Protocol (UDP) packet with the default broadcast destination of
255.255.255.255 or the specific subnet broadcast address if any
configured.
DHCP offer
When a DHCP server receives an IP
lease request from a client, it reserves an IP address for the client
and extends an IP lease offer by sending a DHCPOFFER message to the
client. This message contains the client's MAC address, the IP address
that the server is offering, the subnet mask, the lease duration, and
the IP address of the DHCP server making the offer.
DHCP request
In
most companies, two DHCP servers provide fault tolerance of IP
addressing if one server fails or must be taken offline for maintenance.
So client could receive DHCP offers from multiple servers, but it will
accept only one DHCP offer. In response to the offer Client requests the
server. The client replies DHCP Request, unicast to the server,
requesting the offered address. Based on the Transaction ID field in the
request, servers are informed whose offer the client has accepted. When
other DHCP servers receive this message, they withdraw any offers that
they might have made to the client and return the offered address to the
pool of available addresses. In some cases DHCP request message is
broadcast, instead of being unicast to a particular DHCP server, because
the DHCP client has still not received an IP address. Also, this way
one message can let all other DHCP servers know that another server will
be supplying the IP address without missing any of the servers with a
series of unicast messages.
DHCP acknowledgement
When the
DHCP server receives the DHCPREQUEST message from the client, the
configuration process enters its final phase. The acknowledgement phase
involves sending a DHCPACK packet to the client. This packet includes
the lease duration and any other configuration information that the
client might have requested. At this point, the IP configuration process
is completed.
