A DHCP Relay Agent allows DHCP clients and DHCP servers located on different IP subnets to communicate.
DHCPv4 clients normally begin the address-assignment process using local broadcast messages because they do not yet have a usable IPv4 address and may not know where the DHCP server is located.
Routers normally do not forward these local broadcasts between IP subnets.
A DHCP Relay Agent solves this problem by receiving DHCP messages on the client subnet and forwarding them toward a DHCP server located elsewhere in the routed network.
A relay can commonly operate on a:
- Router
- Layer 3 switch
- Firewall
- Server
- Other supported network device

Why DHCP Relay Is Required
Consider this network:
Client Network: 192.168.10.0/24
Default Gateway: 192.168.10.1
DHCP Server Network: 10.10.10.0/24
DHCP Server: 10.10.10.20
A new client connects to:
192.168.10.0/24
The client does not yet have an address such as:
192.168.10.50
because DHCP has not completed.
During initial address acquisition, the client may send traffic similar to:
Source IP: 0.0.0.0
Destination IP: 255.255.255.255
Client UDP Port: 68
Server UDP Port: 67
The DHCPDISCOVER is limited to the local broadcast domain.
The router separating:
192.168.10.0/24
from:
10.10.10.0/24
does not normally forward this local broadcast as an ordinary routed packet.
The DHCP Relay Agent receives the message and forwards it toward:
10.10.10.20
Centralized DHCP Design
With DHCP Relay, a single DHCP infrastructure can serve many networks.
For example:
VLAN 10: 192.168.10.0/24
VLAN 20: 192.168.20.0/24
VLAN 30: 192.168.30.0/24
DHCP Server: 10.10.10.20
The Layer 3 gateway for each VLAN can act as a DHCP Relay Agent.
The DHCP server can then maintain separate scopes for:
- VLAN 10
- VLAN 20
- VLAN 30
This avoids the need to deploy a separate DHCP server in every subnet.
How DHCP Relay Works
DHCP Relay participates in the familiar DHCPv4 DORA process:
- Discover
- Offer
- Request
- Acknowledge
The DORA exchange still occurs between the client and DHCP server, but the relay carries the DHCP messages between routed networks.
Step 1 — Client Sends DHCPDISCOVER
A new client sends a DHCPDISCOVER on its local network.
Client State: No usable IPv4 address
Source IP: 0.0.0.0
Destination IP: 255.255.255.255
Message: DHCPDISCOVER
The DHCP Relay Agent receives the request on the client-facing interface.
Step 2 — Relay Forwards the Request
The relay processes the client request and forwards the DHCP message toward one or more configured DHCP servers.
For example:
DHCP Server: 10.10.10.20
One of the most important fields involved in DHCPv4 relay operation is:
giaddr
giaddr stands for:
Gateway IP Address
Step 3 — Relay Populates GIADDR
Suppose the client-facing Layer 3 interface is:
192.168.10.1/24
The relay may forward the DHCP request with:
giaddr: 192.168.10.1
This provides the DHCP server with relay and subnet context associated with:
192.168.10.0/24
Step 4 — Server Selects the Correct Scope
The DHCP server receives the relayed request.
It can use giaddr to determine which address pool should be used.
Example:
giaddr: 192.168.10.1
Matching DHCP Scope:
192.168.10.0/24
Available Address:
192.168.10.50
The DHCP server can then generate a:
DHCPOFFER
containing configuration appropriate for the client’s subnet.
Step 5 — Server Sends DHCPOFFER
When giaddr is populated, the server sends its response toward the relay according to DHCP relay behavior.
The relay then delivers the offer to the client network.
Step 6 — Client Sends DHCPREQUEST
The client selects an offer and sends:
DHCPREQUEST
The relay again forwards the request toward the DHCP server.
Step 7 — Server Sends DHCPACK
The DHCP server confirms the allocation with:
DHCPACK
The response may contain:
IP Address: 192.168.10.50
Subnet Mask: 255.255.255.0
Default Gateway: 192.168.10.1
DNS Server: 10.10.10.53
Lease: 8 Hours
Step 8 — Relay Delivers the ACK
The relay delivers the server response to the client network.
The client can now configure:
192.168.10.50/24
and begin normal IPv4 communication.

