redzilla
All tools
IP Addressing

NAT / PAT Exhaustion

Model how many concurrent sessions your NAT/PAT can hold from public IPs and the ephemeral port range, how many users it supports and when it runs out. Simplified model (the real limit depends on the 5-tuple).

Global addresses the overload (PAT) runs on. A single one is typical for offices.

Per public IP. Default 102465535 = 64,512 ports. Each outbound session consumes one source port.

Hosts behind the NAT opening sessions at the same time.

Open connections at once per host. Normal browsing ~1050; with many tabs, apps and streaming, 100+.

Examples
redzilla.cl — nat-pat
 

Capacity (sessions)
IPs × ports per IP
Demand (sessions)
users × sessions
Utilization
demand / capacity
Users supported
with this capacity

Port utilization

0 / 0 0 %

Rule of thumb: keep utilization below 80 % to leave headroom for peaks and bursts.

Breakdown

ItemValueNote
How it is calculated · and why it is an upper bound

1. Ports per IP = end_port − start_port + 1. The typical ephemeral range is 102465535 = 64,512 ports.

2. Capacity = public_IPs × ports_per_IP. It is the ceiling of concurrent outbound sessions the PAT can translate at once.

3. Demand = users × sessions_per_user. Sessions per public IP = demand / IPs.

4. Utilization = demand / capacity × 100. Exhaustion happens when demand exceeds capacity. Users supported = capacity / sessions_per_user. IPs needed = ceil(demand / ports_per_IP).

Note: this is an upper bound. In practice the NAT distinguishes sessions by the 5-tuple (source and destination IP and port + protocol), so the same source port can be reused toward different destinations. Real exhaustion depends on how many sessions go to the same destination and on the device's translation table.

Runs locally in your browser · no sign-up · nothing leaves your browser

How it works

The calculator estimates how many concurrent sessions a NAT with overload (PAT, the classic NAT overload described in RFC 3022) can hold before running out of ports. The model is straightforward: ports per IP = last_port − first_port + 1 (the typical ephemeral range 1024–65535 yields 64,512), capacity = public_IPs × ports_per_IP, and demand = users × sessions_per_user. From that it reports the utilization percentage, supported users, required IPs and a verdict: comfortable, near the limit (above 80 %) or exhausted.

The result is a deliberately conservative upper bound: in practice the NAT distinguishes sessions by the full 5-tuple (source and destination IP and port plus protocol), so the same source port can be reused toward different destinations. That makes the tool ideal for sizing with margin: if the simple model already shows exhaustion, the real device will be under pressure even if the 5-tuple buys some slack.

Example: can one public IP handle 700 users?

  1. Ephemeral range 1024–65535: 65535 − 1024 + 1 = 64,512 ports per IP; with 1 public IP the capacity is 64,512 sessions.
  2. Demand: 700 users × 100 sessions = 70,000 concurrent sessions.
  3. Utilization: 70,000 / 64,512 ≈ 108.5 %exhaustion: 5,488 sessions short.
  4. With this profile one IP supports floor(64,512 / 100) = 645 users; for 700 you need 2 public IPs or fewer sessions per user.

Frequently asked questions

How many users can a single public IP support with PAT?
With the full ephemeral range (1024–65535) there are 64,512 ports, so at 100 concurrent sessions per user the theoretical ceiling is 645 users, and at 50 sessions it rises to 1,290. In practice the 5-tuple lets ports be reused toward different destinations, so the real number is usually higher; this calculation is the safe floor for sizing.
What happens when the NAT runs out of ports?
New connections fail intermittently: pages that will not load, apps retrying, calls that never set up, while already-open sessions keep working. It is hard to diagnose because the link and DNS look healthy; the clue is that only new connections are affected, mostly at peak hours.
How many concurrent sessions does a normal user open?
Light browsing uses on the order of 10 to 50 simultaneous connections, but with many tabs, cloud applications, streaming and background updates it is common to exceed 100 per device. Carrier-grade NAT deployments typically reserve blocks of 1,000 to 4,000 ports per subscriber.
What is the difference between NAT and PAT?
Static or dynamic NAT translates a private IP to a full public IP, one to one. PAT (NAT overload) multiplexes many private IPs over a single public one, telling them apart by source port: that is what every home or office router does, which is why the resource that runs out is ports, not addresses.
Was this tool useful?
Disclaimer We take great care to keep every tool accurate and review it thoroughly; even so, we can't guarantee it is free of errors or take responsibility for how the results are used. We recommend double-checking anything critical.
Found an error? Let us know →