BOOTP (Bootstrap Protocol)
What is BOOTP (Bootstrap Protocol)?
BOOTP (Bootstrap Protocol) is an internet protocol that lets a network user automatically be configured to receive an IP address and have an operating system booted without user involvement.
The BOOTP server, managed by a network administrator, automatically assigns the IP address from a pool of addresses for a certain duration of time.
BOOTP was originally defined in 1985 for Request for Comments 951 to replace Reverse Address Resolution Protocol, which required servers to be present on each server IP address. With BOOTP, a central BOOTP server could exist for numerous subnets.
Today, BOOTP is executed using User Datagram Protocol (UDP) and is the basis for Dynamic Host Configuration Protocol (DHCP). DHCP servers are used to receive client requests.
Organizations have also implemented the BOOTP protocol in Unix diskless workstations to pinpoint the location for a boot image file name and IP addressing when configuring and booting Microsoft Windows installations.
How is BOOTP operated?
Enterprises can use BOOTP in two different ways, with the client and server on the same network or with the client and server on different networks.
Scenario 1. Client and server on the same network
In this scenario, when the BOOTP client is booted up, it initially has no IP configuration. Instead, it broadcasts its media access control address to the network as a BOOTP request. The BOOTP server then picks up the message and replies with the following:
- IP address from the domain name system;
- hostname;
- subnet mask;
- default gateway address;
- boot file; and
- transaction ID.
Once the client receives this information, it initializes Transmission Control Protocol/Internet Protocol and connects to the receiving server where the boot image is located.
Scenario 2. Client and server on different networks
In this scenario, the BOOTP request's broadcast IP datagram can't pass through the router. To resolve this, a vendor extension is used as an intermediary to act as the relay agent.
The relay agent is configured with the unicast address. When the agent receives the broadcast packet, it sends the unicast diagram to the BOOTP server. This is then routed to the BOOTP client.