Presentation: Presented To: DR - Ansar Munir Shah Data Communication and Computer Networks
Presentation: Presented To: DR - Ansar Munir Shah Data Communication and Computer Networks
Presented to :
Dr.Ansar Munir Shah
Data Communication and Computer
Networks
BOOTP
Presented By:
SAJID ABBAS MCS-023R18-01
AHMAD NASIR MCS-023R18-
12
MUHAMMAD HANEEF MCS-023R18-20
MUHAMMAD WAQAS MCS-023R18-
39
Definition - What does Bootstrap Protocol (BOOTP) mean?
• The Bootstrap Protocol is a networking protocol used to by a client for obtaining an IP address
from a server. It was originally defined as specification RFC 951 and was designed to replace the
Reverse Address Resolution Protocol (RARP), also known as RFC 903. Bootstrap protocol was
intended to allow computers to find what they need to function properly after booting up. BOOTP
uses a relay agent, which allows packet forwarding from the local network using standard IP
routing, allowing one BOOTP server to serve hosts on multiple subnets.
• BOOTP is a broadcast protocol as it needs to send messages out to all the available hosts in the
network in order to get answers or resources. BOOTP is used during the bootstrap process when
the computer is initially starting up, hence the name. BOOTP initially required the use of floppy
disks to establish the initial network connection but soon the process was integrated into the BIOS
of network interface cards and motherboards to allow direct network booting.
Definition - What does Bootstrap Protocol (BOOTP) mean?
• Bootstrap Protocol is used to establish a network connection during a computer's initial boot up
during the bootstrap process. Originally, the protocol used floppy disks, but it was soon integrated
into computer hardware in motherboards and network adapters, so that no external drive is
needed.
• BOOTP was intended for diskless systems because they require such a protocol in order to contact
a server to obtain a network address and some information on which operating system to use. The
computer then downloads the OS via Trivial File Transfer Protocol.
• Free Techopedia White Paper | The Ultimate Guide to Applying AI in Business > Download Now
Techopedia explains Bootstrap Protocol (BOOTP)
Definition - What does Bootstrap Protocol (BOOTP) mean?
• 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.
• When a computer that is connected to a network is powered up and boots its operating system,
the system software broadcasts BOOTP messages onto the network to request an IP address
assignment. A BOOTP configuration server assigns an IP address based on the request from a pool
of addresses configured by an administrator.
• BOOTP is implemented using the User Datagram Protocol (UDP) as transport protocol, port
number 67 is used by the (DHCP) server to receive client requests and port number 68 is used by
the client to receive (DHCP) server responses. BOOTP operates only on IPv4 networks.
Definition - What does Bootstrap Protocol (BOOTP) mean?
• 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.
• Originally 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.
• 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.
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.
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.
• Courtesy: https://networkencyclopedia.com/bootstrap-protocol-bootp/
Case 2 : Client and server on different networks
• Problem with the bootp request is that the request is broadcast. A broadcast IP data-gram 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 uni-cast data-gram and sends
request to bootp server.
• The packet carrying a uni-cast destination address is routed by any router and reaches the bootp server.
• The relay agent after receiving the reply, sends it to bootp client.
BOOTP (Bootstrap Protocol)
BOOTP (Bootstrap Protocol) is the successor of RARP (Reverse ARP) and the predecessor of DHCP.
• RARP is a link layer protocol and the problem of RARP is that you can’t route these packets. You need a
RARP server on every subnet. BOOTP uses the UDP transport protocol and rides on top of IP so it can be
routed. BOOTP supports relay servers so you can have a central BOOTP server that assigns IP addresses
to hosts in all of your subnets.
• Another issue with RARP is that it only allows you to assign an IP address, that’s it. No default gateway,
DNS servers, etc. BOOTP supports all of this. You can assign an IP address, default gateway, subnet
mask, DNS servers, and other options.
• In the past, BOOTP was often used to specify a TFTP server and boot image that diskless workstations
could use. The diskless workstation receives an IP address, TFTP server address, and boot image
filename. It then downloads the boot image from the TFTP server and boots its OS.
BOOTP (Bootstrap Protocol)
• BOOTP uses UDP port 67 and 68. If you have seen DHCP before then everything I explained so far might sound very
familiar. In fact, DHCP is based on BOOTP. The port numbers are the same so you can’t run a BOOTP and DHCP server
at the same time.
•
• There is a key difference between BOOTP and DHCP though. BOOTP uses a static database that you have to fill
yourself. Similar to RARP, you need to enter all MAC addresses and the IP addresses (and other options like a default
gateway) you want to use in the database yourself. When a BOOTP server receives a request, it looks in its database
for a matching entry and then returns the result to the host.
•
• DHCP servers use a “pool” of addresses. When the DHCP server receives a request, it returns an IP address from the
pool that you configured. It doesn’t care about the MAC address unless you use a reservation. This is more efficient
since you don’t waste any IP addresses that are not in use.
Bootp Request
The host sends a BOOTP request and uses UDP source port 68 and destination port 67. This packet is
a broadcast so everything in the broadcast domain receives it. On our network, we have a BOOTP
server listening on UDP port 67:
Bootp Reply
The server sees the broadcast packet from the host and since it’s listening on UDP port 67, it
processes the packet. The server then looks in its database to find a matching entry for the MAC
address of the host. When there is a match, it returns the information to the host with a unicast
packet.
DHCP
Nowadays, we don’t use BOOTP as it has been replaced by DHCP. Since DHCP was built on BOOTP, if
you look at a DHCP capture, you will see bootstrap terminology in the packets:
Conclusion