BOOTP Packet Structure

Before delving into the conversation between a BOOTP client and a BOOTP server, I will examine the packet structure of the BOOTP protocol (see Figure 2.2).

A BOOTP packet’s transmission order is from left to right, top to bottom—just as you are reading this page. The number shown in parentheses is the number of octets (or bytes) each field occupies.

BOOTP packet structure

Figure 2-2. BOOTP packet structure

Field Definitions

Table 2.1 lists the available fields in a BOOTP packet and describes the type of information each field is to supply.

Table 2-1. BOOTP Field Definitions

Field

Definition

op

Specifies the message type: if 1, the message is a BOOTPREQUEST; if 2, the message is a BOOTPREPLY.

htype

Specifies the hardware address type (i.e., Ethernet or Token Ring). 10 Mbps Ethernet = 1.

hlen

Specifies the hardware address length. Ethernet = 6.

hops

Specifies the number of hops or routers between the client and the server.

xid

Specifies the transaction ID number. This is a random number that is used to match up the request with the reply that is returned.

secs

Specifies how long it has been since the client was booted up.

flags

Specifies whether the BOOTPREPLY message should be sent as a unicast message or a broadcast message.

ciaddr

Specifies the client’s IP address if known. This is only used in a bootprequest message.

yiaddr

Specifies the IP address assigned to ...

Get DHCP for Windows 2000 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.