Skip to tool
ecech.
🌐 Network & IP

A DHCP Pool Runs Out of Addresses That Nothing Is Using

A lease is held until it expires, not until the device leaves. With an eight-day default and heavy churn, the pool fills with ghosts.

Addresses held

including expired-but-not-yet devices

Pool needed

Prefix

 

Renewals an hour

Where the addresses go

Every lease time, same traffic

Advertisement

How the calculation works

200 devices a day, each staying two hours 8-day lease 1,600 1-day lease 200 2-hour lease 17 a /24 holds 254 The devices left hours ago. The addresses are still theirs until the lease expires.

How to Use This Tool

Set how many devices are present at peak, how many new ones arrive each day, and how long they stay. The lease time is the setting that decides everything else.

A lease outlives the device

When a device disconnects it does not, in general, release its address. It simply stops talking, and the server keeps the binding reserved until the lease expires. Anything that leaves without a clean release — a phone walking out of range, a laptop lid closing — leaves an address held.

So the number that matters is not how many devices are connected, it is how many have connected within one lease period. With 200 arrivals a day:

  • 8 days — about 1,600 addresses held. A /24 has 254.
  • 1 day — about 200.
  • 8 hours — about 67.
  • 2 hours — about 17.

Eight days is the default in most DHCP servers, and it is the right answer for an office where the same laptops return each morning. On a guest network it fills the pool with devices that left days ago, and the failure looks baffling: clients cannot get an address while the network appears almost empty.

Matching the lease to the network

  • Office with assigned devices — days. Long leases mean a device keeps the same address across a reboot, which makes logs readable and firewall rules stable.
  • Guest wifi — two to four hours. Long enough that a normal visit never renews, short enough that the pool recovers by the afternoon.
  • Café or retail — 30 minutes to an hour. Visits are short and volume is high.
  • Conference — short, and size for the burst rather than the average. Everyone arrives within the same twenty minutes.
Renewal happens at half the lease 8-day lease each device checks in every 4 days 2-hour lease every hour — 96 times as often Cheap for a hundred devices. Worth thinking about for ten thousand, and worth thinking about for battery life on sleeping phones.
Short leases cost traffic; long leases cost addresses. Neither is free.

What a short lease costs

Clients attempt renewal at 50% of the lease time, and again at 87.5% if the first attempt fails. So a two-hour lease means every device contacts the server hourly, where an eight-day lease means every four days.

For a few hundred devices this is nothing. It becomes worth considering at large scale, and it matters for battery on mobile devices, since a renewal wakes the radio. There is no benefit to a lease shorter than the pool actually needs.

Sizing the scope

Once you know the addresses held, add headroom and reserve space for anything static. The prefix choices are coarse, so the practical question is usually whether you have outgrown a /24:

  • /24 — 254 usable
  • /23 — 510
  • /22 — 1,022
  • /21 — 2,046

A single flat broadcast domain of more than about a thousand devices is usually a bad idea for other reasons — broadcast traffic, failure blast radius, wireless roaming. If the arithmetic says /21, the real answer is more likely several smaller subnets than one enormous one.

Things this does not model

  • Devices with several interfaces. A laptop docked by cable and also on wifi takes two addresses.
  • Randomised MAC addresses. Phones that rotate their address per network can take a new lease each time, which multiplies churn on guest networks in a way nothing warns you about.
  • Failover. A pair of servers sharing a scope typically splits it, so each holds only part of the range and neither can allocate the whole pool alone.
Advertisement

Frequently Asked Questions

How many addresses does a DHCP pool need?
Enough for everyone who connected within one lease period, not everyone connected now. A device that leaves keeps its address until the lease expires, so with 200 arrivals a day an eight-day lease holds about 1,600 addresses — well past a /24.
What is a good DHCP lease time?
Days for an office of assigned devices, two to four hours for guest wifi, and 30 to 60 minutes for a café. The default in most servers is eight days, which suits offices and exhausts high-churn networks.
Why is my DHCP pool full when nobody is connected?
Because leases are held after devices leave. Anything that disconnects without a clean release — a phone walking out of range, a lid closing — keeps its address until the lease expires, so the pool fills with devices that left days ago.
Does a short lease cause problems?
It increases traffic and wakes mobile radios. Clients renew at half the lease time, so a two-hour lease means hourly check-ins against every four days for an eight-day lease. Negligible for hundreds of devices, worth considering at large scale and for battery life.
How big a subnet do I need for 500 devices?
A /23 gives 510 usable addresses, which is tight once you add headroom and static reservations — a /22 with 1,022 is the safer choice. Beyond about a thousand devices in one broadcast domain, splitting into several subnets is usually better than growing one.
Why do phones use more addresses than expected?
Randomised MAC addresses. Many phones present a different hardware address per network and sometimes rotate it, so the same device can take several leases. It multiplies churn on guest networks and nothing warns you it is happening.

Related tools in Network & IP

Browse all Network & IP tools
The desk where ecech. tools get written: a laptop, a notebook of to-dos and a whiteboard listing the tools on the site.

Made by one person

ecech. is not a content farm. Every tool here is written and checked by hand, one at a time, by someone who wanted the tool to exist and could not find a version that showed its working.

No accounts and no sign-in, and nothing you type reaches a server — every calculation on this page runs inside your browser. The ads are served by Google and do set their own cookies, which is set out in full on the privacy page. More about the site.