This preview shows page 1. Sign up to view the full content.
Unformatted text preview: y placing it into the BOOTP packet (Figure
An interesting problem arises: how can the server send a response directly back to the client?
The response is a UDP datagram, and the server knows the client's IP address (probably read
from a configuration file on the server). But if the client sends a UDP datagram to that IP
address (the normal way UDP output is handled), the server's host will probably issue an ARP
request for that IP address. But the client can't respond to the ARP request since it doesn't
know its IP address yet! (This is called the "chicken and egg" issue in RFC 951.)
There are two solutions. The first, commonly used by Unix servers, is tor the server to issue an
ioctl(2) request to the kernel, to place an entry into the ARP cache for this client. (This is file:///D|/Documents%20and%20Settings/bigini/Documenti/homenet2run/tcpip/tcp-ip-illustrated/bootp.htm (6 of 9) [12/09/2001 14.47.08] Chapter 16. BOOTP: Bootstrap Protocol what the arp -s command does. Section 4.8.) The server can do this since it knows the
client's hardware address and IP address. This means that when the server sends the UDP
datagram (the BOOTP reply), the server's ARP module will find the client's IP address in the
An alternative solution is tor the server to broadcast the BOOTP reply, instead of sending it
directly to the client. Since reducing the number of broadcasts on a network is always
desirable, this solution should be used only if the server cannot make an entry into its ARP
cache. Normally it requires superuser permission to make an entry into the ARP cache,
requiring a broadcast reply if the server is nonprivileged. 16.5 BOOTP Through a Router
We said in Section 5.4 that one of the drawbacks of RARP is that it uses a link-layer
broadcast, which is normally not forwarded by a router. This required an RARP server on each
physical network. BOOTP can be used through a router, if supported by the router. (Most
major router vendors do support this feature.)
This is mainly intended for diskless routers, because if a multiuser s...
View Full Document
- Spring '12