Skip to content
Related Articles

Related Articles

Improve Article

DHCP Relay Agent in Computer Network

  • Difficulty Level : Basic
  • Last Updated : 24 Sep, 2021

Prerequisite – Dynamic Host Configuration Protocol (DHCP), How DHCP server dynamically assigns IP address to a host? 

To assign an IP address to the host dynamically, DHCP client exchange DHCP messages with DHCP server in DORA process. 

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.


In DORA process, the discover and request message is broadcast, the offer and the acknowledgement message is broadcast or unicast depending upon the value of broadcast flag i.e. If the value of broadcast flag is 1,then the offer and acknowledgement message is broadcast and if 0,the messages are unicast. But this is valid only when the DHCP server is present in the same network because the router doesn’t forward any broadcast packet. What if the server is present in a different network? Here comes the role of DHCP relay agent. 

DHCP Relay Agent – 
DHCP relay agent is any TCP/IP host which is used to forward request and replies between DHCP server and client when the server is present on the different network. Relay agents receive DHCP messages and then generate a new DHCP message to send out on another INTERFACE. Also, DHCP relay agent adds a giaddr (gateway address of packet) field and also the Relay agent information option 82 if enabled. The option field is removed when the server reply is forwarded to the host. 

Note – The discover and request messages are unicast by the DHCP relay agent. 

Example – 

Here is a topology in which there is a DHCP client having no IP address. There is a DHCP server having IP address and there is a router in middle which we wants as DHCP relay agent has an IP address on interface fa0/0 and on interface fa0/1.  

Now, first the discover message is broadcast by the DHCP client to find out the DHCP server which is received by the switch as it is in the same broadcast domain.The switch broadcast the dhcp packet in the network, received by both PC and Router(DHCP Relay Agent).The PC and the router receives the broadcast packet but the PC drops the packet as the DHCP server is present in the different network therefore the packet has to delivered to the default gateway only.  

The router, with DHCP relay agent feature, enabled, replaces the source address with its own address and the destination IP address with DHCP server IP address i.e. the DHCP relay agent unicast the packet to DHCP server. DHCP relay agent adds giaddr field into the packet and forward it to the DHCP server. giaddr field is added to the packet so that the server should know from which pool, it has to assign the IP address. 

In our case, the giaddr field will contain (IP address of the interface on which the router [DHCP relay agent] receives the discover message). 

The server replies with a unicast DHCP offer to the router offering the unleashed IP address.  

In return, the router broadcast the DHCP Offer message to the network which has send the DHCP request.The broadcast message is received by switch as shown in the above figure.  

The switch broadcasts the DHCP offer message to the hosts. Therefore, the message is received by DHCP client  

Now, the dhcp client broadcast the dhcp request message, showing the acceptance of the IP address, for the server which is received by the switch. The switch broadcast the DHCP request message to the other host and the router(DHCP Relay Agent)as shown in the above figure.  

The router replaces the source IP address with its own IP address and destination IP remains the same i.e. It is unicast by the dhcp relay agent  

The server replies with a unicast DHCP Acknowledgement message to the router (DHCP relay agent) as shown in the above figure.  

The router in turn broadcast the DHCP Acknowledgement message to the network it receives the DHCP request for an IP address.The broadcast message is received by switch as shown in the above figure.  

The broadcast DHCP Acknowledgement message is received by the DHCP client as the switch broadcast the message through all its ports. 

Configuration – 

This is the basic configuration of the client, router, dhcp_server.The router has been assign IP address on fa0/0 and on fa0/1. 

ROUTER(config)#int f0/0
ROUTER(config-if)#ip address
ROUTER(config-if)#no shutdown
ROUTER(config)#int f0/1
ROUTER(config-if)#ip address
ROUTER(config-if)#no shutdown

The DHCP_SERVER is assigned IP Address on the interface fa0/0 and the DHCP pool is defined with name POOL1 and network of with subnet mask is assigned to the pool POOL1.  

DHCP_SERVER(config)#int f0/0
DHCP_SERVER(config-if)#ip address
DHCP_SERVER(config-if)#no shutdown
DHCP_SERVER(config)#ip dhcp pool POOL1

Now, the ip helper address command is used for configuring the router as a dhcp relay agent, giving the address of DHCP_server.  

ROUTER(config)#int f0/0
ROUTER(config-if)#ip helper-address


My Personal Notes arrow_drop_up
Recommended Articles
Page :