Skip to content

DHCP Message Types Reference

Quick reference for DHCPv4 and DHCPv6 message types — what each message means, when it appears, and how the two protocols line up.

TypeCodeDirectionDescription
DISCOVER1Client → ServerClient broadcasts to find available DHCP servers
OFFER2Server → ClientServer offers IP address configuration
REQUEST3Client → ServerClient requests offered configuration
DECLINE4Client → ServerClient indicates the offered address is already in use
ACK5Server → ClientServer confirms configuration
NAK6Server → ClientServer denies the configuration request
RELEASE7Client → ServerClient releases the assigned address
INFORM8Client → ServerClient requests configuration without an IP
ASCII fallback
Client Server
| |
|-------- DISCOVER ------------>|
|<-------- OFFER ---------------|
|-------- REQUEST ------------->|
|<-------- ACK -----------------|
ASCII fallback
Client Server
|-------- REQUEST ------------->|
|<-------- ACK -----------------|
ASCII fallback
Client Server
|-------- REQUEST ------------->|
|<-------- NAK -----------------|
|-------- DISCOVER ------------>|
... (new DORA cycle)

DISCOVER — source IP 0.0.0.0, destination 255.255.255.255. Usually carries the Parameter Request List (Option 55), Client Identifier (Option 61), and Hostname (Option 12).

OFFER — contains the offered IP address, lease time, server identifier, and the options the client requested.

REQUEST — appears in four flavours: selecting (accepting an offer), renewing (unicast to the assigned server), rebinding (broadcast when renewal fails), and init-reboot (after a host reboot with a remembered lease).

ACK — confirms the configuration with the full set of parameters.

NAK — rejects the request. Common causes: invalid requested address, client on the wrong subnet, administrative policy.

RELEASE — sent when a client shuts down or moves networks.

INFORM — used by hosts with statically assigned addresses that still need configuration parameters (DNS, NTP, etc.).

TypeCodeDirectionDescription
SOLICIT1Client → ServerClient seeks DHCP servers
ADVERTISE2Server → ClientServer responds to a solicit
REQUEST3Client → ServerClient requests configuration
CONFIRM4Client → ServerClient verifies its address is still valid
RENEW5Client → ServerClient renews addresses
REBIND6Client → ServerClient rebinds addresses when its server is unreachable
REPLY7Server → ClientServer provides configuration
RELEASE8Client → ServerClient releases addresses
DECLINE9Client → ServerClient declines an offered address
RECONFIGURE10Server → ClientServer triggers reconfiguration
INFORMATION-REQUEST11Client → ServerClient requests configuration only
RELAY-FORW12Relay → ServerRelay forwards a client message
RELAY-REPL13Server → RelayServer replies via the relay
ASCII fallback
Client Server
|-------- SOLICIT ------------->|
|<-------- ADVERTISE -----------|
|-------- REQUEST ------------->|
|<-------- REPLY ---------------|
ASCII fallback
Client Server
|-------- SOLICIT ------------->|
| (rapid commit) |
|<-------- REPLY ---------------|
ASCII fallback
Client Server
|-------- RENEW --------------->|
|<-------- REPLY ---------------|

SOLICIT — sent to ff02::1:2 (All_DHCP_Relay_Agents_and_Servers). Carries Client DUID (Option 1), IA_NA / IA_TA / IA_PD identity associations, and the Option Request list.

ADVERTISE — the server’s reply with its DUID, available addresses or prefixes, and configuration options.

REQUEST — the client picks a server and includes the chosen server’s DUID.

REPLY — provides the requested configuration.

RENEW vs REBIND:

MessageWhenDestination
RENEWBefore the T1 timer expiresUnicast to the assigned server
REBINDAfter T1, before T2 — when RENEW gets no answerMulticast to all servers

CONFIRM — sent when a client reconnects to a network and wants to know whether its remembered address is still appropriate.

DHCPv6 relays don’t translate client messages — they wrap them:

+------------------+
| RELAY-FORW |
| - hop-count |
| - link-address |
| - peer-address |
| +------------+ |
| | Client Msg | |
| +------------+ |
+------------------+

The server unwraps the inner message, processes it, and sends a RELAY-REPL back the same way.

DHCPv4DHCPv6Purpose
DISCOVERSOLICITFind servers
OFFERADVERTISEServer’s first response
REQUESTREQUESTRequest configuration
ACKREPLYConfirm configuration
NAK(Status Code option in REPLY)Deny request
RELEASERELEASERelease addresses
DECLINEDECLINEDecline an offered address
INFORMINFORMATION-REQUESTConfiguration only, no address

In automation rules, DHCP Stream filters, and processor rules, message types are referenced by their textual name.

DHCPv4:

msg_type equals DISCOVER
msg_type in DISCOVER,REQUEST,RENEW

DHCPv6:

msg_type equals SOLICIT
msg_type in SOLICIT,REQUEST,RENEW,REBIND
  • DHCP Stream — Real-time monitoring with message-type filters.
  • Automation — Filtering by message type in automation rules.
  • Glossary — Term definitions.