Wednesday, December 2, 2009

Back to Basics: The DHCP Relay Agent

SkyHi @ Wednesday, December 02, 2009
The DHCP Relay Agent allows you to place DHCP clients and DHCP servers on different networks. Deploying DHCP in a single segment network is easy. All DHCP messages are IP broadcast messages, and therefore all the computers on the segment can listen and respond to these broadcasts. A single scope on a solitary DHCP server is all that is required.

DHCP Messages on a Multisegment Network

* Post a comment
* Email Article
* Print Article
* Share Articles
o Digg
o DZone
o Reddit
o Slashdot
o StumbleUpon
o del.icio.us
o Facebook
o FriendFeed
o Furl

Things get a little more complicated when you have more than one subnet on your network. This is because the DHCP broadcast messages do not, by default, cross the router interfaces.

There are several ways you can handle this situation. One alternative is to put a DHCP server on each segment. If you have just a few segments, you might consider this option. However, when you have a large organization, placing a DHCP server on each segment can increase cost and add to administrative effort.

Relay To The Rescue

A better option is to use fewer DHCP servers and place these machines in central locations. To solve the problem of DHCP broadcast messages, routers can be configured to pass DHCP/BOOTP messages selectively. This is referred to as BOOTP Relay.

The concept of BOOTP Relay can get a little confusing. It gets even more confusing when the term BOOTP Forwarding is used. This is because the concepts for Relay and Forwarding are quite different. Forwarding implies that the message is forwarded from one interface to another, without any special processing. Relay implies that the message is processed to a greater extent, which may include changes being made to the original packet.

An Agent is a Relay and Not a Forwarder

RFC 1542 elaborates on BOOTP Relay and BOOTP Relay Agents. A router that can perform BOOTP Relay does more than just forward BOOTP broadcast messages. Rather, the BOOTP Relay Agent actually examines the packet and makes appropriate changes to it, and then Relays the packet to a DHCP Server. The DHCP server to which the packet is Relayed is configured by adding a Helper Address on the router.

Some routers do not support BOOTP Relay. In this case, you can set up a computer on segments that have DHCP clients that will take the place of the BOOTP Relay Agent on the router. You can configure a Windows 2000 RRAS Server to Relay DHCP messages by installing the DHCP Relay Agent.

The Relay Agent communicates with a DHCP server and acts as a proxy for DHCP broadcast messages that must be routed to remote segments. Like the router-based BOOTP Relay Agent, the DHCP Relay Agent is configured with addresses of DHCP servers to which they should Relay the DHCP Message.

Be Careful of the Terminology

Be sure you recognize the difference between a DHCP/BOOTP Relay Agent and a Router that acts as a BOOTP forwarder. Remember that forwarders will propagate a broadcast message across the router interfaces, while the DHCP Relay Agent intercepts the broadcast, makes changes to the DHCP Message, and forwards its via a directed datagram to a specific DHCP server.

Reference: http://www.serverwatch.com/tutorials/article.php/2193031/Back-to-Basics-The-DHCP-Relay-Agent.htm