Bootstrap Protocol (BootP) was the first comprehensive configuration protocol. It can provide all of the information commonly used to configure TCP/IP—from the client's IP address to which print server the client should use. The BootP protocol is designed to deliver this information to the client, even though the client doesn't have an IP address.
Here's how it works. The BootP client broadcasts a BOOTREQUEST packet to UDP port 67, using a special IP broadcast address of 255.255.255.255 that is called the limited broadcast address. The broadcast address assigned in Chapter 2, "The Network Interface," with the ifconfig command was made up of the network address with a host field of all ones; for example, 172.16.55.255. Clearly, a BootP client that doesn't know the network address couldn't use such a broadcast address, which is why the limited broadcast address is used.
Note Unless specially configured to do so, routers do not forward the limited broadcast address. For this reason, configuration servers are traditionally departmental servers, with one server placed on each subnet. Later in this chapter, we will see how relay servers can be used to support a centralized configuration server for organizations that prefer centralization over distributed departmental servers.
The client puts all of the information it knows about itself in the BOOTREQUEST packet, which might be only its physical-layer address. When a BootP server receives a packet on port 67, it creates a BOOTREPLY packet by filling in as much of the missing configuration information as it can. The server then broadcasts the packet back to the network using UDP port 68. The client listens on port 68. When it receives a packet on the port that contains its physical-layer address, it uses the information from the packet to configure TCP/IP.
Was this article helpful?