Open In App

How Does BOOTP Works?

Last Updated : 18 Jan, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

Prerequisite: Bootstrap Protocol

The BOOTP protocol is a networking protocol, the main goal of BOOTP is to find IP addresses from a server. It was developed to replace the RARP. BOOTP was designed to let systems discover what they need to function correctly after booting up. It uses a relay agent which listens to port 68 of UDP, which lets the local network transfer the packets by using standard IP routing, allowing only a single BOOTP server to assist hosts on several subnets. Later on, BOOTP was succeeded by a more advanced and effective protocol known as DHCP, which has more flexibility and additional options.

During the bootstrap process, it is used to create a network connection. Initially, BOOTP uses floppy disks, but it was soon integrated into network adapters and motherboards, so that no external drive is required and also for launching the initial network connection, later the process was added into the BIOS of motherboards and NICs to allow direct network booting.

It is a broadcast protocol as it needs to send messages in order to get resources or answers from hosts present in the network. BOOTP was planned for diskless systems because they needed a protocol that could communicate to a server to get its network address and some other information like which OS to use. The computer then downloads the OS through TFTP.

Working of BOOTP

A BOOTP client does not know its IP address nor does it know the IP address of the BOOTP server when it starts, so it broadcasts a message that carries its MAC address in the network. This general broadcast message is known as a “BOOTREQUEST” and this request is sent to the broadcast address. It is then picked up by the server listening on port 67 of UDP, after receiving the request it processes it by assigning an IP address to the MAC address of the client. The request that it replies to the client with is known as “BOOTREPLY” which include network information and is sent back to the client through broadcast and has the following information:

  • The client’s IP address (ciaddr and yiaddr), default gateway address (giaddr), and subnet mask.
  • The hostname and IP address of the BOOTP server (siaddr).
  • The IP address of the server containing the boot image.

After obtaining the data from the BOOTP server, it initializes the TCP/IP stack and configures it, and after that, it connects to the server containing the boot image. Finally, the client loads the image and uses the data to load and launch its OS.

BOOTP Message Format:

Bits

Description

0 – 7    

Opcode

8 – 15     

Hardware type

16 – 23    

Hardware address length

24 – 31 

Hop count

32 – 63   

Transaction ID

64 – 79 

secs

80 – 95      

Flags

96 – 127

Client IP

128 – 159

Your IP

160 – 191 

Server IP

192 – 223  

Gateway IP

224 – 351    

Client hardware address (16 bytes)

352 – 863  

Server hostname (64 bytes)

864 – 1887   

Boot filename (128 bytes)

1888 – 2400

Manufacturer-specific information (64 bytes)

Conclusion:

  • It assigns IP addresses to the host through a BOOTP server.
  • BOOTP is the successor of RARP.
  • It uses the IP and UDP. Hence, it is routable.
  • The BOOTP server keeps a log with IP addresses, MAC addresses, and other information.
  • Nowadays BOOTP is no longer used as it has been replaced by DHCP.

Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads