Please Whitelist This Site?
I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)
If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads.
If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on tcpipguide.com". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||tcpipguide.com^$document". Then just click OK.
Thanks for your understanding!
Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide
NOTE: Using software to mass-download the site degrades the server and is prohibited.
If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.
BOOTP Relay Agents (Forwarding Agents)
(Page 3 of 4)
Normal BOOTP Operation Using a Relay Agent
The following shows, in simplified
form, a revised set of BOOTP operation steps when a relay agent is involved.
To keep the size of this topic manageable I have omitted the details
of the basic request/reply process to focus on the relaying functionality,
which you can also see graphically in Figure 258:
Figure 258: BOOTP Operation Using A Relay Agent
In this example, Device A is trying to access a BOOTP server, but the only one is on a different network; the two are connected by a workgroup router that is configured to act as a BOOTP relay agent. Device A broadcasts its request, which the router receives. It relays the request to the BOOTP server, Device D, and puts its own IP address (IPR) into the BOOTP GIAddr field. The BOOTP server sends the reply back to the router using address IPR. The router then broadcasts it on Device As local network so that A can receive it.
- Client Creates Request: The
client machine creates its request normally. The existence of a relay
agent is totally transparent to the client.
- Client Sends Request: The client
broadcasts the BOOTREQUEST message by transmitting it to address
255.255.255.255. (Note that in the case where a client already knows
both its own address and the address of a BOOTP server, we don't need
the relay agent at allboth the request and reply can be sent unicast
over an arbitrary internetwork.)
- Relay Agent Receives Request and
Processes It: The BOOTP relay agent on the physical network where
the client is located is listening on UDP port 67 on the server's behalf.
It processes the request as follows:
- It checks the value of the Hops field.
If the value is less than or equal to 16, it increments it. If the value
is greater than 16, it discards the request and does nothing further.
- It examines the contents of the GIAddr
field. If this field is all zeroes, it knows it is the first relay agent
to handle the request and puts its own IP address into this field. (If
the agent is a router it has more than one IP address, so it chooses
the one of the interface upon which it received the request.)
- Relay Agent Relays Request: The
relay agent sends the BOOTP request to the BOOTP server. If the relay
agent knows the server's IP address it will send it unicast directly
to the server. Otherwise, if the agent is a router, it may choose to
broadcast the request on a different interface from the one on which
it received the request. In the latter case, it is possible that multiple
relay agents may be required to convey the request to the server. See
below for more on this.
- Server Receives Request and Processes
It: The BOOTP server receives the relayed request from the BOOTP
relay agent. It processes it as normal.
- Server Creates Reply: The server
creates a reply message as normal.
- Server Sends Reply: Seeing that
the GIAddr field in the request was non-zero, the server knows
the request was relayed. Instead of trying to send its reply back to
the client that sent the request, it transmits the reply unicast back
to the relay agent specified in GIAddr.
- Relay Agent Relays Reply: The
BOOTP relay agent transmits the BOOTREPLY message back to the
client. It does this either unicast or broadcast, depending on the value
of the CIAddr field and the B (Broadcast) flag,
just like a server does in the non-relay case.
|If you find The TCP/IP Guide useful, please consider making a small Paypal donation to help the site, using one of the buttons below. You can also donate a custom amount using the far right button (not less than $1 please, or PayPal gets most/all of your money!) In lieu of a larger donation, you may wish to consider purchasing a download license of The TCP/IP Guide. Thanks for your support!|
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.