Work out NAT and CGNAT port utilisation, the public IP pool size you need, and how close you are to port exhaustion.
Each public IPv4 address offers roughly 64512 usable TCP or UDP ports, and every active translation consumes one. Multiplying subscribers by their concurrent session count and a busy-hour peak factor gives the translations you must hold simultaneously; dividing by the per-address port count gives the pool size. Port exhaustion presents as random connection failures that no packet capture on the client explains, and it is the single most common CGNAT outage cause during traffic growth or a NAT pool misconfiguration.
NAT Session
translation slots = public IPs × 64512 ports; utilisation = (hosts × sessions per host × peak factor) ÷ translation slots.
translation slots = public IPs × 64512 ports; utilisation = (hosts × sessions per host × peak factor) ÷ translation slots. Each public IPv4 address offers roughly 64512 usable TCP or UDP ports, and every active translation consumes one. Multiplying subscribers by their concurrent session count and a busy-hour peak factor gives the translations you must hold simultaneously; dividing by the per-address port count gives the pool size.
Port exhaustion presents as random connection failures that no packet capture on the client explains, and it is the single most common CGNAT outage cause during traffic growth or a NAT pool misconfiguration.
This calculator takes 5 inputs: Concurrent hosts or subscribers, Average concurrent sessions per host, Public IPv4 addresses in the NAT pool, Usable ports per public IP, Peak-to-average factor. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
Deterministic NAT or port-block allocation hands each subscriber a fixed block — commonly 512 or 1024 ports — so capacity becomes 64512 ÷ block size subscribers per address regardless of their real usage. You trade statistical efficiency for logging you can actually correlate, which is usually a regulatory requirement.