1-3
By default, a DHCP client updates its IP address lease automatically by unicasting a DHCP-REQUEST
packet to the DHCP server when half of the lease time elapses. The DHCP server responds with a
DHCP-ACK packet to notify the DHCP client of a new IP lease if the server can assign the same IP
address to the client. Otherwise, the DHCP server responds with a DHCP-NAK packet to notify the
DHCP client that the IP address will be reclaimed when the lease time expires.
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 Packet Format
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 1-2
DHCP packet format
The fields are described as follows:
z
op: Operation types of DHCP packets, 1 for request packets and 2 for response packets.
z
htype, hlen: Hardware address type and length of the DHCP client.
z
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.
z
xid: Random number that the client selects when it initiates a request. The number is used to
identify an address-requesting process.
z
secs: Elapsed time after the DHCP client initiates a DHCP request.
z
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.
z
ciaddr: IP address of a DHCP client.
z
yiaddr: IP address that the DHCP server assigns to a client.
z
siaddr: IP address of the DHCP server.
z
giaddr: IP address of the first DHCP relay agent that the DHCP client passes after it sent the
request packet.
z
chaddr: Hardware address of the DHCP client.
z
sname: Name of the DHCP server.