What is IPv4?
The protocol that built the internet, and the one that quietly ran aground.
Overview
IPv4, Internet Protocol version 4, is the fourth revision of the Internet Protocol and the first to be deployed at scale. It was defined in 1981 by RFC 791, and more than forty years later it still carries the majority of traffic on the internet.
Its design has aged remarkably well. Its address size has not.
The address format
An IPv4 address is a 32-bit number. Writing it as 32 binary digits would be unreadable, so it is split into four 8-bit groups called octets, each converted to decimal and joined with dots. This is called dotted-decimal notation.
192.168.1.1 a private address, probably your router 203.0.113.42 reserved for documentation, which is why we use it in examples 8.8.8.8 a public DNS resolver run by Google 127.0.0.1 loopback, meaning this machine
Thirty-two bits gives 232, or 4,294,967,296 addresses. Just over 4.3 billion. In 1981, when the entire network was a few hundred research and military hosts, that was an unimaginable surplus.
Classful addressing, and why it was abandoned
The original scheme carved the address space into fixed classes. The first bits of an address decided how much of it identified the network and how much identified the host on it.
| Class | Range starts | Network size | Intended for |
|---|---|---|---|
| A | 1 to 126 | About 16.7 million hosts | Very large organizations |
| B | 128 to 191 | About 65,000 hosts | Medium organizations |
| C | 192 to 223 | 254 hosts | Small networks |
The problem is visible the moment you look at the gaps. An organization with 300 machines was too big for a Class C and got a Class B instead, wasting roughly 64,700 addresses. There was nothing in between. The scheme burned through the address space at a rate that had nothing to do with actual demand.
CIDR, Classless Inter-Domain Routing, replaced it in 1993. Instead of three fixed sizes, a block could be any power of two, written with a suffix saying how many bits identify the network. A /24 is 256 addresses, a /23 is 512, a /22 is 1,024. That organization with 300 machines gets a /23 and wastes about 200 addresses instead of 64,700.
Running out
CIDR bought years. It did not buy enough. As the internet moved from research network to household utility, and then to a thing inside every phone, thermostat, and doorbell, 4.3 billion stopped being a large number.
Two techniques carried the load in the meantime, and both are still doing so today.
NAT
Network Address Translation lets an entire household or office sit behind a single public address. Your router rewrites the return address on the way out and reverses it on the way back. It is the reason your provider can serve a home with fifteen connected devices using exactly one address. See Public IP vs Private IP for how that works in practice.
Reclamation and transfer
Blocks allocated generously in the 1980s have been returned, subdivided, and sold. There is a real market in IPv4 space, and prices have climbed steadily. An address that was free to request in 1990 is now an asset on a balance sheet.
IPv4 is not going away, and nothing you own is about to stop working. What ran out is the free pool: there are no unallocated blocks left for a registry to hand a newcomer. Growth now has to come from transfers, tighter sharing, or IPv6.
Reserved ranges worth recognizing
Some IPv4 ranges never appear as a public address. Knowing them on sight saves a lot of confused debugging.
| Range | Name | What it tells you |
|---|---|---|
10.0.0.0/8 | Private | A local network address, common in businesses and data centers |
172.16.0.0/12 | Private | A local network address, very common inside containers |
192.168.0.0/16 | Private | A local network address, the default on most home routers |
100.64.0.0/10 | Carrier-grade NAT | Your provider is sharing one public address among many customers |
127.0.0.0/8 | Loopback | Traffic to this machine that never touches the network |
169.254.0.0/16 | Link-local | Usually a failure: no DHCP server answered, so the device picked its own |
224.0.0.0/4 | Multicast | One-to-many delivery, not an address any single host owns |
If a device shows an address in that range, it asked for one and nothing answered. Check that DHCP is running, the cable is seated, or the Wi-Fi actually associated. The address is the device improvising after being ignored.