HOME

TheInfoList



OR:

The Bootstrap Protocol (BOOTP) is a computer networking protocol used in
Internet Protocol The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet. I ...
networks to automatically assign an
IP address An Internet Protocol address (IP address) is a numerical label such as that is connected to a computer network that uses the Internet Protocol for communication.. Updated by . An IP address serves two main functions: network interface ident ...
to network devices from a configuration server. The BOOTP was originally defined in RFC 951. While some parts of BOOTP have been effectively superseded by the Dynamic Host Configuration Protocol (DHCP), which adds the feature of leases, parts of BOOTP are used to provide service to the DHCP protocol. DHCP servers also provide the legacy BOOTP functionality. When a network-connected computer
boots A boot is a type of footwear. Boot or Boots may also refer to: Businesses * Boot Inn, Chester, Cheshire, England * Boots (company), a high-street pharmacy chain and manufacturer of pharmaceuticals in the United Kingdom * The Boot, Cromer Str ...
up, its IP stack broadcasts BOOTP network messages requesting an IP-address assignment. A BOOTP configuration-server replies to the request by assigning an IP address from a pool of addresses, which is preconfigured by an administrator. BOOTP is implemented using the
User Datagram Protocol In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages (transported as datagrams in packets) to other hosts on an Internet Protocol (IP) network. ...
(UDP) for transport protocol, port number 67 is used by the (DHCP) server for receiving client-requests and port number 68 is used by the client for receiving (DHCP) server responses. BOOTP operates only on IPv4 networks. Historically, BOOTP has also been used for Unix-like diskless workstations to obtain the network location of their
boot image A boot image is a type of disk image (a computer file containing the complete contents and structure of a storage medium). When it is transferred onto a boot device it allows the associated hardware to boot. The ''boot image'' usually includes th ...
, in addition to the IP address assignment. Enterprises used it to roll out a pre-configured client (e.g., Windows) installation to newly installed PCs. Initially requiring the use of a boot floppy disk to establish the initial network connection, manufacturers of network cards later embedded the protocol in the
BIOS In computing, BIOS (, ; Basic Input/Output System, also known as the System BIOS, ROM BIOS, BIOS ROM or PC BIOS) is firmware used to provide runtime services for operating systems and programs and to perform hardware initialization during the b ...
of the interface cards as well as system boards with on-board network adapters, thus allowing direct network booting.


History

The BOOTP was first defined in September 1985 in RFC 951 as a replacement for the Reverse Address Resolution Protocol RARP, published in RFC 903 in June 1984. The primary motivation for replacing RARP with BOOTP is that RARP was a link layer protocol. This made implementation difficult on many server platforms, and required that a server be present on each individual IP subnet. BOOTP introduced the innovation of relay agents, which forwarded BOOTP packets from the local network using standard IP routing, so that one central BOOTP server could serve hosts on many subnets.


Operation

; Case 1: Client and server on same network 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 “BOOTP request”, and it is picked up by the BOOTP server, which replies to the client with the following information that the client needs: # The client’s IP address, subnet mask, and default gateway address. # The IP address and host name of the BOOTP server. # The IP address of the server that has the boot image, which the client needs to load its operating system. 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. The client loads the boot image and uses this information to load and start its operating system. The Dynamic Host Configuration Protocol (DHCP) was developed as an extension of BOOTP. BOOTP is defined in Request for Comments (RFC) 951 and 1084. ; Case 2: Client and server on different networks # Problem with the bootp request is that the request is broadcast. A
broadcast Broadcasting is the distribution of audio or video content to a dispersed audience via any electronic mass communications medium, but typically one using the electromagnetic spectrum (radio waves), in a one-to-many model. Broadcasting began wi ...
IP datagram cannot pass through any router. The router discards this packet. # To solve this problem, there is a need for an intermediary (relay). # One of the host or router can be configured at application layer to operate as relay agent. # The relay agent knows the uni-cast address of bootp server and listens for broadcast message on port 67. # When it receives this broadcast packet, it encapsulates the message in
unicast Unicast is data transmission from a single sender (red) to a single receiver (green). Other devices on the network (yellow) do not participate in the communication. In computer networking, unicast is a one-to-one transmission from one point in ...
datagram and sends request to bootp server. # The packet carrying a unicast destination address is routed by any router and reaches the bootp server. # The relay agent, after receiving the reply, sends it to bootp client.


IETF standards documentation


See also

*
Preboot Execution Environment In computing, the Preboot eXecution Environment, PXE (most often pronounced as ''pixie'', often called PXE Boot/''pixie boot''.) specification describes a standardized client–server environment that boots a software assembly, retrieved from ...
(PXE) * Remote Initial Program Load (RIPL) * UDP Helper Address — a tool for routing BOOTP requests across subnet boundaries * Boot Service Discovery Protocol (BSDP) * Maintenance Operations Protocol (MOP)


References


External links


BOOTP Sequence Diagram
{{Webarchive, url=https://web.archive.org/web/20150226073404/http://www.eventhelix.com/RealtimeMantra/Networking/Bootp.pdf , date=2015-02-26 (PDF)
Multicast BOOTP for configuring a network device
*
Multicast BOOTP server and client
Internet protocols Internet Standards Network booting