Port-block CGNAT shares one public IPv4 address across many subscribers. Put in your subscriber count, the port-block size you intend to hand out and how many blocks a busy subscriber needs, and this returns the pool you actually have to own — and what the addresses you no longer buy were worth.
Each subscriber gets a contiguous block of source ports on one public address. 512 ports suits ordinary browsing and is tight for a household running many devices and cloud sync. Smaller blocks pack more subscribers onto an address and raise the chance of exhaustion.
A block is not a hard ceiling if a subscriber under pressure can take a second one. Planning at 1.1 assumes roughly one subscriber in ten needs a second block at peak. Raise it if your base is heavy on consoles and NAT-hostile applications.
There are 65,536 source ports on an address, so the block size decides how many subscribers share it. Divide your base by that figure, then add headroom for maintenance windows and for keeping failure domains small.
The optional price field multiplies the addresses you no longer need by whatever your last transfer actually cost, so the result is a number a CFO recognises rather than an address count.
Per-flow logging writes a record for every connection. Port-block logging writes one when a block is allocated and one when it is released: the same legal answer, orders of magnitude less storage. How our CGNAT logs.
A correctly sized pool still breaks console gaming, SIP and peer-to-peer if the translation does not do Endpoint-Independent Mapping and Filtering, port parity and hairpinning.
One shared address is one abuse report away from affecting everyone behind it. Plan for withdrawing an address from the pool and moving those subscribers without restarting anything.
The same XDP program terminates the subscriber, shapes them and translates them — on one commodity server.
Contact us if you need a solution.