DHCP Message Relaying and BOOTP Relay Agents
(Page 1 of 2)
DHCP is the third-generation host configuration protocol for TCP/IP. We've already seen extensively how it was based directly on the Boot Protocol; BOOTP was in turn an enhancement of the earlier Reverse Address Resolution Protocol (RARP). Even though each new protocol has made significant improvements over its predecessor, each iteration has retained certain limits that are actually common to all host configuration protocols.
One of the most important limitations with host configuration protocols is the reliance on broadcasts for communication. Whenever we are dealing with a situation where a client needs to communicate but doesn't know its IP address and doesn't know the address of a server that will provide it, the client needs to use broadcast addressing. However, for performance reasons, broadcasts are normally only propagated on the local network. This means that the client and server would always need to be on the same physical network for host configuration to occur. Of course, we don't want this to be the case. It would require that a large internetwork have a different server on every network, greatly reducing the benefits of centralized configuration information, and creating numerous administrative hassles.
RARP didn't have any solution to the problem of clients and servers on different networks, which is one reason why it was so limited in usefulness. BOOTP did: it allows a client and server to be on different networks through the use of BOOTP relay agents. A relay agent is a device that is not a BOOTP server, but which runs a special software module that allows it to act in the place of a server. A relay agent can be placed on networks where there are BOOTP clients but no BOOTP servers. The relay agent intercepts requests from clients and relays them to the server. The server then responds back to the agent, which forwards the response to the client. A full rationale and description of operation of BOOTP relay agents can be found in the topic discussing them.
The designers of DHCP were satisfied with the basic concepts and operation behind BOOTP relay agents, which had already been in use for many years. For this reason, they made the specific decision to continue using BOOTP relay agent functionality in DHCP. In fact, this is one of the reasons why the decision was made to retain the BOOTP message format in DHCP, and also the basic two-message request/reply communication protocol. This allows BOOTP relay agents to handle DHCP messages as if they are BOOTP messages.
This is also why the mention of BOOTP in the title of this topic is not a typoDHCP in fact uses BOOTP relay agents. Even the DHCP standard says that a BOOTP relay agent is an Internet host or router that passes DHCP messages between DHCP clients and DHCP servers. In practice, the agents are indeed sometimes called DHCP relay agents; you may also see the mixed terms BOOTP/DHCP relay agent and DHCP/BOOTP relay agent.
Home - Table Of Contents - Contact Us
The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005
© Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.