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.

The Book is Here... and Now On Sale!

Read offline with no ads or diagram watermarks!
The TCP/IP Guide

Custom Search







Table Of Contents  The TCP/IP Guide
 9  TCP/IP Application Layer Protocols, Services and Applications (OSI Layers 5, 6 and 7)
      9  TCP/IP Network Configuration and Management Protocols (BOOTP, DHCP, SNMP and RMON)
           9  Host Configuration and TCP/IP Host Configuration Protocols (BOOTP and DHCP)
                9  TCP/IP Bootstrap Protocol (BOOTP)

Previous Topic/Section
BOOTP Vendor-Specific Area and Vendor Information Extensions
Previous Page
Pages in Current Topic/Section
12
3
4
Next Page
TCP/IP Dynamic Host Configuration Protocol (DHCP)
Next Topic/Section

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 A’s local network so that A can receive it.

 


  1. Client Creates Request: The client machine creates its request normally. The existence of a relay agent is totally transparent to the client.

  2. 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 all—both the request and reply can be sent unicast over an arbitrary internetwork.)

  3. 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.)


  4. 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.

  5. Server Receives Request and Processes It: The BOOTP server receives the relayed request from the BOOTP relay agent. It processes it as normal.

  6. Server Creates Reply: The server creates a reply message as normal.

  7. 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.

  8. 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.

Previous Topic/Section
BOOTP Vendor-Specific Area and Vendor Information Extensions
Previous Page
Pages in Current Topic/Section
12
3
4
Next Page
TCP/IP Dynamic Host Configuration Protocol (DHCP)
Next Topic/Section

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!
Donate $2
Donate $5
Donate $10
Donate $20
Donate $30
Donate: $



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.