IPv4 Exhaustion
The internet running out of unique IPv4 addresses years ago — the scarcity that gave us NAT, carrier-grade NAT, IP markets, and the slow push toward IPv6.
What is IPv4 exhaustion?
IPv4 exhaustion is the depletion of available IPv4 addresses — the ~4.3 billion unique addresses that the 32-bit IPv4 scheme allows. That number seemed inexhaustible when the internet was designed in the early 1980s, but the explosion of connected devices — computers, then phones, then billions of IoT gadgets — consumed the free pool, and the regional internet registries began running out in the 2010s (IANA’s central pool exhausted in 2011, with regional registries following). There are simply not enough IPv4 addresses for every device to have its own public one, and this scarcity has quietly shaped huge parts of how the modern internet actually works.
Why it matters: the workarounds it forced
The interesting thing about IPv4 exhaustion isn’t the shortage itself — it’s the workarounds the shortage forced, which are now everywhere. The dominant one is NAT (Network Address Translation): because there aren’t enough public addresses, entire networks hide behind a single (or few) public IPv4 address, using private address ranges internally and translating at the boundary. NAT is why your home network’s devices all share one public IP, and it’s ubiquitous in cloud VPCs. Providers stretched things further with Carrier-Grade NAT (CGNAT), where an ISP puts many customers behind shared public addresses — extending the IPv4 lifespan but breaking things (inbound connections, some peer-to-peer apps, and clean IP-based identification, since many users share one address). Exhaustion also created an IPv4 address market: blocks of addresses now have real monetary value and are bought and sold, and cloud providers increasingly charge for public IPv4 addresses (AWS began billing for them in 2024), turning what was once free into a metered cost. And of course it’s the entire reason for IPv6 — the 128-bit successor with a practically infinite address space designed to end scarcity permanently. The irony worth understanding: NAT worked so well as a stopgap that it reduced the urgency of IPv6 migration, which is a big reason IPv6 adoption has taken decades and is still incomplete.
The consequences for engineers today
Exhaustion has concrete, present-day implications rather than being just history. NAT’s costs are real: it breaks the internet’s original end-to-end model (devices behind NAT aren’t directly addressable), complicates running servers and peer-to-peer protocols, and pushes complexity into gateways — the VPC endpoints, NAT gateways, and address-translation machinery engineers configure daily exist largely because of IPv4 scarcity. Public IPv4 is now a cost line: with cloud providers billing per public IPv4 address, architectures that once sprayed public IPs around now economize — using private subnets, shared load balancers, NAT, and increasingly IPv6 to avoid the charges (a genuine FinOps consideration at scale). CGNAT complicates operations: shared addresses mean IP-based rate limiting, geolocation, and abuse-blocking are less precise (many users behind one address), affecting how you build security and analytics. And the IPv6 transition remains a live decision: it’s the permanent fix, cloud platforms support it (sometimes with cost advantages), but dual-stack complexity and the need to secure IPv6 separately (a rule that only restricts IPv4 leaves IPv6 open — a real, common misconfiguration) mean migration is deliberate, not automatic. The recurring misconception is thinking exhaustion is a solved, historical problem — in reality it’s an ongoing condition managed by NAT and increasingly nudged toward IPv6 by cost.
What people get wrong
- Thinking it’s ancient history — IPv4 scarcity is an ongoing condition; NAT, CGNAT, IP markets, and per-address cloud charges are all live consequences today.
- Underestimating NAT’s costs: the workaround breaks end-to-end connectivity and complicates servers, P2P, and IP-based identity — it’s a tradeoff, not a free fix.
- Ignoring public-IPv4 pricing — now that cloud providers bill per public IPv4 address, un-economized public IPs are a real, avoidable cost that IPv6 and private networking reduce.
Primary source: RIPE NCC: IPv4 exhaustion
Historical figures and technical concepts for informational purposes only. Not technical, professional, legal, or financial advice. Sources: Official Documentation.