DHCP message formatFigure 268 shows the DHCP message format. DHCP uses some of the fields in significantly different ways. The numbers in parentheses indicate the size of each field in bytes.
Figure 268 DHCP message format
| 0 | 7 | | 15 | | 23 | | 31 | |
| op (1) | | | htype (1) | | hlen (1) | | hops (1) | |
| | | | | | | | | |
| | | | xid (4) | | | | |
| | | | | | | |
| | secs (2) | | | flags (2) | | |
| | | | | | | | | |
ciaddr (4)
yiaddr (4)
siaddr (4)
giaddr (4)
chaddr (16)
sname (64)
file (128)
options (variable)
•op—Message type defined in option field. 1 = REQUEST, 2 = REPLY
•htype, hlen—Hardware address type and length of the DHCP client.
•hops—Number of relay agents a request message traveled.
•xid—Transaction ID, a random number chosen by the client to identify an IP address allocation.
•secs—Filled in by the client, the number of seconds elapsed since the client began address acquisition or renewal process. This field is reserved and set to 0.
•flags—The leftmost bit is defined as the BROADCAST (B) flag. If this flag is set to 0, the DHCP server sent a reply back by unicast. If this flag is set to 1, the DHCP server sent a reply back by broadcast. The remaining bits of the flags field are reserved for future use.
•ciaddr—Client IP address if the client has an IP address that is valid and usable. Otherwise, it is set to zero. (The client does not use this field to request a specific IP address to lease.)
•yiaddr—"Your" (client) IP address, assigned by the server.
•siaddr—Server IP address, from which the client obtained configuration parameters.
•giaddr—(Gateway) IP address of the first relay agent a request message traveled.
•chaddr—Client hardware address.
•sname—Server host name, from which the client obtained configuration parameters.
•file—Bootfile name and path information, defined by the server to the client.
•options—Optional parameters field that is variable in length, which includes the message type, lease duration, subnet mask, domain name server IP address, and WINS IP address.
294