Running Out of Addresses: IPv4 Exhaustion and the Rise of IPv6
In a hurry? Skip straight to the numbers.
Open the IP Subnet Calculator →The companion calculator splits an IPv4 address into network and host portions using a subnet mask. Behind that everyday task lies one of the great crises of the internet's growth: the world literally ran out of IPv4 addresses, because the 32-bit design that once seemed limitless could not keep pace with a planet of connected devices. Understanding why IPv4 addresses were exhausted, how clever workarounds bought time, and why IPv6 exists turns a subnetting calculation into an appreciation of the address-space pressures that have shaped the modern internet.
A Finite Pool
An IPv4 address is 32 bits long, which means there are only about four billion possible addresses in total. In the internet's early days this seemed like an unimaginably large number, far more than anyone thought would ever be needed. But the internet grew explosively, and every connected device, every computer, phone, server, and increasingly every appliance and sensor, needs an address to communicate. Four billion, it turned out, was not nearly enough for a world of billions of people with multiple devices each, plus the servers and infrastructure behind them. The finite pool of IPv4 addresses, once thought inexhaustible, began to run dry, and the organizations that hand out address blocks eventually exhausted their supply. Understanding that IPv4's address space is fundamentally limited by its 32-bit design is the key to the whole story: the crisis was baked into the original architecture, which never anticipated the scale the internet would reach.
Buying Time: NAT and CIDR
Faced with looming exhaustion, engineers devised techniques to stretch the available addresses much further.
| Technique | What it does |
|---|---|
| NAT (Network Address Translation) | Lets many devices share one public address |
| CIDR (classless addressing) | Allocates address blocks efficiently by size needed |
| Private address ranges | Reuse the same internal addresses on every network |
Network Address Translation lets an entire home or office network of many devices share a single public IPv4 address, with a router translating between the shared public address and the private addresses used internally, which is why the devices in your home all sit behind one address. Private address ranges let every network reuse the same internal addresses without conflict. And CIDR, the classless addressing the calculator works with, replaced the old rigid class system with flexible allocation, so address blocks could be sized to actual need rather than handed out in wasteful fixed chunks. These techniques dramatically slowed exhaustion, squeezing far more use out of the limited pool. But they were stopgaps, not cures: they extended IPv4's life without solving the underlying shortage, and NAT in particular adds complexity that a truly abundant address space would avoid.
The Classful-to-CIDR Shift
The move to CIDR, which underlies how the calculator interprets a prefix like /24, was itself a major response to address pressure. The original internet divided addresses into fixed classes with rigid boundaries, which wasted enormous amounts of space, an organization needing slightly more than one class's worth had to take an entire larger class, leaving most of it unused. CIDR abolished these rigid classes, allowing an address block of any size to be allocated by specifying exactly how many bits identify the network, so allocations could match real needs closely. This flexibility both reduced waste and made routing more efficient, extending IPv4's usable life considerably. The subnet mask and prefix length the calculator uses are direct products of this classless system: they draw the network/host boundary anywhere, not just at the old class limits. Understanding the classful-to-CIDR shift explains why subnetting works the way it does today, as a flexible, needs-based division of address space that was itself a reaction to the scarcity of addresses.
IPv6: The Real Answer
The genuine solution to exhaustion is IPv6, a new version of the internet protocol with a vastly larger address space. Where IPv4 uses 32 bits, IPv6 uses 128 bits, yielding a number of possible addresses so enormous it is effectively inexhaustible for any foreseeable future, enough to give every device, and far more, a unique address without the need for NAT's sharing. IPv6 was designed precisely to escape the finite pool that constrained IPv4, ensuring the internet can keep growing indefinitely. Its adoption has been gradual, because the entire internet's infrastructure had to be updated to support it and IPv4 workarounds kept the old system usable, so the two coexist during a long transition. But IPv6 is the architecture built for an internet of billions of devices, removing the scarcity that shaped so much of IPv4's design. Understanding IPv6 completes the story: the address-space crisis that drove NAT, CIDR, and careful subnetting is ultimately answered by simply having far more addresses, which is what IPv6 provides.
Subnetting With the Bigger Picture
Use the calculator to split an IPv4 address into network and host portions, and understand the pressures behind it: IPv4's 32-bit design yields only about four billion addresses, which the growing internet exhausted, NAT and private ranges let devices share addresses while CIDR replaced wasteful classful allocation with flexible subnetting, and IPv6's 128-bit space is the long-term answer to scarcity. The calculation divides the address; understanding IPv4 exhaustion and IPv6 is what reveals why address space has been such a driving force in the internet's design.
Ready to Put This Into Practice?
Now that you understand how it works, plug in your own numbers and get an instant, accurate result.
Use the IP Subnet Calculator Now →