Internet protocol suite |
---|
Application layer |
Transport layer |
Internet layer |
Link layer |
The Bootstrap Protocol (BOOTP) is a computer networking protocol used in Internet Protocol networks to automatically assign an IP address to network devices from a configuration server. The BOOTP was originally defined in RFC 951 published in 1985.
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 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 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, 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 of the interface cards as well as system boards with on-board network adapters, thus allowing direct network booting.
The BOOTP was first defined in September 1985REFERENCE FOR RFC951 IS NOT DEFINED YET. You are invited to add it here. as a replacement for the Reverse Address Resolution Protocol (RARP), published in June 1984.REFERENCE FOR RFC903 IS NOT DEFINED YET. You are invited to add it here. 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.REFERENCE FOR RFC951 IS NOT DEFINED YET. You are invited to add it here.
An increasing set of BOOTP vendor information extensions was definedREFERENCE FOR RFC1048 IS NOT DEFINED YET. You are invited to add it here.'REFERENCE FOR RFC1084 IS NOT DEFINED YET. You are invited to add it here.'REFERENCE FOR RFC1395 IS NOT DEFINED YET. You are invited to add it here.'REFERENCE FOR RFC1497 IS NOT DEFINED YET. You are invited to add it here. to supply BOOTP clients of relevant information about the network, like default gateway, 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,REFERENCE FOR RFC1533 IS NOT DEFINED YET. You are invited to add it here.'REFERENCE FOR RFC2132 IS NOT DEFINED YET. You are invited to add it here. to allow DHCP servers to also serve BOOTP clients.
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:
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.[1]
The Dynamic Host Configuration Protocol (DHCP) was developed as an extension of BOOTP. BOOTP is defined in Request for Comments (RFC) 951 and 1084.
Original source: https://en.wikipedia.org/wiki/Bootstrap Protocol.
Read more |