25.02.2013 Views

TCP/IP Tutorial and Technical Overview - IBM Redbooks

TCP/IP Tutorial and Technical Overview - IBM Redbooks

TCP/IP Tutorial and Technical Overview - IBM Redbooks

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Vendor-specific area Optional vendor-specific area. Clients should always<br />

fill the first four bytes with a “magic cookie.” If a<br />

vendor-specific magic cookie is not used, the client<br />

should use 99.130.83.99 followed by an end tag (255)<br />

<strong>and</strong> set the remaining bytes to zero. The<br />

vendor-specific area can also contain BOOTP Vendor<br />

extensions. These are options that can be passed to<br />

the client at boot time along with its <strong>IP</strong> address. For<br />

example, the client can also receive the address of a<br />

default router, the address of a domain name server,<br />

<strong>and</strong> a subnet mask. BOOTP shares the same options<br />

as DHCP, with the exception of several DHCP-specific<br />

options. See RFC 2132 for full details.<br />

After the BOOTP client has processed the reply, it can proceed with the transfer<br />

of the boot file <strong>and</strong> execute the full boot process. See RFC 906 for the<br />

specification of how this is done with TFTP. In the case of a diskless host, the full<br />

boot process will normally replace the minimal <strong>IP</strong> protocol stack, loaded from<br />

ROM, <strong>and</strong> used by BOOTP <strong>and</strong> TFTP, with a normal <strong>IP</strong> protocol stack<br />

transferred as part of the boot file <strong>and</strong> containing the correct customization for<br />

the client.<br />

3.6.1 BOOTP forwarding<br />

The BOOTP client uses the limited broadcast address for BOOTP requests,<br />

which requires the BOOTP server to be on the same subnet as the client.<br />

BOOTP forwarding is a mechanism for routers to forward BOOTP requests<br />

across subnets. It is a configuration option available on most routers. The router<br />

configured to forward BOOTP requests is known as a BOOTP relay agent.<br />

A router will normally discard any datagrams containing illegal source addresses,<br />

such as 0.0.0.0, which is used by a BOOTP client. A router will also generally<br />

discard datagrams with the limited broadcast destination address. However, a<br />

BOOTP relay agent will accept such datagrams from BOOTP clients on port 67.<br />

The process carried out by a BOOTP relay agent on receiving a<br />

BOOTPREQUEST is as follows:<br />

1. When the BOOTP relay agent receives a BOOTPREQUEST, it first checks<br />

the hops field to check the number of hops already completed in order to<br />

decide whether to forward the request. The threshold for the allowable<br />

number of hops is normally configurable.<br />

2. If the relay agent decides to relay the request, it checks the contents of the<br />

router <strong>IP</strong> address field. If this field is zero, it fills this field with the <strong>IP</strong> address<br />

of the interface on which the BOOTPREQUEST was received. If this field<br />

already has an <strong>IP</strong> address of another relay agent, it is not touched.<br />

Chapter 3. Internetworking protocols 129

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!