CGNAT Public IP Pool Sizing Calculator
Size your CGNAT public pool from subscribers and ports.
Your numbers
%
%
Your results
Public IPv4 addresses needed
Public IPv4 addresses needed
—
Subscribers per public IP
—
Peak concurrent sessions
—
Port blocks per IP at the given ports/sub
—
Equivalent /24 blocks
—
CGNAT Public IP Pool Sizing Calculator by TheCalcTools
How the CGNAT Public IP Pool Sizing Calculator works
Enter subscribers and the share that is active at the busiest hour.
Set ports per active subscriber. Deterministic CGNAT assigns fixed blocks, commonly 512 to 2,048.
Divide total sessions plus headroom by the ports usable on each public IP (65,535 minus 1,024 reserved).
The formula
IPs = ceil(subscribers × active share × ports × (1 + headroom) / usable ports)
Worked example
Using the default values shown in the calculator:
| Subscribers behind CGNAT | 500000 |
|---|---|
| Concurrently active share | 40 % |
| Ports (sessions) per active subscriber | 1000 |
| Usable ports per public IP | 64512 |
| Headroom | 20 % |
- 500,000 subscribers × 40% active = 200,000 active; × 1,000 ports = 200,000,000 sessions.
- With 20% headroom you need 3,721 public IPs, about 134.4 subscribers per IP.
Result:
| Public IPv4 addresses needed | 3,721 |
|---|---|
| Subscribers per public IP | 134.4 |
| Peak concurrent sessions | 200,000,000 |
| Port blocks per IP at the given ports/sub | 64 |
| Equivalent /24 blocks | 14.54 |
Frequently asked questions
How many ports does a usable public IP have?
About 64,512 (ports 1,024 to 65,535).
What ratio do carriers use?
Typical sharing is 16:1 to 128:1 depending on port blocks and traffic profile.
Sources and further reading
- RFC 6888: Requirements for CGNs
- RFC 7422: Deterministic Address Mapping to Reduce Logging in CGNs
- Wikipedia: Carrier-grade NAT
Related calculators
More in IP & Domain Tools · All calculators
This calculator gives estimates for information only. Check important results independently before you rely on them. See our disclaimer.
