DHCP DORA process

Dynamic Host Configuration Protocol (DHCP) is used to dynamically assign IP addresses and parameters on network devices. DHCP uses the DORA process, which comes from the order of the exchange of messages that takes place for a client to receive IP addressing information from a DHCP server:

  • Discover
  • Offer
  • Request
  • ACK

The process goes as follows:

On the left side we have a computer without IP address. On the right side there’s a DHCP server configured with static IP address 192.168.1.254. This DHCP server will supply an IP address to our computer, this is how it works:

dhcp-discover-1.png

The computer will send a DHCP discover message. This is a broadcast because it doesn’t have an IP address and it doesn’t know if there is a DHCP server on the network. Of course in our scenario we do have a DHCP server so it will respond to this broadcast as following:

dhcp-offer.png

The DHCP server will respond with a DHCP offer message. This is typically sent in unicast, although there are cases where it would be sent as a broadcast. The Offer contains an IP address for the computer (we have to configure the DHCP server to define which IP addresses we want to give). If we want we can also assign a default gateway and DNS server(s) to the computer. The computer will respond to this information:

dhcp-request.png The computer will send a DHCP Request in response to the DHCP offer message, asking nicely if it’s OK to use the information that it has received. The request is sent as a broadcast. Our DHCP server will respond to this as following:

dhcp-ack.png

The DHCP server will respond with a DHCP ACK message, typically unicast, to tell the computer it’s OK to use this information.

Links:

https://forum.networklessons.com/t/introduction-to-dhcp/970/75?u=lagapidis

https://networklessons.com/cisco/ccie-routing-switching/introduction-to-dhcp/

https://datatracker.ietf.org/doc/html/rfc2131