DHCP
DHCP (Dynamic Host Configuration Protocol) automatically assigns IP addresses and network parameters to devices when they join a network. It eliminates manual address configuration, manages address pools, and provides lease-based allocation so addresses return to the pool when no longer needed.
itNetworking | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic: DHCP
DHCP is the network's configuration desk. A device arrives with the digital equivalent of an empty form, and DHCP returns the address and settings it needs to join the conversation. Before DHCP, somebody typed those details into each device. This was tolerable until the building filled with laptops, phones, virtual machines, and the occasional mystery appliance that has somehow acquired a screen.
The central trick is the lease. An address is permission for a period, not a deed handed down through generations. The server records a binding between a client and its configuration, then takes the address back when the permission ends. That is how a finite address pool serves a population that comes and goes without requiring a spreadsheet to become a critical network component.
In DHCPv4, the first conversation has four useful beats: Discover, Offer, Request, and Acknowledge. The client asks who can help. Servers offer configuration. The client selects one offer. The chosen server confirms it. This sequence is often called DORA, a pleasant abbreviation that should not prevent anyone from reading the packet names when something breaks.
The surprising part is that an address is only the envelope. DHCP options can also supply a subnet mask, default router, and DNS servers. A client can receive a perfectly valid address and still fail to reach anything useful if one of those settings is wrong. This is why packet captures and server logs need to show the returned options, not merely the happy sight of an ACK.
Relay agents are the couriers that let a client broadcast locally while a server lives elsewhere. They carry the request across routed boundaries and provide the subnet context the server uses to choose policy. When one subnet fails and the rest survive, this path is more suspicious than the shared server. DHCPv6 has related goals but a separate protocol, and Router Advertisements still participate in IPv6 router discovery.
Start with the Intro for the roles, leases, relays, and trust boundary. Use the Slides when the message flow and failure scope need a compact map. Keep the Cheatsheet nearby when you need ports, option codes, lifecycle states, or the next observation to collect. The Reference tab is where exact RFC behavior and the current option registry wait patiently, as standards do.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://www.rfc-editor.org/info/rfc2131
Supports
- DHCPv4 purpose, client-server model, reusable address allocation, and host configuration
- Client, server, relay agent, binding, lease, and fixed-allocation concepts
- DHCPDISCOVER, DHCPOFFER, DHCPREQUEST, DHCPACK, DHCPNAK, DHCPDECLINE, and DHCPRELEASE behavior
- DHCPv4 use of UDP ports 67 and 68 and initial broadcast behavior
- Renewal, rebinding, expiry, retransmission, and release behavior
- Relay behavior and support for servers outside the client subnet
- Parameter request and server response behavior
- Risks from unauthorized servers and false address, router, or name-server information
- RFC 2131 publication in 1997 and its update of RFC 1541
- https://www.rfc-editor.org/info/rfc2132
Supports
- DHCPv4 option code, length, and value format
- Foundational option meanings for subnet mask, router, DNS server, requested address, lease time, message type, server identifier, renewal time, and rebinding time
- Binding as configuration associated with a client
- https://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xhtml
Supports
- Current registered DHCP and BOOTP option codes, names, meanings, lengths, and defining references
- Current DHCP message type and related parameter registries
- https://www.rfc-editor.org/info/rfc5227
Supports
- IPv4 address probing, announcement, ongoing conflict detection, and defense
- DHCP client final address checks and DHCPDECLINE after detecting an in-use address
- Limits of conflict detection to hosts on the same link
- https://www.rfc-editor.org/info/rfc4861
Supports
- IPv6 Neighbor Discovery and Router Advertisement behavior
- Router discovery and construction of a host's default-router list
- Router Advertisements as part of the IPv6 control plane alongside information learned through DHCPv6
- https://www.rfc-editor.org/info/rfc9915
Supports
- Current DHCPv6 Internet Standard status and replacement of RFC 8415
- DHCPv6 stateful address assignment, stateless configuration, and prefix delegation
- Operation in place of or alongside SLAAC
- Solicit, Advertise, Request, Reply, Renew, Rebind, Release, and Information-request exchanges
- DHCPv6 UDP ports 546 and 547, multicast discovery, identifiers, relays, and lifetimes
- DHCPv6 security risks including resource exhaustion and incorrect server configuration
- RFC 9915 publication in 2025 and replacement of RFC 8415
- https://www.rfc-editor.org/info/rfc951
Supports
- BOOTP publication in 1985, bootstrap address discovery, UDP transport, and gateway forwarding
- https://www.rfc-editor.org/info/rfc1531
Supports
- Initial DHCP specification published in 1993 and its BOOTP extension model
- https://www.rfc-editor.org/info/rfc1541
Supports
- RFC 1541 publication in 1993 as a revision of the first DHCP specification
- https://www.rfc-editor.org/info/rfc3046
Supports
- Relay Agent Information Option publication in 2000 and relay-supplied client access context
- https://www.rfc-editor.org/info/rfc3315
Supports
- Initial DHCPv6 specification published in 2003
- https://www.rfc-editor.org/info/rfc3633
Supports
- DHCPv6 prefix delegation published in 2003
- https://www.rfc-editor.org/info/rfc5007
Supports
- DHCPv6 Leasequery publication in 2007
- https://www.rfc-editor.org/info/rfc8415
Supports
- DHCPv6 specification published in 2018 and replacement of RFC 3315
- https://kea.readthedocs.io/en/stable/arm/dhcp4-srv.html
Supports
- Kea DHCPv4 subnet, pool, reservation, and option-scope configuration
- https://reports.kea.isc.org/dev_guide/d3/d96/libdhcp_ha.html
Supports
- Kea high-availability peer behavior, outage handling, and separate HA state machine
- https://learn.microsoft.com/en-us/windows-server/networking/technologies/dhcp/dhcp-failover
Supports
- Windows DHCP failover replication of scopes, active leases, and settings between partner servers
- https://www.cisco.com/c/en/us/td/docs/routers/ios/config/17-x/ip-addressing/b-ip-addressing/m_config-dhcp-server-xe.html
Supports
- Cisco IOS XE DHCP server address pools and DHCP client parameter assignment
- https://bluecatnetworks.com/products/integrity/
Supports
- DDI integration of DNS, DHCP, and IP address management
- https://www.infoblox.com/products/nios/
Supports
- Infoblox NIOS integration of DNS, DHCP, IP address management, leases, reservations, and DHCP failover
- https://www.rfc-editor.org/info/rfc3927
Supports
- IPv4 link-local self-assignment from 169.254.0.0/16 when no DHCP server answers
- Link-local addresses are confined to a single link and are not forwarded
- https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/ipconfig
Supports
- Windows ipconfig /all reporting of per-adapter DHCP enablement, DHCP server address, and lease obtained and expires times
- https://www.freedesktop.org/software/systemd/man/latest/networkctl.html
Supports
- networkctl status reporting of per-link addresses, routes, and DNS values applied from a DHCP lease
- https://networkmanager.dev/docs/api/latest/nmcli.html
Supports
- nmcli device show reporting of interface addresses, gateway, and DNS values currently applied
- https://www.tcpdump.org/manpages/tcpdump.1.html
Supports
- Interface selection and port-based capture filter syntax for isolating protocol traffic
