Inputs
Example Data Table
| Scenario | Mode | Devices | Sessions/Device | Port Range | Reserve | Public Pool | Usable IPs | Required IPs (Headroom) |
|---|---|---|---|---|---|---|---|---|
| Branch Internet Egress | PAT | 500 | 40 | 1024–65535 | 10% | 198.51.100.0/27 | 30 | 2 |
| DMZ Mapped Services | One-to-one | 18 | — | — | — | 203.0.113.64–203.0.113.95 | 32 | 22 |
Examples use documentation IPv4 blocks and simplified assumptions.
Formula Used
PAT (many-to-one) sizing
This planner treats one active translation as one source port.
- Required Translations = Devices × Sessions/Device (or direct input)
- Raw Ports/IP = (PortEnd − PortStart + 1)
- Usable Ports/IP = floor(Raw Ports/IP × (1 − Reserve%))
- Capacity = Usable Pool IPs × Usable Ports/IP
- Required Public IPs = ceil(Required Translations ÷ Usable Ports/IP)
- Headroom = multiply demand by (1 + Headroom%)
One-to-one NAT sizing
This mode assumes one public IP per mapped device.
- Capacity = Usable Pool IPs
- Required Public IPs = Devices
- Headroom = ceil(Devices × (1 + Headroom%))
- Utilization = Required ÷ Capacity
- Target Util sizing = ceil(Required ÷ TargetUtil%)
Note: Real NAT behavior can vary by platform, protocol mix, and timers. Use measured peak values when available.
How to Use This Calculator
- Select a planning mode that matches your design.
- Enter device count and your preferred demand model.
- For PAT, set a realistic concurrent session estimate.
- Adjust port range, reserve percent, and headroom percent.
- Provide your public pool using CIDR or range input.
- Submit to view required IPs, utilization, and warnings.
- Download CSV or PDF to share assumptions and results.