Content deleted Content added
→Operation: Changed the first stage of operation to simple readable text. Tags: Mobile edit Mobile app edit Android app edit |
m →External links: HTTP to HTTPS for SourceForge |
||
(48 intermediate revisions by 29 users not shown) | |||
Line 1:
{{short description|Computer networking protocol}}
The '''Bootstrap Protocol''' ('''BOOTP''') is a computer networking protocol used in
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. Some DHCP servers also provide the legacy BOOTP functionality.
When a network-connected computer [[booting|boots]] 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]] (UDP) for transport. Port number 67 is used by the server for receiving client requests, and port number 68 is used by the client for receiving server responses. BOOTP operates only on [[IPv4]] networks.
Historically, BOOTP has also been used for [[Unix-like]] [[diskless workstation]]s to obtain the network ___location of their [[boot image]], in addition to the IP address assignment. Enterprises used it to roll out a pre-configured client (e.g., [[Microsoft Windows|Windows]]) installation to newly installed PCs.
Initially requiring the use of a boot [[floppy disk]] to establish the initial network connection, manufacturers of network interfaces later embedded the protocol in the [[firmware]] of interface cards as well as system boards with on-board network interfaces, thus allowing direct network booting.
==History==
The BOOTP was first defined in September 1985
An increasing set of BOOTP vendor information extensions was defined{{Ref RFC|1048}}{{Ref RFC|1084}}{{Ref RFC|1395}}{{Ref RFC|1497}} to supply BOOTP clients of relevant information about the network, like [[default gateway]], [[Domain name system|name server IP address]], the [[___domain name]], etcetera.
With the advent of the [[Dynamic Host Configuration Protocol]], the BOOTP vendor information extensions were incorporated as DHCP option fields,{{Ref RFC|1533}}{{Ref RFC|2132}} to allow DHCP servers to also serve BOOTP clients.
==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.<ref>{{cite web |url=https://networkencyclopedia.com/bootstrap-protocol-bootp/ |title=Bootstrap Protocol (BOOTP) |website=Network Encyclopedia}}</ref>
The Dynamic Host Configuration Protocol (DHCP) was developed as an extension of BOOTP. BOOTP is defined in Requests for Comments (RFC) 951 and 1084.
=== Case 2
# Problem with the bootp request is that the request is broadcast. A [[IP address#Broadcast addressing|broadcast]] [[IP
# 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
# The packet carrying a
# The relay agent, after receiving the reply, sends it to bootp client.
==IETF standards documentation==
*{{Ref RFC|3942|ref=no}}
*{{Ref RFC|2132|ref=no}}
*{{Ref RFC|1542|ref=no}}
*{{Ref RFC|1534|ref=no}}
*{{Ref RFC|951|ref=no}}
==See also==
Line 115 ⟶ 54:
* [[UDP Helper Address]] — a tool for routing BOOTP requests across subnet boundaries
* [[Boot Service Discovery Protocol]] (BSDP)
* [[Maintenance Operations Protocol]] (MOP)
==References==
Line 120 ⟶ 60:
==External links==
* [http://www.eventhelix.com/RealtimeMantra/Networking/Bootp.pdf BOOTP Sequence Diagram] {{Webarchive|url=https://web.archive.org/web/20150226073404/http://www.eventhelix.com/RealtimeMantra/Networking/Bootp.pdf |date=2015-02-26 }} (PDF)
* [
* [
[[Category:Internet protocols]]
|