SubnetLayerProtocols

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

Before this lesson — it builds directly on:
A DHCP server could hand out an address permanently and never think about it again. It does not, and the reason is that machines leave. A laptop goes home. A phone joins a different network. A virtual machine is destroyed. If every address handed out were kept forever, the pool would drain and never refill, and somebody would have to go round reclaiming them by hand. So an address comes with a clock. The client is responsible for renewing before it runs out, and an address whose clock has expired goes back in the pool for somebody else. That one decision is why DHCP has a lifecycle at all.
A library book rather than a gift. You have it, it is genuinely yours to use, and there is a date by which you must either bring it back or ask to keep it longer. Ask in good time and nobody minds. Say nothing and eventually it is someone else's.
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

  1. 1Allocation. DISCOVER, OFFER, REQUEST, ACK — four messages, all broadcast, because the client has no address to be reached at.
  2. 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.
  3. 3T1, half the lease. The client sends a unicast REQUEST to the server that granted it, with ciaddr set. An ACK resets the clock and the cycle repeats.
  4. 4T2, if renewal failed. The client broadcasts, asking ANY server to confirm the lease. It is no longer fussy about who answers.
  5. 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.
  6. 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.

At T1, who does the client ask to renew its lease?

Why is the lease length a trade-off rather than something to set as high as possible?

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.