The bootstrap protocol (BootP) is a client- server protocol which serves the allocation of IP addresses and is based on the UDP protocol. It can be used wherever addresses have to be assigned via the network; for example, in diskless workstations. Such workstations work with a program which requests its own IP address from a server when dialing into the network.
With the BootP protocol BootP client and server use the User Datagram Protocol (UDP) for communication. This basically involves the exchange of a data packet in which the BootP server transmits essential information to the client. This data packet contains the IP address for the client, furthermore the data packet may contain the IP addresses of the next router and that of a specific server, as well as the name of the boot file
Since the BootP client does not yet have an IP address when it dials into the network, it sends a broadcast into the network which the IP protocol sends as a datagram. The BootP server which receives the broadcast sends in turn a broadcast which reaches all devices in the network. This broadcast contains the IP address for the BootP client which picks it up. After the BootP server has been recognized, the boot file is loaded via the network and the diskless computer can initialize itself.
The data frame of the BootP protocol
The data frame of the BootP protocol contains the IP address information of BootP client, BootP server and router, as well as the IP address for the client suggested by the BootP server. In addition, the BootP frame has data fields for the client hardware address, the server host name, the boot file name and a vendor specific field. The 8-bitOperationdata field specifies whether it is a request from the client or a response. The hardware field is used to enter the network structures with their speeds and media, and the transaction field is used to enter an integer value to match requests and responses.
The bootstrap protocol is described in RFCs 951and 1084.