Bootstrap Protocol

  • The term (or ) comes from the idea of something that is obviously to do.
  • In other words,
  • makes this difficult task possible.
  • is the successor of and the predecessor of .
  • is a and service that allows diskless workstations to obtain their IP address, other TCP/IP configuration information, and their boot image file from a bootstrap protocol (BOOTP) server.
  • The on these diskless workstations contains a P chip containing code necessary to initialize the client.

  • When a BOOTP client is started, it has no IP address, so it broadcasts a message containing its MAC address onto the network.
  • This message is called a and it is picked up by the .
  • The client machine begins the procedure by creating a BOOTP request message.
  • In creating this message, it fills in the following information,
  1. It sets the message type to the value , for a message.
  2. If it knows its own IP address that it plans to keep using, it specifies it in the field. Otherwise, it fills this field with zeroes.
  3. It puts its own layer-two hardware address in the field. This is used by the server to determine the right address and other parameters for the client.
  4. It generates a random transaction identifier and puts this in thefield.
  5. The client may specify a particular server that it wants to send a reply to and put that into thefield.
  6. It may also specify the name of a particular type of boot file that it wants the server to provide in the field.
  7. The client may specific vendor-specific information if programmed to do so.

  • The client broadcasts themessage by transmitting it to address .
  • Alternately, if it already knows the address of a BOOTP server, it may send the request unicast.

  • A , listening on , receives the broadcasted request and processes it.
  • If a name of a particular server was specified and this name is different than the name of this server, the server may discard the request.
  • This is especially true if the server knows that the server the client asked for is also on the local network.
  • If no particular server is specified, or this particular server was the one the client wanted, the server will reply.

  • Thereplies to the client with the following information that the client needed,
  1. The and.
  2. The and of the .
  3. The of the server that has the boot image, which the client needs to load its operating system.
  • The server creates a reply message by copying the request message and changing several fields.
  1. It changes the message type to the value 2, for a
  2. It takes the client’s specified hardware address from the and uses it in a lookup to find the for this host.
  3. It then places this value into the of the reply.
  4. It processes the field and provides the filename type the client requested, or if the field was blank, the default filename.
  5. It puts its own and name in the and fields.
  6. It sets any vendor-specific values in the field.

  • The server sends the reply, the method depending on the contents of the request,
  1. If the flag is set, this indicates that the client can’t have the reply sent unicast, so the server will broadcast it.
  2. If the field is non-zero, the server will send the reply unicast back to that .
  3. If the is and the is also zero, the server may either use an or .

  • When the client receives this information from the , it configures and initializes its , and then connects to the server on which the is shared.
  • The client stores the information and parameters provided.

  • The client loads the boot image and uses this information to load and start its operating system.
  • Once configured, the client proceeds to of the bootstrapping process, by using a protocol such as to download its boot file containing the , using the filename the server provided.

In Short,

  • BOOTP assigns IP addresses to host with a BOOTP server.
  • BOOTP uses the protocol andso it’s routable.
  • The BOOTP server uses a database with .
  • You need to add this information yourself to the database.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
S Abhishek

Data Engineer Intern @Rolls-Royce | Computer Science Undergraduate | Amrita Vishwa Vidyapeetham | Former Member of security research & CTF team — @teambi0s.