The BOOTP Conversation
Let’s explore the BOOTP conversation in more detail. There are two types of BOOTP messages, the BOOTPREQUEST and the BOOTPREPLY. The packet structure of these messages is identical; the only difference is in the type of information they contain.
Sending the BOOTPREQUEST
When the BOOTP client firsts boots up, it constructs a BOOTPREQUEST message and broadcasts this message across the network. This message includes information that allows the BOOTP server to determine what configuration data it must supply to the requesting host.
The BOOTPREQUEST message contains the following information:
- Source’s MAC address
From the client’s LAN adapter
- Destination’s MAC address
FF:FF:FF:FF:FF:FF (Ethernet broadcast)
- Destination’s IP address
255.255.255.255 (IP broadcast)
- Source’s IP address
0.0.0.0 (unless the requester knows its IP address)
- Destination server hostname
If requester prefers a specific server
- Boot filename
If requester prefers a specific boot file
- Vendor-specific data
Configuration data relating to operating system-specific functions.
Let’s take a moment to examine the contents of a BOOTPREQUEST message. In this example, I will work my way up the OSI Model starting with the Data Link Layer.
At the Data Link Layer, you find the Ethernet header, which contains hardware addressing, such as MAC addresses. The Ethernet header is also referred to as a frame. The Ethernet header’s destination address is an Ethernet broadcast, designated by the hexidecimal address FF:FF:FF:FF:FF:FF. ...