In recent years with the rapid development of the wireless internet and mobile communication systems, the use of notebook computers, PDAs and portable systems is gradually increasing and has become popular. And most of the users may want to access the internet from anywhere in the world. However, when these mobile hosts move from one network to another, users have to change system configuration, including host IP address, default gateway, and name servers. In order to support the automatic configuration changes on these hosts, several technologies such as dynamic host configuration mechanisms or mobility support in the IP layer have been developed.
What is DHCP?
The DHCP is an internet protocol that lets network administrators centrally manage and automate the assignment of IP addresses in an organization’s network. Without the DHCP, the IP address must be entered manually at each host in an organization and a new IP address must be entered each time a host moves to a new location on the network.
DHCP refers to Dynamic Host Control Protocol. DHCP is responsible for dynamically assigning IP addresses to all the computers in a network immediately after the computer starts.
DHCP (Server) is used to automatically allocate IP addresses for all the computers in a computer network. When a computer / network device (client) is switched on, it automatically sends a broadcast message to discover the Dynamic Host Control Protocol Server. Once the Dynamic Host Control Protocol Server gets the broadcast message, it sends an offer (IP address + configuration details) to the client. When the client accepts it, the client sends an accept message and the server responds back with an acknowledgement message containing the duration for which the IP address has been leased to the client.
DHCP Server is included in the Network Server software packages like Windows 2008, Linux Network Server, etc. Many devices come with in-built Dynamic Host Control Protocol servers, especially for assigning IP addresses for wireless clients. Example – Wireless Controllers, Access Points, Routers, etc.
Why is a DHCP Server required?
- To avoid manual entry of IP address and configuration information for all the computers/ network devices individually.
- To prevent two computers/ network devices from having the same IP address (accidentally – due to manual configuration errors).
- To provide a central mechanism to keep track of all the assigned IP addresses in the network.
- To automatically reclaim unused IP addresses and re-assign them to other devices in the network.
- To make central configuration/ topology changes in the network easier.
- To dynamically allocate IP addresses to portable clients / wireless devices that keep moving from one place to another in the network.
How DHCP Works?
A DHCP server is used to issue unique IP addresses and automatically configure other network information. In most homes and small businesses, the router acts as the Dynamic Host Control Protocol server. In large networks, a single computer might act as the Dynamic Host Control Protocol server.
In short, the process goes like this: A device (the client) requests an IP address from a router (the host), after which the host assigns an available IP address to allow the client to communicate on the network. A bit more detail below…
Once a device is turned on and connected to a network that has a Dynamic Host Control Protocol server, it will send a request to the server, called a DHCPDISCOVER request.
After the DISCOVER packet reaches the Dynamic Host Control Protocol server, the server attempts to hold on to an IP address that the device can use, and then offers the client the address with a DHCPOFFER packet.
Once the offer has been made for the chosen IP address, the device responds to the Dynamic Host Control Protocol server with a DHCPREQUEST packet to accept it, after which the server sends an ACK that’s used to confirm that the device has that specific IP address and to define the amount of time that the device can use the address before getting a new one.
If the server decides that the device cannot have the IP address, it will send a NACK.
All of this, of course, happens very quickly and you don’t need to know any of the technical details you just read in order to get an IP address from a Dynamic Host Control Protocol server.
Figure: Working of Dynamic Host Control Protocol
DHCP IP address Allocation Method
DHCP server may have three methods of allocating IP-addresses:
Static allocation: The Dynamic Host Control Protocol 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 Dynamic Host Control Protocol, 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 Dynamic Host Control Protocol 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.
 HongIl Ju, and JongWook Han, “DHCP Message Authentication with an Effective Key Management”, World Academy of Science, Engineering and Technology International Journal of Computer and Information Engineering Vol: 1, No: 8, 2007
 Rajesh K, “DHCP – Dynamic Host Control Protocol”, available online at: http://www.excitingip.com/2274/dhcp-dynamic-host-control-protocol/
 “What Is DHCP? (Dynamic Host Configuration Protocol)”, available online at: https://www.lifewire.com/what-is-dhcp-2625848
 “How DHCP Server works Explained with Examples”, available online at: https://www.computernetworkingnotes.com/networking-tutorials/how-dhcp-server-works-explained-with-examples.html