GIADDR and DHCP Option 82
Two important DHCP Relay concepts are:
giaddr- DHCP Option 82
They are related to relay operation but serve different purposes.
What Is GIADDR?
giaddr is a field in the DHCP/BOOTP message header.
A DHCP Relay Agent normally uses it to provide information about the network from which the client request arrived.
Example:
Client Subnet: 192.168.20.0/24
Relay Interface: 192.168.20.1
giaddr: 192.168.20.1
The DHCP server can associate:
192.168.20.1
with the scope:
192.168.20.0/24
and select an address from the correct pool.
Why GIADDR Matters
Imagine one DHCP server serving:
192.168.10.0/24
192.168.20.0/24
192.168.30.0/24
Without information identifying the client’s network, the server may not know which address pool should be used.
giaddr provides this important relay and subnet context.
What Is DHCP Option 82?
DHCP Option 82 is called:
Relay Agent Information Option
It can provide additional information about where the DHCP client is connected.
Common Option 82 sub-options include:
- Circuit ID
- Remote ID
Circuit ID
The Circuit ID may identify information such as:
- Physical interface
- VLAN
- Access circuit
The exact value depends on vendor implementation and configuration.
Remote ID
Remote ID can provide information identifying the relay or access device.
Again, the exact format depends on the implementation.
Option 82 Example
Conceptually:
giaddr: 192.168.20.1
Option 82:
Circuit ID:
VLAN20-GigabitEthernet1/0/10
Remote ID:
Access-Switch-01
A DHCP platform supporting Option 82 may use this information for:
- Address-assignment policies
- Subscriber identification
- Access-network management
- Troubleshooting
- Security controls
Does Every DHCP Relay Use Option 82?
No.
Option 82 is optional and implementation dependent.
A DHCP Relay can operate using giaddr without inserting Option 82.
What Happens to Option 82 in the Reply?
When the DHCP server supports RFC 3046 relay-agent information, it can return the Option 82 information in its response.
The relay that inserted the information can process the reply and remove its relay-agent information before delivering the message to the client.
The exact behavior should always be verified for the actual vendor and configuration.
Configuring DHCP Relay
DHCP Relay configuration depends on the router, Layer 3 switch, firewall, or operating system acting as the relay.
Cisco IOS / IOS XE Example
Assume:
Client VLAN: 192.168.10.0/24
Gateway Interface:
Vlan10
Gateway:
192.168.10.1
DHCP Server:
10.10.10.20
A common Cisco IOS / IOS XE configuration is:
configure terminal
interface Vlan10
ip address 192.168.10.1 255.255.255.0
ip helper-address 10.10.10.20
end
The important command is:
ip helper-address 10.10.10.20
It is configured on the Layer 3 interface receiving DHCP client broadcasts.
Multiple DHCP Servers
For redundancy, a platform can often forward requests toward more than one DHCP server.
Example:
configure terminal
interface Vlan10
ip helper-address 10.10.10.20
ip helper-address 10.10.10.21
end
However, multiple helper addresses do not automatically create DHCP server failover or synchronize leases.
The servers also require an appropriate:
- High-availability design
- Scope configuration
- Lease-management strategy
Multiple VLANs
Each client subnet normally requires relay configuration on its corresponding Layer 3 interface.
Example:
configure terminal
interface Vlan10
ip helper-address 10.10.10.20
interface Vlan20
ip helper-address 10.10.10.20
interface Vlan30
ip helper-address 10.10.10.20
end
The DHCP server should also contain appropriate scopes for all three networks.
Windows Server DHCP Relay
Windows Server can also operate as a DHCP Relay Agent through supported routing capabilities.
The relay is configured on the network interface serving the remote subnet and directed toward the required DHCP server.
This can be useful in Windows-based routing environments.
In many enterprise campus networks, however, the router or Layer 3 switch acting as the subnet gateway is the more natural location for DHCP Relay.
Security and Troubleshooting
DHCP Relay simplifies centralized address management, but a relay or routing misconfiguration can affect an entire subnet.
Security Considerations
Protect communication between:
- DHCP clients
- Relay agents
- DHCP servers
Consider controls such as:
- DHCP snooping
- ACLs
- Trusted relay paths
- DHCP server hardening
- Option 82 validation where used
- Monitoring and logging
Rogue DHCP Servers
DHCP Relay does not by itself prevent a rogue DHCP server from operating directly on the client VLAN.
Switch security features such as:
DHCP Snooping
can help control which interfaces are permitted to send DHCP server responses.
Protect the DHCP Server
Only authorized relay infrastructure and expected networks should normally be able to reach the DHCP service where network security policy permits.
Do not expose DHCP services unnecessarily.
Client Sends DISCOVER but Gets No OFFER
Check:
- Is the correct VLAN configured?
- Is the Layer 3 gateway operational?
- Is DHCP Relay configured on the correct interface?
- Is the correct DHCP server address configured?
- Can the relay route to the server?
- Can the server route back toward the relay?
- Is the correct DHCP scope configured?
- Are free addresses available?
- Are ACLs or firewalls blocking DHCP?
- Is DHCP snooping affecting the exchange?
Verify Cisco Helper Configuration
Use:
show running-config interface Vlan10
Look for:
ip helper-address 10.10.10.20
Verify Routing
From the relay, test connectivity to the DHCP server.
ping 10.10.10.20
Also verify that the DHCP server has a valid route back toward the relay networks.
Check the DHCP Scope
If the relay sends:
giaddr: 192.168.10.1
the DHCP server should have an appropriate scope for:
192.168.10.0/24
A common failure is:
Packet Capture
On a supported Linux observation point:
sudo tcpdump -nn -i any 'udp port 67 or udp port 68'
A useful Wireshark display filter is:
dhcp
Inspect:
- DHCP message type
giaddr- Server Identifier
- Offered address
- Option 82 when used
Troubleshooting Example

