What is DHCP?Dynamic Host Configuration Protocol
Dynamic Host Configuration Protocol (DHCP) is a network management protocol used to automate the process of configuring devices on IP networks, thus allowing them to use network services such as DNS, NTP, and any communication protocol based on UDP or TCP. A DHCP server dynamically assigns an IP address and other network configuration parameters to each device on a network so they can communicate with other IP networks. DHCP is an enhancement of an older protocol called BOOTP.
Configuration Data Sent by DHCP Server and Key Values
The basic flow is that a DHCP server hands out configuration data, based on the administrator’s policy, to a requesting client. Common network parameters (sometimes referred to as “DHCP Options”) requested include subnet mask, router, domain name server, hostname and domain name).
As the requesting client has no IP address when joining the network, it broadcasts the request. The protocol is thus used in a very early stage of IP communication. If such dynamic protocol is not used to get an IP address, the client has to use a predefined IP address generally called “static IP address”, which is manually configured on the client network interface in configuration files or with a specific command.
The DHCP service brings three key values: 1) Operation tasks are reduced: the network administrator no longer needs to manually configure each client before it can use the network 2) The IP addressing plan is optimized: addresses no longer being used are freed up and made available to new clients connecting 3) User mobility is easily managed: the administrator doesn’t need to manually reconfigure a client when its network access point changes.
DHCP Lease Time Management
The IP address information assigned by DHCP is only valid for a limited period of time, and is known as a DHCP lease. The period of validity is called the DHCP lease time. When the lease expires, the client can no longer use the IP address and has to stop all communication with the IP network unless he requests to extend the lease “rent” via the DHCP lease renewal cycle. To avoid impacts of the DHCP server not being available at the end of the lease time, clients generally start renewing their lease halfway through the lease period. This renewal process ensures robust IP address allocation to devices. Any device asking for a new IP version 4 address at arrival on the network and not receiving an answer will use automatic private internet protocol addressing (APIPA) to select an address. These addresses are in the network range 169.254.0.0/16.
There are four key DHCP usage scenarios: 1. Initial Client Connection: the client requests from the DHCP server an IP address and other parameter values for accessing network services 2. IP Usage Extension: the client contacts the DHCP server to extend usage of its current IP address 3. Client Connection After Reboot: the client contacts the DHCP server for confirmation that it can use the same IP address being used before reboot 4. Client Disconnection: the client requests the DHCP server to release its IP address.
DHCP options can be used to automatically provide clients with information on the network services it can use. This is a very efficient way to push the IP address of the time server, the mail server, the DNS server and the printer server. This can also be used to provide a file name and a file server that will be used by the client to start a specific boot process – mainly used for IP phones and Wi-Fi access points, but can also be used for auto-installing clients and servers with PXE (Preboot eXecution Environment).
Implementation of DHCP Service
The original and most comprehensive implementation of the DHCP service is offered by the Internet Systems Consortium (ISC). Supporting both IPv4 and IPv6, ISC DHCP offers a complete open source solution for implementing DHCP servers, relay agents, and clients. Other DHCP Server products include the Microsoft DHCP server.
The DHCP service can be enhanced by DHCP failover to bring high availability and load balancing of traffic. The ISC DHCP Failover relies on having a pair of collaborating servers – a primary (master) server and a secondary (backup) server. A TCP-based communication channel, called a failover channel, then has to be set up between the two servers.