CITS3002 Computer Networks  
prev
next CITS3002 help3002 CITS3002 schedule  

The Bootstrap Protocol (BOOTP)

bootp
The Bootstrap Protocol (BOOTP) is a UDP/IP-based protocol that allows a booting host to configure itself dynamically, and more significantly, without user supervision. BOOTP is fully defined in RFC-1497. A server's BOOTP response includes several configuration items, and fits in a single (Ethernet) packet.

It provides a means to assign a host its IP address, a file from which to download a boot program from some server, that server's address, and (if present) the address of an Internet gateway.

One problem appears to have been introduced - how can BOOTP use a 'higher' protocol from the TCP/IP suite (in this case UDP) if it is trying to determine IP-level information? The answer lies in the use of special IP addresses within the BOOTP request packet:

  • To send the BOOTP datagram, the client machine sets the destination IP address to the global broadcast (255.255.255.255), and its own source IP address to 0.0.0.0.
  • The responding BOOTP server either replies with an IP broadcast (heard by the requesting client), or responds directly to the client's MAC address.

Booting over a Network

An additional feature of BOOTP is its support of providing a computer's (or any 'dumber' device's) operating system's image:

  • The client may provide a generic string, such as UNIX or NCD-XTERM-1320, in the TFTP-boot-filename field of its request,
  • The BOOTP server may accept this part of the request, and respond with the pathname of an operating system's kernel image available from the server, such as /tftp/bootimages/vmlinuz-4.14
  • The client may then use this pathname in a subsequent request using the Trivial File Transfer Protocol (TFTP, [RFC-783]) to fetch its boot image (loading it directly into memory).
  • This feature is excellent for maintaining identical operating system kernels, or booting diskless machines.



CITS3002 Computer Networks, Lecture 7, The TCP/IP protocol suite, p16, 17th April 2024.