The Lease Lifecycle
DORA happens once; renewal is a different exchange entirely
Step 1 of 2 — understand the idea. Read this first and the packet trace will confirm what you already expect, instead of teaching you two things at once.
What you'll be able to do
- ▸Explain why a renewal needs neither DISCOVER nor OFFER
- ▸Read ciaddr and say whether a client already has an address
- ▸Say what T1 and T2 are for, and what happens if a renewal is ignored
- the loan period
- → the lease time, option 51
- the date you should renew by
- → T1, option 58 — normally half the lease
- renewing at the desk you borrowed from
- → the unicast REQUEST to the granting server
- asking any branch when yours is closed
- → rebinding at T2, broadcast to any server
- the book going back on the shelf
- → expiry, and the address returning to the pool
Where it breaks down: A library will chase you. DHCP will not: nothing tells a client its renewal was ignored except the silence, and nothing tells the server the client has gone. Both sides find out by a timer expiring, which is why the symptoms of a DHCP failure appear so long after its cause.
✗ Common misunderstanding: Every DHCP exchange is DISCOVER, OFFER, REQUEST, ACK.
Why that's wrong: DORA is what INITIAL allocation looks like. A renewal has no DISCOVER and no OFFER, because nothing is being discovered and nothing is being offered — the client already knows the server and the address.
Correct model: Allocation is four messages and happens once. Renewal is two, unicast, with ciaddr set, and happens every T1 for as long as the client is on the network.
The packets prove it: This lesson's trace does DORA once at the start and then a two-message renewal every two seconds, with ciaddr populated and no broadcast in sight.
Watch these fields in the lab: dhcp.ciaddr · dhcp.yiaddr
- 1Allocation. DISCOVER, OFFER, REQUEST, ACK — four messages, all broadcast, because the client has no address to be reached at.
- 2In use. The client holds the address and DHCP goes silent. This is most of the lease's life and produces no traffic at all.
- 3T1, half the lease. The client sends a unicast REQUEST to the server that granted it, with
ciaddrset. An ACK resets the clock and the cycle repeats. - 4T2, if renewal failed. The client broadcasts, asking ANY server to confirm the lease. It is no longer fussy about who answers.
- 5Expiry. Nothing has confirmed the lease. The client must stop using the address entirely and start again from DISCOVER — and until it does, it has no connectivity at all.
- 6Release, if the client is well behaved. A RELEASE message hands the address back early. Shutting down without one is legal and common, and the server simply waits out the clock.
✗ Common misunderstanding: When a lease expires the client keeps the address until something better comes along.
Why that's wrong: It must not. An expired lease means the server is free to give that address to somebody else, and two machines using one address is worse than one machine using none.
Correct model: At expiry the client abandons the address and starts again from DISCOVER. The failure is total and abrupt, which is why it looks so dramatic when it happens.
The packets prove it: The DHCP module's no-server scenario shows a client with no lease repeating DISCOVER and getting nowhere — which is exactly the state an expired client returns to.
Watch these fields in the lab: dhcp.ciaddr
✓ Concept check — before you open the packets
These test the idea, not the trace. You should be able to answer them from the explanation above.
Now that you understand the concept, observe how it appears in the packet exchange.
The lab runs a real simulated capture — pause, step, click any packet, and inspect every byte.