Skip to content
ENExplore Calculators

NAT Pool Size Calculator

Work out nat pool size instantly with clear inputs, formula shown and shareable results.

About NAT Pool Size Calculator

Each NAT translation consumes one source port on a public address, so pool size is total concurrent sessions divided by the usable ports per address. Ports 0-1023 are normally excluded and many platforms reserve more, which is why 64512 rather than 65536 is the realistic figure. Running the pool near 100 percent port utilisation causes allocation failures that look like random connection resets.

Formula

NAT pool sizing

translations = hosts x sessions per host; public IPs = ceil(translations / usable ports per IP)

Worked example

With the default values below, NAT Pool Size Calculator returns Public IPs required in the NAT pool of 2. Change any input above and every figure here is recalculated in your browser.

Inputs used

Internal hosts behind NATminimum 1
800
Peak concurrent sessions per hostminimum 1
120
Usable ports per public IPaccepts 1,024–65,535
64,512

Results

Public IPs required in the NAT pool
2
Peak concurrent translations
96,000
Translations per public IP
48,000
Port utilisation per public IP
74.40%

Step by step

  1. 1Values used
  2. 2NAT pool sizing
  3. 3Public IPs required in the NAT pool= 2
  4. 4Peak concurrent translations= 96,000
  5. 5Translations per public IP= 48,000
  6. 6Port utilisation per public IP= 74.40

Assumptions and limits

  • The result is derived only from the 3 inputs listed above. Anything not among them is not part of the calculation.
  • In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
  • Figures are rounded for display to 2 decimal places, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.

How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.

Frequently Asked Questions

Why not just use one public IP?

One address caps you at roughly 64,000 simultaneous translations, and per-host port limits reduce that further. Busy networks with many browser tabs and app sockets exhaust it quickly.

What drives sessions per host higher?

Web pages opening dozens of parallel connections, peer-to-peer software, mobile apps with persistent sockets, and short TIME_WAIT recycling all inflate the concurrent count.

NAT Pool Size Calculator | Calcrivo