Question

Difficulty: HardDHCP Architecture and Relay Services

A client host connected to a remote VLAN requires an IPv4 address lease from a centralized DHCP server located across a Layer 3 boundary router configured with a DHCP relay agent (ip helper-address). Arrange the packet forwarding, header modifications, and protocol processing steps of the initial DHCP lease negotiation in the correct chronological order from first to last.

  1. 1The host broadcasts a DHCPDISCOVER frame on UDP port 67 within its local broadcast domain.
  2. 2The relay agent intercepts the broadcast, writes its local interface IP address into the giaddr header field, and unicasts the frame to the DHCP server on UDP port 67.
  3. 3The DHCP server evaluates the giaddr field, selects an available lease from the matching IP address pool, and sends a unicast DHCPOFFER to the relay agent IP address.
  4. 4The relay agent receives the unicast offer and forwards a DHCPOFFER packet on UDP port 68 to the client host's local subnet.
  5. 5The host receives the offer and broadcasts a DHCPREQUEST frame on UDP port 67 to formally accept the offered configuration parameters.

Answer

The correct chronological order of the cross-VLAN DHCP discovery and lease offer process is: (1) Host broadcasts a DHCPDISCOVER frame on UDP port 67 locally -> (2) Relay agent intercepts the broadcast, populates the giaddr header field with its interface IP, and unicasts the packet to the DHCP server on UDP port 67 -> (3) DHCP server inspects the giaddr value to select the matching scope pool and unicasts a DHCPOFFER back to the relay agent -> (4) Relay agent forwards the DHCPOFFER on UDP port 68 to the client host -> (5) Host broadcasts a DHCPREQUEST frame on UDP port 67 to accept the offer.
The cross-VLAN DHCP process follows a strict sequence: First, the host broadcasts a DHCPDISCOVER packet on UDP port 67 into its local subnet. Next, the Layer 3 relay agent intercepts this broadcast, writes its ingress interface IP address into the giaddr header field, and unicasts the modified packet across the routed network to the DHCP server on UDP port 67. Upon receipt, the DHCP server evaluates the giaddr value to select the correct IP scope pool and unicasts a DHCPOFFER back to the relay agent's IP. The relay agent then forwards this DHCPOFFER to the local client subnet on UDP port 68. Finally, the client host broadcasts a DHCPREQUEST on UDP port 67 to formally confirm its intent to lease the offered IP configuration.

Step-by-Step Solution

1
Identify the initial packet transmission generated by the unconfigured client host.
The host broadcasts a DHCPDISCOVER packet locally (destination 255.255.255.255) using UDP destination port 67.
Because the host lacks an IP address, it must use a local broadcast to discover listening DHCP services on its segment.
2
Determine how the Layer 3 router's relay agent processes the incoming local broadcast.
The relay agent captures the broadcast, sets the giaddr (Gateway IP Address) field to its ingress interface IP, and unicasts the packet to the remote DHCP server on UDP port 67.
Routers drop Layer 2/3 broadcasts by default; the relay agent turns the broadcast into a routable unicast packet while embedding the subnet context via giaddr.
3
Analyze how the centralized DHCP server handles the relayed unicast packet and constructs its response.
The DHCP server matches the giaddr field to its configured address pools, allocates an available IP from that specific scope, and sends a unicast DHCPOFFER back to the relay agent's IP.
The server uses giaddr rather than the source IP of the relay agent packet to determine which network scope to lease an address from.
4
Trace the delivery of the lease offer from the relay agent back to the target host.
The relay agent forwards the DHCPOFFER frame onto the local client VLAN targeting UDP destination port 68.
The relay agent translates the unicast server reply back to the local client segment, directing it to client port 68.
5
Identify the client host's action upon receiving and accepting the offer.
The client host broadcasts a DHCPREQUEST message on UDP port 67.
Broadcasting the request notifies all DHCP servers that an offer was accepted, allowing other servers to release any implicitly reserved leases.

Key Concept

DHCP Relay Operation, Header Modification (giaddr), and DORA Packet Traversal
Rate this question