we ran OUT of IP Addresses!!
Based on NetworkChuck's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.
IPv4’s 4.3 billion address total is reduced in practice by reserved ranges and inefficient early allocation.
Briefing
The world’s IPv4 address space didn’t run out because the math was wrong—it ran out because early IP allocation rules were built for a much smaller internet and then handed out too aggressively. IPv4 offers about 4.3 billion possible addresses (2^32 = 4,294,967,296), but the system’s original “classful” design wasted large blocks and reserved entire ranges, leaving far fewer usable addresses than the headline number suggests.
In the classful scheme, IPv4 addresses were grouped into classes A, B, C, D, and E. Classes A–C came with default subnet masks that determined how many hosts could fit in each network and how many separate networks could exist. Class A locked in the first octet as the network portion (default mask 255.0.0.0), producing extremely host-heavy networks—about 16,777,214 usable addresses per network—while leaving only about 126 possible Class A networks. Class B used a default mask of 255.255.0.0, yielding roughly 65,534 hosts per network and about 16,382 Class B networks. Class C used 255.255.255.0, which created far smaller networks—254 usable hosts each—but enabled about 2,097,150 Class C networks.
The mismatch between expected and actual demand drove the damage. Large organizations were assigned huge address blocks “just in case,” because the internet’s explosive growth and the number of devices needing addresses weren’t anticipated. The result: many networks were allocated far more addresses than they could ever use. Even when the system allowed splitting large allocations into smaller subnets, the initial “give away too many” approach left the overall pool constrained.
Two additional problems reduced usable space further. First, Classes D and E weren’t meant for ordinary unicast addressing: Class D is reserved for multicast, and Class E is experimental/reserved. Second, a chunk of what looked like normal Class A space was missing from the usable range—127.0.0.0/8—because it’s reserved for loopback. That’s why 127.0.0.1 always points back to the same device, a built-in mechanism for testing network connectivity. The transcript emphasizes how pinging different 127.x.y.z addresses still “works” because they all route to the local machine, making the large reserved block feel like wasted capacity.
By the end, the core takeaway is that IPv4’s apparent 4.3 billion addresses were undermined by class-based allocation, reserved ranges, and early mismanagement. The promised next step is a “bandaid” fix—an approach that eventually became the practical path forward when the address pool tightened.
Cornell Notes
IPv4 has 2^32 (about 4.3 billion) addresses, but the original classful allocation system wasted much of that space and reserved large ranges. Classes A–C used default subnet masks that made Class A networks extremely host-heavy (about 16.7 million hosts per network) and left only ~126 Class A networks, while Class C created many small networks (254 hosts each) and ~2.1 million Class C networks. Large organizations were assigned huge blocks early, before the internet’s device-heavy growth was understood, leading to chronic over-allocation. Classes D and E were reserved (multicast and experimental), and 127.0.0.0/8 was reserved for loopback testing, further shrinking usable capacity. The result: IPv4 “ran out” due to structure and allocation choices, not raw address math.
Why does IPv4’s “4.3 billion addresses” not translate into 4.3 billion usable addresses?
How do default subnet masks in Class A, B, and C determine how many hosts and networks exist?
What allocation mistake caused address space to be “given away” too quickly?
Why is 127.0.0.0/8 missing from the usable range, and what does it do?
How does subnetting relate to “classful” vs “classless” networks?
Review Questions
- What host and network counts result from the default subnet masks for Class A, Class B, and Class C?
- Which IPv4 classes are reserved for multicast and experimental use, and why does that reduce usable address space?
- How does loopback (127.0.0.0/8) support troubleshooting, and why does pinging 127.x.y.z still reach the local machine?
Key Points
- 1
IPv4’s 4.3 billion address total is reduced in practice by reserved ranges and inefficient early allocation.
- 2
Classful subnet masks made Class A networks extremely host-heavy (~16.7 million hosts) but left only ~126 Class A networks.
- 3
Class B and Class C default masks trade off fewer hosts per network for many more networks (Class C: 254 hosts, ~2.1 million networks).
- 4
Early planners over-allocated huge blocks to large organizations because they underestimated how many devices would need IPs.
- 5
Classes D and E are reserved (multicast and experimental), so they can’t be used for standard unicast addressing.
- 6
127.0.0.0/8 is reserved for loopback, enabling local testing (e.g., ping 127.0.0.1) but consuming a large block of address space.
- 7
Subnetting can split large allocations into smaller subnets, but it couldn’t undo the damage from initial “give away too many” assignments.