DHCP Scope Calculator
Plan a DHCP scope from subnet, pool, exclusions, reservations, growth, lease time, and utilization headroom before clients run short.| Metric | Value | Detail | Copy |
|---|---|---|---|
| {{ row.metric }} | {{ row.value }} | {{ row.detail }} |
| Kind | Range | Count in pool | Count in subnet | Status | Copy |
|---|---|---|---|---|---|
No address rows to show Fix the subnet or pool input before the range ledger can be calculated. | |||||
| {{ row.kind }} | {{ row.range }} | {{ row.poolCount }} | {{ row.subnetCount }} | {{ row.status }} | |
| Check | Verdict | Action | Why it matters | Copy |
|---|---|---|---|---|
| {{ row.check }} | {{ row.verdict }} | {{ row.action }} | {{ row.reason }} |
{{ result.configSnippet }}
Introduction:
DHCP failures often look like wireless, switch, or client trouble until the lease pool is checked. A subnet may contain hundreds of IPv4 addresses, but a DHCP server can hand out only the addresses that belong to the configured dynamic pool and are not excluded, reserved, held, or kept back for failover policy.
A Dynamic Host Configuration Protocol (DHCP) scope is the address plan for one IPv4 subnet. It defines the network boundary, the pool clients may lease from, the gateway and other options clients receive, and the addresses that should be withheld for infrastructure or static assignments. Good scope planning separates subnet size from leaseable capacity because those numbers are rarely the same in production.
Capacity pressure usually comes from operating behavior as much as address math. Guest networks fill during events, classrooms renew at the same time, mobile devices keep leases after leaving, printers and access points need fixed addresses, and high-availability designs may reserve part of the pool. A short lease can recycle addresses faster, but it also increases DHCP traffic and log noise. A long lease is calmer for stable clients, but abandoned addresses can remain unavailable for longer.
| Planning factor | What it changes | Common mistake |
|---|---|---|
| Subnet prefix | Sets the outer IPv4 address boundary and usable host range. | Counting network and broadcast addresses as ordinary client leases. |
| Dynamic pool | Defines the addresses the server may assign automatically. | Letting the gateway or static devices overlap the dynamic inventory. |
| Exclusions and reservations | Remove or account for addresses that should not be general leases. | Assuming every DHCP platform counts fixed leases the same way. |
| Lease churn | Controls how quickly addresses return after clients leave. | Sizing for active clients while ignoring held or abandoned leases. |
A reliable scope estimate has to answer three separate questions. Which IPv4 addresses belong to the subnet, which of those addresses are actually in the dynamic pool, and how much projected demand can the remaining pool carry before the chosen utilization target is exceeded. Treating those as one number hides the address conflicts and reserve policies that cause many real lease shortages.
Scope capacity is not a live-server health check. It cannot prove that relays are forwarding, that options are correct, or that stale leases have been cleaned up. It gives a disciplined address ledger that can be compared with server counters, lease history, and change notes before a scope is deployed, expanded, or moved.
How to Use This Tool:
Start with the IPv4 boundary, then add the pool and operating assumptions that reduce or consume lease capacity.
- Enter
Subnet CIDRas CIDR notation or dotted-mask notation, such as192.168.40.0/24or192.168.40.0 255.255.255.0. Host-bit input is normalized to the network boundary. - Enter
Gateway IP. The address ledger will show whether the gateway is inside the dynamic pool, inside the subnet but outside the pool, or outside the subnet. - Enter one or more
DHCP pool range(s). Leave the field blank only when the whole usable subnet should be treated as dynamic lease space. - Add
Excluded/static rangesfor infrastructure, manual assignments, or addresses that should never be leased automatically. Each line may be a single IPv4 address, CIDR block, or start-end range. - Set
Active clients,Reserved leases,Reservation policy,Growth headroom,Target utilization, andLease time. Use the busiest observed active lease count rather than total device inventory when many devices are rarely connected. - Open
Advancedto model aTemporary burst,Held leases, orFailover reserve, or to choose theSnippet stylefor handoff notes. - If the summary shows
Input blocked, fix the listed issue before using the ledgers, curve, or snippet. Invalid IPv4 text, a non-contiguous mask, or pool ranges with no usable DHCP addresses can block a trustworthy result.
Interpreting Results:
Target headroom is the main planning readout. It compares projected demand with the selected utilization ceiling, not with absolute exhaustion. A negative value means the plan is short for the buffer you chose, even when a few physical leases still remain.
Physical spare leases measures distance from a completely empty pool. That number can stay positive while Target headroom is negative because the target ceiling intentionally leaves room for churn, cleanup, bursts, audits, and mistakes. Verify the Active clients, Growth headroom, Held leases, and Failover reserve assumptions before accepting a close result.
| Output cue | Boundary | What to check next |
|---|---|---|
Within target |
Target headroom is greater than the tight-target buffer. |
Compare the demand inputs with recent server lease peaks. |
Tight target |
Target headroom is non-negative but no more than 5 leases or 10% of the effective pool, whichever is larger. |
Review growth, burst, held-lease, failover, and reservation policy assumptions. |
Target short |
Target headroom < 0 |
Add effective lease slots, expand the pool, reduce demand, or change the prefix plan. |
Gateway in pool |
The gateway overlaps the dynamic inventory. | Exclude the gateway or move the pool boundary before deployment. |
Use Scope Capacity Ledger to audit the arithmetic, Address Exclusion Ledger to inspect every pool, exclusion, gateway, and invalid row, and Scope Sizing Brief for operator actions. The Lease Pressure Curve is most useful when comparing growth percentages against the same pool.
Technical Details:
IPv4 scope capacity is interval arithmetic. The subnet prefix produces a network address, broadcast address, and usable host interval. Pool ranges are intersected with that usable interval, then overlapping pool entries are merged so an address is counted once.
Exclusions reduce capacity only where they overlap the dynamic pool. Reservations reduce capacity only when they are modeled as consuming addresses inside the pool. Held leases and failover reserve are then subtracted from the remaining practical pool before projected demand is compared with the target utilization ceiling.
Formula Core:
The core capacity model counts usable intervals, subtracts modeled reductions, then compares projected clients with the utilization ceiling.
| Symbol | Meaning | Rounding or policy |
|---|---|---|
R |
Reservation impact | Equals reserved leases when Reservation policy is Consumes pool; otherwise 0. |
H |
Held leases | Whole unavailable lease count entered under Held leases. |
F |
Failover reserve | Rounded up from available-before-reservations times the selected reserve percentage. |
A, G, B |
Active clients, growth percent, and temporary burst | Growth clients are rounded up before burst clients are added. |
T |
Target utilization percent | The target lease ceiling is rounded down before demand is subtracted. |
For the default 192.168.40.0/24 case, pool 192.168.40.20-192.168.40.240 contains 221 raw dynamic addresses. Excluding 192.168.40.50-192.168.40.59 and 192.168.40.200 subtracts 11 addresses, leaving 210 leases before reservations. With 18 reservations consuming the pool, the effective pool is 192 leases.
With 145 active clients and 20% growth, projected demand is 174 leases because the 29 growth clients are rounded up. At an 80% target utilization ceiling, the target maximum is 153 leases, so Target headroom is -21 while Physical spare leases remains 18.
Validation and Boundary Rules:
| Rule | Boundary | Effect |
|---|---|---|
| CIDR and mask parsing | CIDR prefix must be 0 through 32; dotted masks must be contiguous. |
Invalid subnet text blocks capacity, chart, and snippet output. |
| Usable host range | Ordinary prefixes below /31 exclude network and broadcast addresses. |
/31 and /32 are modeled arithmetically, with a warning that they are rarely suitable DHCP client scopes. |
| Range parsing | Each range line may be one IP address, a CIDR block, or a start-end range. | Invalid range lines appear as notices and ledger rows instead of silently changing capacity. |
| Pool clipping | Only addresses inside the usable subnet can become dynamic leases. | Out-of-subnet pool rows are clipped before counting, and overlaps are deduplicated. |
| Recommended prefix | When the target is short, projected demand is divided by target utilization and modeled reductions are added back. | Unused addresses inside the current subnet are preferred before a larger prefix is suggested. |
Accuracy Notes:
This is a planning calculator, not a DHCP server audit. It does not discover active leases, inspect relay paths, verify option delivery, or confirm that a generated snippet is complete for a production server.
- Calculations use the values entered after the page loads. Sharing a URL can expose entered scope values in that URL.
- Generated snippets cover calculated ranges, lease interval, and router option where available, but they still need review against the target server platform and site policy.
- Lease duration affects capacity guidance and snippets. Actual reuse timing still depends on server behavior, client release behavior, and cleanup of declined or abandoned leases.
Worked Examples:
The examples below show why target headroom and physical spare leases can point to different operational decisions.
Healthy office VLAN
For 192.168.40.0/24 with pool 192.168.40.20-192.168.40.240, exclusions for 192.168.40.50-192.168.40.59 and 192.168.40.200, 10 reservations that consume the pool, 120 active clients, and 10% growth, the effective pool is 200 leases and projected demand is 132. At an 80% target, Target headroom is 28 leases, so the status is Within target.
Same pool, tighter buffer
With the default pool and exclusions, 18 reservations, 145 active clients, and 20% growth, projected demand is 174 leases against 192 effective leases. At 80% target utilization, the status becomes Target short with 21 leases missing at the target ceiling. Raising the target to 95% changes Target headroom to 8 leases, which is still Tight target.
Gateway or input cleanup
If the pool starts at 192.168.40.1 while Gateway IP is also 192.168.40.1, the Address Exclusion Ledger flags Gateway in pool. If a subnet is entered with a non-contiguous dotted mask, the summary changes to Input blocked and the capacity rows list the parsing issue before any snippet should be used.
FAQ:
Does this check my live DHCP server?
No. The result is calculated from the subnet, pool, exclusions, reservations, demand, and reserve values you enter. Compare it with real lease counters before changing a production scope.
Why can target headroom be negative while spare leases remain?
Physical spare leases measures distance from total exhaustion. Target headroom measures distance from the utilization ceiling, so it can be negative while some leases are still unused.
Should reserved leases consume the pool?
Use Consumes pool when fixed leases sit inside the dynamic range and reduce ordinary lease inventory. Use Outside pool when reservations are assigned outside the dynamic ranges.
Why did a range get clipped or deduplicated?
Pool rows are intersected with the usable subnet, and overlapping intervals are counted once. The Address Exclusion Ledger keeps each entered row visible so you can see what was applied, clipped, or ignored.
What should I do with the generated snippet?
Treat it as a handoff draft. Review the available segments, gateway option, lease interval, and platform syntax before applying it to ISC dhcpd, Windows DHCP, or Kea.
Glossary:
- DHCP scope
- The address plan a DHCP server uses for one IPv4 subnet.
- Usable subnet
- The client-address portion of the subnet after ordinary network and broadcast addresses are removed.
- Dynamic pool
- The addresses the server may assign automatically to clients.
- Exclusion range
- An address or interval that should not be handed out as an ordinary lease.
- Reservation
- A fixed lease associated with a specific client identity, such as a MAC address or client identifier.
- Held lease
- An address unavailable for practical planning even though it is not counted as an active client.
- Target utilization
- The planned maximum percentage of the effective pool that projected demand should consume.
- Lease duration
- The time a client may keep an assigned address before renewal or expiry rules return it to the pool.
References:
- Dynamic Host Configuration Protocol, RFC Editor, March 1997.
- Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan, RFC Editor, August 2006.
- DHCP scopes in Windows Server, Microsoft Learn, August 15, 2023.
- Install and configure DHCP Server on Windows Server, Microsoft Learn.
- Kea DHCPv4 server configuration, Internet Systems Consortium.
- How to set up ISC DHCP high availability with PCS, Simplified Guide.