DHCPv4 Overview

DHCPv4 is based on the Bootstrap Protocol and provides configuration parameters to DHCP clients on request.

Note

Note

DHCP was first described in RFC 2131. It has been amended multiple times since.

DHCP is a client-server protocol where one or more dedicated and designated servers allocate network address and other configuration parameters to dynamically configured hosts. DHCP removes the need to configure devices individually. Instead, clients set their network properties by connecting to the designated DHCP server. This protocol consists of two components: a protocol to deliver host-specific configuration parameters from a DHCP server to a host and a mechanism to allocate network addresses to hosts.

DHCP supports three different mechanisms for allocating IP addresses to Clients. They are:
  • Automatic allocation - where DHCP server assigns a permanent IP address to the Client.
  • Dynamic allocation - where the DHCP server assigns an IP address for a specific period of time. This allocation is revoked automatically at the expiry of the specific time duration or when the Client voluntarily relinquishes the allocated IP address.
  • Manual Allocation - where the Client's IP address is assigned by the network administrator and the DHCP server is used to convey the assigned IP address to the Client.

DHCP Message Exchange

DHCP has a client-server model, where designated DHCP server hosts allocate network addresses and deliver configuration parameters to dynamically configured hosts. DHCP uses a four-message exchange between client and server: DHCPDISCOVER, DHCPOFFER, DHCPREQUEST, and DHCPACK.

Click to expand in new window
DHCP Message Exchange
DHCP Message Exchange

This is a typical message exchange between a DHCP Client and the DHCP Servers in the network where the DHCP Client requests an IP address for the first time.

DHCP Message Contents

Some of the primary configuration parameters that are shared from a DHCP Server to DHCP Clients are:

After obtaining the parameters through DHCP, a Client will be able to exchange packets with other hosts in the local network and Internet.