Header Ads

Header ADS

BOOTP: Bootstrap Protocol


Protocol Description 

The Bootstrap Protocol (BOOTP) is a UDP/IP-based protocol which allows a booting host to configure itself dynamically and without user supervision. BOOTP provides a means to notify a host of its assigned IP address, the IP address of a boot server host and the name of a file to be loaded into memory and executed. Other configuration information such as the local subnet mask, the local time offset, the addresses of default routers and the addresses of various Internet servers, can also be communicated to a host using BOOTP.

BOOTP uses two different well-known port numbers. UDP port number 67 is used for the server and UDP port number 68 is used for the BOOTP client. The BOOTP client broadcasts a single packet called a BOOTREQUEST packet that contains the client’s physical network address and optionally, its IP address if known. The client could send the broadcast using the address 255.255.255.255, which is a special address called the limited broadcast address. The client waits for a response from the server. If a response is not received within a specified time interval, the client retransmits the request.

The server responds to the client’s request with a BOOTREPLY packet. The request can (optionally) contain the ‘generic’ filename to be booted, for example, ‘unix’ or ‘ethertip’. When the server sends the bootreply, it replaces this field with the fully qualified path name of the appropriate boot file. In determining this name, the server may consult its own database correlating the client’s address and filename request, with a particular boot file customized for that client.  If the bootrequest filename is a null string, then the server returns a filename field indicating the ‘default’ file to be loaded for that client.

 In the case of clients which do not know their IP addresses, the server must also have a database relating hardware address to IP address. This client IP address is then placed into a field in the bootreply.

 BOOTP is an alternative to RARP, which operates at the Data Link Layer for LAN only. BOOTP, a UDP/IP based configuration protocol, provides much more configuration information and allows dynamic configuration for an entire IP network. BOOTP and its extensions became the basis for the Dynamic Host Configuration Protocol (DHCP).

Protocol Structure



Op: The message operation code. Messages can be either BOOTREQUEST or BOOTREPLY.

Htype   The hardware address type.
Hlen     The hardware address length.
Xid       The transaction ID.
Secs     The seconds elapsed since the client began the address acquisition or renewal process.
Flags    The flags. Ciaddr The client IP address.
Yiaddr  The “Your” (client) IP address.
Siaddr  The IP address of the next server to use in bootstrap.
Giaddr  The relay agent IP address used in booting via a relay agent.
Chaddr The client hardware address.
Sname  Optional server host name, null terminated string
File        Boot file name, null terminated string; generic name or null in DHCPDISCOVER, fully                      qualified directory-path name in DHCPOFFER.
Options Optional parameters field.

No comments

Powered by Blogger.