Index / NETWORKS · POST 13

One address, millions of machines.

4,294,967,296 IPv4 addresses. Eight billion people. The whole escape fits in a 16-bit field nobody talks about — watch a router use it, then watch an ISP rent it out by the city.

AUG 2026~8 MIN6 SCENES + 1 DIALMODE: NAT · CGNAT

1981: IPv4 ships with 32-bit addresses — 4,294,967,296 of them. On the internet of that year, an unimaginable surplus.

3 February 2011: the last five /8 blocks leave IANA, one per regional registry. The global free pool is empty — permanently.

Then the registries drain, in order: APNIC 2011, RIPE NCC 2012, LACNIC 2014, ARIN 2015. Addresses now move only by trade — at roughly $27.75 each.

Demand never noticed. Eight billion people (Nov 2022), seventeen connected devices per US home. Machines outnumber addresses several times over — and everything still connects.

That is 0.54 addresses per person — computed on this page — before counting a single gadget. The fix, unchanged since 1994: a 16-bit field nobody talks about.

Every conversation is four numbers: your address, your slot, their address, their slot. The slot field is 16 bits — one address owns 65,536 of them, twice over (once for TCP, once for UDP).

The bottom rows are reserved: ports 0–1023, where services listen on fixed numbers — 443 for HTTPS, 53 for DNS.

Clients pick from the top quarter — 49152–65535, the dynamic range — a free slot rented for one conversation and returned.

This one — port 51,724, positioned by the code on this page — is your laptop's slot. The whole trick ahead is renting this wall out, machine by machine.

Your laptop sends FROM 192.168.1.20:51724 TO 93.184.216.34:443. Private addresses cannot cross the internet — so the router does something to this packet.

It rewrites the source to 203.0.113.7:50123 — its own public address plus a free slot — and stamps a row into its translation table. The table, not the address, now remembers who is talking.

The server replies to 203.0.113.7:50123 — the only address it has ever seen. The router matches the row, swaps the destination back, delivers.

Your phone talks too, from 192.168.1.34:40001: same public address, next free slot. Two conversations, two rows, one address.

From outside, your whole household is one machine — one address, a scatter of slots. That is why every device at home shows the same “what is my IP” answer.

The rows are rentals: they expire when quiet and vanish on reboot. Which is where the trouble starts.

A stranger sends to 203.0.113.7:50200 — a slot nobody claimed. No row, no match, no delivery: dropped. The bin's counter is computed from this page's scripted attempts. This is why you cannot host a game server by asking nicely.

Rows also expire: quiet UDP dies in ~30 seconds, established TCP can live ~5 days (netfilter defaults, illustrative). Idle lobbies disconnect because their rows evaporated — not because the network broke.

The exception is a row you write yourself. Port forwarding: slot 25565 always leads to the Minecraft machine, no conversation required — an invitation pinned to the door.

And every row is memory. A wire would never need this scene: NAT makes the middle of the network a party to every conversation — the elders call it breaking the end-to-end principle.

No row, no entry. The table decides everything.

Your ISP runs the same ledger, city-sized. To it, your whole household is one endpoint: 100.64.12.8, from 100.64.0.0/10 — a private stage reserved in 2012 for exactly this.

The ISP's router rewrites again: your house leaves as 62.204.7.9:32001 — a public address you share with strangers, wearing a slot that is yours only for now.

Neighbors stack into the same table: one outside address, distinct slots. Operators must log every row — when abuse comes from a shared address, the log is the only way home.

Two clerks, no shared notes: double NAT. You control the home clerk; you will never control the ISP's. Its rules — its port rations — are next.

01How far does one address stretch?

One address owns about 64,512 usable slots (65,536 minus the reserved 1,024). All of carrier-grade NAT is deciding how many a subscriber may hold at once — the standard requires the limit to exist. Turn the dials; every number below is computed from them, right now, in your browser.

SUBSCRIBERS PER ADDRESS63⌊ 64,512 ÷ PORTS ⌋
DEVICES BEHIND ONE ADDRESS1,071SUBSCRIBERS × DEVICES
DEVICES PER /24 POOL274,176256 ADDRESSES
DEVICES PER /22 POOL1,096,7041,024 ADDRESSES — A MILLION
THE 64,512 SLOTS OF ONE ADDRESS, DIVIDED INTO PER-SUBSCRIBER BLOCKS

COMPUTED FROM YOUR DIAL · RATIOS ILLUSTRATIVE — REAL LIMITS VARY BY ISP

COMPUTED EXAMPLES AT 17 DEVICES PER HOME (THE SAME MODEL, EVALUATED WITHOUT THE DIAL)
PORTS / SUBSCRIBERSUBSCRIBERS / ADDRESSDEVICES / ADDRESSDEVICES / /24DEVICES / /22
2562524,2841,096,7044,386,816
1,024631,071274,1761,096,704
2,04831527134,912539,648
4,0961525565,280261,120

At the defaults, 256 addresses — one small pool — front over a quarter million devices; at mobile-tight ration, 1.1 million. And when a block is spent on a Sunday evening, the standard is blunt: drop the packet, never evict a neighbor's live row. Port exhaustion looks, from the sofa, exactly like the internet being broken.

DOCUMENTED · RFC 6269

Console gaming — two households on one shared address may be unable to join each other's lobby.

DOCUMENTED · RFC 6269

Geolocation — maps place you at the ISP's shared router, not your street.

DOCUMENTED · RFC 6269

Login limits — banks cap sessions per address; strangers share your quota.

DOCUMENTED · RFC 6269

Inbound by design — seeding and incoming calls need a reachable slot. Next scene.

Two homes, two tables, both refusing inbound. First, discovery: each side asks a public STUN broker what it looks like from outside. You: 62.204.7.9:32044. Friend: 198.51.100.4:61200.

Now the punch: both fire outbound at each other, simultaneously. Each router stamps a row before the other's packet arrives — the hole exists on both walls.

The rows line up; the conversation runs direct, full speed. This choreography — standardized as ICE — is how voice, games and WebRTC mostly work behind NAT.

When tables are too strict, traffic falls back to a TURN relay — slower, always works. Every call you have ever made quietly picked one of these paths.

An address is a lease on sixty-five thousand slots.

02So what is an address now?

Not a name — a lease. A NAT swaps each machine's private return address for its own plus a free port, and the table, not the address, takes your packets home. Rent the trick at ISP scale, ration the slots, and a pool smaller than a university campus fronts a million machines. Whoever runs the table runs the rules: your router's you can edit; your ISP's you cannot.

The way out is IPv6 — 128 bits, a name for everything — already carrying about half of Google's traffic (April 2026). Until it finishes arriving, the clerk keeps the internet moving, one rewritten envelope at a time. Following packets is this notebook's habit: one Starlink packet's journey through space is its own note.

Whoever owns the table owns the rules.
NATCGNATIPv4PORTS
EVERY LEDGER VALUE IN THE SCENES IS ILLUSTRATIVE (DOCUMENTATION-RANGE ADDRESSES); EVERY ARITHMETIC RESULT — THE DIAL, THE RATIO, THE DROP COUNT — IS COMPUTED BY THIS PAGE. SOURCES: RFC 793/768, 1918, 1631/2663/3022, 6598, 6888, 6269, 8445/8489/8656; IANA/ARIN 2011 ANNOUNCEMENTS; UN 2022; PARKS ASSOCIATES Q3 2023; GOOGLE IPv6 STATS APR 2026.