DHCP Packet Format
If the DHCP client fails to update its IP address lease when half of the lease time
elapses, it will update its IP address lease by broadcasting a DHCP-REQUEST packet
to the DHCP servers again when seven-eighths of the lease time elapses. The
DHCP server performs the same operations as those described above.
DHCP has eight types of packets. They have the same format, but the values of
some fields in the packets are different. The DHCP packet format is based on that
of the BOOTP packets. The following figure describes the packet format (the
number in the brackets indicates the field length, in bytes):
Figure 86 DHCP packet format
0
7
op (1)
secs (2)
The fields are described as follows:
op: Operation types of DHCP packets, 1 for request packets and 2 for response
■
packets.
htype, hlen: Hardware address type and length of the DHCP client.
■
hops: Number of DHCP relay agents which a DHCP packet passes. For each
■
DHCP relay agent that the DHCP request packet passes, the field value
increases by 1.
xid: Random number that the client selects when it initiates a request. The
■
number is used to identify an address-requesting process.
secs: Elapsed time after the DHCP client initiates a DHCP request.
■
flags: The first bit is the broadcast response flag bit, used to identify that the
■
DHCP response packet is a unicast (set to 0) or broadcast (set to 1). Other bits
are reserved.
ciaddr: IP address of a DHCP client.
■
yiaddr: IP address that the DHCP server assigns to a client.
■
siaddr: IP address of the DHCP server.
■
giaddr: IP address of the first DHCP relay agent that the DHCP client passes
■
after it sent the request packet.
chaddr: Hardware address of the DHCP client.
■
15
htype (1)
hlen (1)
xid (4)
ciaddr (4)
yiaddr (4)
siaddr (4)
giaddr (4)
chaddr (16)
sname (64)
file (128)
options (variable)
DHCP Packet Format
283
23
31
hops (1)
flags (2)