BOOTP

Bootstrap Protocol

  • The term bootstrap protocol (or boot protocol) comes from the idea of lifting yourself up by your own bootstraps, something that is obviously difficult to do.

1. Client Creates Request

  • When a BOOTP client is started, it has no IP address, so it broadcasts a message containing its MAC address onto the network.
  1. It sets the message type (Op) to the value 1, for a BOOTREQUEST message.

2. Client Sends Request

  • The client broadcasts the BOOTREQUEST message by transmitting it to address 255.255.255.255.

3. Server Receives Request and Processes It

  • A BOOTP server, listening on UDP port 67, receives the broadcasted request and processes it.

4. Server Creates Reply

  • The BOOTP server replies to the client with the following information that the client needed,
  1. The client’s IP address, subnet mask, and default gateway address.
  • The server creates a reply message by copying the request message and changing several fields.
  1. It changes the message type (Op) to the value 2, for a BOOTREPLY message.

5. Server Sends Reply

  • The server sends the reply, the method depending on the contents of the request,
  1. If the B (Broadcast) flag is set, this indicates that the client can’t have the reply sent unicast, so the server will broadcast it.

6. Client Processes Reply

  • When the client receives this information from the BOOTP server, it configures and initializes its TCP/IP protocol stack, and then connects to the server on which the boot image is shared.

7. Client Completes Boot Process

  • The client loads the boot image and uses this information to load and start its operating system.

In Short,

  • BOOTP assigns IP addresses to host with a BOOTP server.

✨ Computer Science Undergraduate from Amrita Vishwa Vidyapeetham. 🧑‍💻 Member of security research & CTF team — @teambi0s. 🌱 I’m currently working on DFIR.