When we want various connected network devices to communicate with each other they do that using the TCP/IP protocol. And, all the devices using TCP/IP must have a unique IP address assigned to them, either Ipv4 or IPv6. We can manually configure those IP addresses, or we can do that dynamically, using the Dynamic Host Configuration Protocol (DHCP). Configuring the addresses manually is fairly simple, and easy for a small-sized network, you just have to access each machine and configure the details. But it is not feasible on a midsize or large network. Even that can be made easy by using a DHCP server.
We just have to configure it with a range of addresses, called a pool, and other parameters like DNS server address and default gateway, and the DHCP server will automatically assign the relevant information to all the client devices. We can also reserve a few IP addresses from the pool to not be assigned to the clients. DHCP follows the DORA process, DORA being an acronym for Discover, Offer, Request, Acknowledge, to assign the configurations. Hence, we can say that deploying a DHCP server can help to save a lot of time for the network administrator. The IP addresses assigned by the DHCP server are valid for a certain period called a lease, and after that, the address is taken back from the client and put back in the DHCP pool. Therefore, a DHCP server helps us avoid the wastage of IP addresses, as the IP addresses that are returned to the pool can be assigned to other network devices. When a client moves to a different location, its access point changes, and if we are using a DHCP server, then we don’t have to reconfigure the device every time, as the DHCP server will do this on our behalf. If any of the configurations changes over the course of time, like the default gateway changes or the address of the DNS server changes, then we don’t have to change those configurations on every machine individually, we just have to make the change on the DHCP server, and the change will be done on all the client devices. It also helps us keep a track of which machine is using which configuration.
DHCP though very useful in a network has a major drawback, which can put the entire network at risk. DHCP is a single point of failure, if the DHCP fails, then the clients will not be able to get IP addresses. Therefore, we should try to incorporate redundancy or try load balancing on multiple DHCP servers to save the network from any fail-over.