The Bootstrap Protocol (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.
|