BOOTP Relay Agents (Forwarding Agents)
(Page 1 of 4)
One reason why the Reverse Address Resolution Protocol (RARP) was quickly replaced by BOOTP is that RARP required the client being configured and the server providing it with an IP address to be on the same physical network. Sure, this is fine when you run a small organization with 10 machines. In this case, all 10 are probably on the same physical network anyway. Larger networks must be divided into multiple physical networks for efficiency, however. RARP would require a separate RARP server for each network, meaning having to duplicate all the functions of a single server onto multiple machines. Worse yet, all the configuration information would also be duplicated, and any changes would have to be made to all the different servers each time.
Unlike RARP, BOOTP is designed to allow the BOOTP server and the clients it serves to be on different networks. This centralizes the BOOTP server and greatly reduces the amount of work required of network administrators. However, implementing this feature means increasing the complexity of the protocol. In particular, we need to involve a third party device in the configuration process.
You might rightly wonder why this would be the case. Sure, RARP is a low-level protocol that works at the link layer, so that explains why it would have problems putting the client and server on different physical networks. But wasn't the whole point of making BOOTP a high-level protocol that it was able to use IP? And if BOOTP uses IP, can't we sent from one network to another arbitrarily just like any IP-based messaging protocol?
The answer is that even though we are indeed using IP and UDP, BOOTP still has one of the same issues that RARP had: a reliance on broadcasts. The client usually doesn't know the address of a server, so it has to send out its request as a broadcast, saying in essence, can anyone hear this and give me the information I need? For efficiency reasons, routers do not route such broadcasts, as they would clog the network. This means that if the server and client are not on the same network, the server can't hear the client's broadcast. Similarly, if the server ever did get the request and broadcast its reply back to the client, the client would never get it anyway.
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.