A standard   Internet   protocol   that   enables   the   dynamic   configuration   of   hosts   on an   Internet   Protocol   (IP) internetwork. Dynamic Host Configuration Protocol (DHCP) is an extension of the bootstrap protocol (BOOTP).

How It Works?

DHCP is a client-server protocol that uses DHCP servers and DHCP clients. A DHCP server is a machine that runs a service that can lease out IP addresses and other TCP/IP information to any client that requests them. For example, on Linux System example Ubuntu you can install the DHCP Server service to perform this function. The DHCP server typically has a pool of IP addresses that it is allowed to distribute to clients, and these clients lease an IP address from the pool for a specific period of time, usually several days. Once the lease is ready to expire, the client contacts the server to arrange for renewal.

DHCP clients are client machines that run special DHCP client software enabling them to communicate with DHCP servers. All versions of Linux and Windows include DHCP client software, which is installed when the TCP/IP protocol stack is installed on the machine.

DHCP clients obtain a DHCP lease for an IP address, a subnet mask, and various DHCP options from DHCP servers in a four-step process:

1. DHCPDISCOVER:

The client broadcasts a request for a DHCP server.

2. DHCPOFFER:

DHCP servers on the network offer an address to the client.

3. DHCPREQUEST:

The client broadcasts a request to lease an    address    from    one    of    the    offering DHCP servers.

4. DHCPACK:

The DHCP server   that   the   client responds   to   acknowledges   the   client, assigns it   any   configured   DHCP options,   and   updates   its   DHCP database. The client then initializes and binds its TCP/IP protocol stack and can begin network communication.