DHCPv6 Relay Is Different
This article primarily covers:
DHCPv4 Relay
DHCPv6 also supports relay agents, but its protocol behavior is different.
DHCPv6 uses messages such as:
- Relay-forward
- Relay-reply
rather than the DHCPv4 giaddr mechanism.
Do not directly apply DHCPv4 relay field behavior to DHCPv6.
Key Takeaways
- A DHCP Relay Agent allows DHCP clients to communicate with DHCP servers located on different routed subnets.
- DHCP clients initially use local broadcasts that routers normally do not forward as ordinary routed traffic.
- The relay receives DHCP client messages and forwards them toward configured DHCP servers.
- The DHCPv4
giaddrfield provides relay and subnet context that helps the server select the correct DHCP scope. - DHCP Option 82 is optional and can provide additional relay information such as Circuit ID and Remote ID.
- Cisco IOS and IOS XE commonly use
ip helper-addresson the client-facing Layer 3 interface to configure DHCP Relay. - A centralized DHCP environment can serve many VLANs when relay configuration and server scopes are designed correctly.
- Configuring multiple helper addresses does not by itself create DHCP server failover or lease synchronization.
- Troubleshooting should verify the complete path: client VLAN, relay, routing,
giaddr, DHCP scope, server response, security controls, and return path. - DHCPv6 Relay uses a different mechanism and should not be treated as identical to DHCPv4 Relay.
A DHCP Relay Agent provides the bridge between a local client broadcast domain and a DHCP server elsewhere in the routed network.
A typical DHCPv4 relay:
- Receives client DHCP messages
- Provides relay/subnet context through
giaddr - Forwards requests toward the DHCP server
- Receives DHCP server responses
- Delivers those responses back to the client network
Example:
Client Network: 192.168.10.0/24
Client Gateway / Relay: 192.168.10.1
DHCP Server: 10.10.10.20
On Cisco IOS / IOS XE:
interface Vlan10
ip helper-address 10.10.10.20
The DHCP server then requires an appropriate scope for:
192.168.10.0/24
Option 82 can optionally provide additional information about the client’s network attachment point.
When troubleshooting, follow the DHCP packet through the entire path:
- Did the client send DHCPDISCOVER?
- Did the relay receive it?
- Did the relay forward it to the correct DHCP server?
- What
giaddrdid the server receive? - Does a matching DHCP scope exist?
- Did the server generate DHCPOFFER?
- Did the response reach the relay?
- Did the client receive the offer and final lease?
Following this sequence makes DHCP Relay problems much easier to isolate.
Useful Links and References
SanchitGurukul Resources
Official Technical References
Your feedback matters
Was this post helpful?
Discussion
0 approved comments
No approved comments yet. You can start the discussion below.
Leave a Comment
No login is required. Name and email are used for moderation/security. Your email is never displayed publicly. All comments require administrator approval.
Discover more from SanchitGurukul
Subscribe to get the latest posts sent to your email.
