When we connect various network devices they communicate with each other using the TCP/IP protocol. And all the devices using TCP/IP must have a unique IP address assigned to them. Either we can manually configure those IP addresses, or we can do that dynamically, using the Dynamic Host Configuration Protocol (DHCP). Configuring the addresses is fairly simple, and easy for a small-sized network, but it is not feasible on a midsize or large network. We just have to configure a DHCP server with a range of addresses, called a pool, and other parameters like DNS server address and default gateway, and the DHCP server will automatically configure all the clients with relevant information. 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. First, when a DHCP enabled client joins a network, it sends a DHCPDISCOVER broadcast message within the local subnet. The DHCP server on the network hears the broadcast and checks its address pool for available IP addresses, and then sends a message called DHCPOFFER, containing the IP addresses and other parameters depending upon the configuration of the DHCP server. If there is no IP address available in the pool of the server then it won’t send any offer message. The client receives this offer and sends a DHCPREQUEST message to convey the acceptance of the offer sent by the server. The server then assigns that particular IP address to the client and sends a DHCPACK to the client to confirm the assignment. If the server is not able to accept the DHCPREQUEST due to any reason, it sends a DHCPNACK message and the client starts the entire DORA process again. When the client is assigned an IP, it sends an ARP (Address Resolution Protocol) request over the network to check if any other device is using the same IP, and if it detects that some other device is already using the same IP then it sends the DHCPDECLINE message to the server. 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.
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.
Click here for MCSE Certification