The Dynamic Host Configuration Protocol (DHCP) dynamically assigns IP addresses to devices upon network connection. When a device joins the network, the DHCP server automatically provides an IP address, subnet mask, and default gateway without manual configuration. The fundamental part of the DHCP workflow is the DORA process.
DORA stands for Discover, Offer, Request, and Acknowledge. This process ensures that the client and the DHCP server communicate effectively to allocate IP addresses and other network settings dynamically. It comprises four steps, which are illustrated in the following diagram.
When a device joins a network, it typically doesn’t have an assigned IP address. It won’t know the address of the DHCP server either. In that case, the client broadcasts a Discover message sent to every connected device. The client sets the hardware address field to all zeros, indicating that it’s a broadcast request. This request is always generated at port 67
. The Discovery message looks as follows:
Source IP: 0.0.0.0 (Client's IP, usually 0.0.0.0 since it doesn't have an IP yet)Destination IP: 255.255.255.255 (Limited broadcast)Source Hardware Address: [Client's MAC address]Destination MAC address: FF:FF:FF:FF:FF:FF
The client device broadcasts the DHCP Discover message to the local network. It uses the destination IP address 255.255.255.255
and the destination MAC address FF:FF:FF:FF:FF:FF
, indicating a broadcast message intended for all devices on the local network. Because the client does not yet have an IP address, it uses the source IP address 0.0.0.0
in the DHCP discover message.
After the client generates the Discover request, the DHCP server unicasts an Offer to the client regarding the available IP address and configuration details the servers are willing to lease to the client. This Offer is generated at port 68
and looks like this:
Source IP: [Offered IP address]Destination IP: [Server IP address]Source Hardware Address: [DHCP Client's MAC address]Destination MAC address: [DHCP Server's MAC address]
In a DHCP Offer message, the Source IP
is the IP address the server offers to the client, the Destination IP
is the server’s IP address, the Source Hardware Address
is the client’s MAC address, and the Destination MAC address
is the server’s MAC address. This information facilitates communication between the client and the server during the DHCP process.
After receiving an Offer from the server, the client selects the configuration and requests the server to assign it. But this time, it broadcasts the message to each DHCP server that makes the offer to know about the accepted offer. This broadcast is generated on port 67
, allowing the DHCP servers to confirm the assignment. The Request message appears as follows:
Source IP: 0.0.0.0Destination IP: 255.255.255.255Source Hardware Address: [DHCP Client's MAC address]Destination MAC address: [DHCP Server's MAC address]
At this stage, the client broadcasts this message to the whole network about the acceptance of the offer so that it uses the Destination IP
as 255.255.255.255
and the Source IP
as 0.0.0.0
because no IP is assigned yet.
In the end, after the confirmation of the configurations and IP addresses, the server broadcasts a message to confirm the lease of the IP address and configuration settings to the client. This acknowledgment indicates that the client can configure its network interface with the provided information. This message is also generated at port 68
. The acknowledged message is as follows:
Source IP: [Assigned IP address]Destination IP: 255.255.255.255Source Hardware Address: [DHCP Client's MAC address]Destination MAC address: [DHCP Server's MAC address]
The DHCP ACK message is important because it tells the DHCP client it can now use the IP address it has been assigned. Without the DHCP ACK message, the DHCP client can communicate with other devices on the network. By using the broadcast IP address as the destination IP, the DHCP server ensures that all devices on the network can see the DHCP ACK message.
The table given below provides a comprehensive overview of the essential elements of the DORA process
Process | Destination | Port |
Discover | Broadcast | 67 |
Offer | Unicast | 68 |
Request | Broadcast | 67 |
Acknowledge | Broadcast | 68 |
In conclusion, the DORA process is the main ingredient in assigning network configurations to the newly connected devices in the DHCP workflow. It’s a structured approach to requesting and confirming network configuration, making DHCP an essential protocol for dynamically simplifying network management and IP address assignment.
Free Resources