BOOTP
What is BOOTP
BOOTP (Bootstrap Protocol) is a protocol for configuring hosts that was developed before DHCP.
BOOTP is defined in RFC 951 of 1985.
DHCP is an improvement over BOOTP, addressing the limitations of BOOTP as a service of configuring hosts. Over 30 configuration parameters are supported.
Communication between client and server uses UDP ports. Use UDP port number 67 from the client to the BOOTP and DHCP servers, and use UDP port number 68 from the BOOTP and DHCP servers to the client. These UDP ports 67 and 68 are still called BOOTP ports.
There are three major differences between BOOTP and DHCP. A summary is given in the table below.
●Major items of DHCP messages
BOOTP | DHCP |
static mapping | dynamic mapping |
permanent assignment | lease |
Supports only 4 configuration parameters | Supports over 30 configuration parameters |
DHCP can dynamically assign IP addresses to clients, while BOOTP is static.
In BOOTP, when a client requests an IP address, it looks up the IP address associated with the client’s MAC address from a table defined in advance on the BOOTP server and assigns it to the client.
Also, while DHCP allows you to assign an IP address to a client for a period of time and then assign it to another client after the period expires, in BOOTP, an IP address is tied to its MAC address so that it can be assigned an IP address to another client. Address cannot be assigned.
DHCP supports over 30 configuration parameters, including WINS and domain name, while BOOTP supports only 4 configuration parameters.
BOOTP message format
BOOTP and DHCP messages use almost the same format structure. Only the final field is different. BOOTP calls this optional field the “vendor specific area” and limits it to 64 bytes.
BOOTP and DHCP messages use almost the same format structure. Only the final field is different. BOOTP calls this optional field the “vendor specific area” and limits it to 64 bytes.
For DHCP, this field is of variable length and is called “options” and allows DHCP option information to be conveyed.
The figure below shows the BOOTP message format.
The main items of the BOOTP message are shown in the table below.
● BOOTP message format
information name | explanation |
CIADDR | Client IP address, used when client is in BOUND, RENEW or REBINDING state. |
YIADDR | The IP address of the client assigned by the DHCP server (your IP address) |
SIADDR | DHCP server IP address |
GIADDR | IP address of the DHCP relay agent. The DHCP server identifies the subnet to which the client belongs by looking at GIADDR. |
CHADDR | Client’s MAC address |
How BOOTP network boot works
When computers were still very expensive, inexpensive diskless computers without hard disks were often used by businesses. Even now, it is expected to prevent information leakage by physically separating the hard disk from the user, so it is attracting attention again.
In particular, thin client systems, which manage resources such as application software and files on the server side, are attracting attention.
There are several ways to boot and use a diskless client over the network.
- How to boot on the NIC and boot over the network
- How to boot into DOS and boot over the network
- How to boot from a floppy using a BOOTP-enabled kernel
Here, although the NICs that support it are limited now, I will introduce the mechanism to boot with the NIC and boot via the network. It’s always a question of whether the network card you’re going to use supports it.
A diskless computer does not have a hard disk and therefore cannot have boot information locally. Since there is no OS, it cannot boot on its own.
Therefore, diskless computers need to boot over the network. BOOTP is used at that time.
BOOTP is used in the difficult situation of requesting boot information from the server at boot time and transferring the boot information.
①When the power is turned on to the client, the UDP procedure is loaded from the local ROM.
(2) Requests boot information from the server via UDP.
(3) The server side transfers the boot information using TFTP.
The TFTP used here is a protocol that corresponds to a simplified version of FTP, and since it does not have functions such as authentication, it operates lightly. UDP port number 69 is used.