Private IP ranges and RFC 1918
Your laptop almost certainly has an address like 192.168.1.42, and so does a neighbor's laptop, and millions of others. That is not a conflict because those addresses are private, reserved by RFC 1918 for use inside a network and never routed across the public internet. Understanding which ranges are private, and why, clears up a lot of networking confusion.
The three RFC 1918 ranges
RFC 1918 sets aside three blocks for private use:
| Range | CIDR | Addresses |
|---|---|---|
| 10.0.0.0 to 10.255.255.255 | 10.0.0.0/8 | about 16.7 million |
| 172.16.0.0 to 172.31.255.255 | 172.16.0.0/12 | about 1 million |
| 192.168.0.0 to 192.168.255.255 | 192.168.0.0/16 | about 65 thousand |
Home routers favor 192.168.x.x. Large corporate and cloud networks tend to use 10.x.x.x for the room to subdivide. The 172.16/12 block is the one people forget, and note it is 172.16 through 172.31, not all of 172.
Why they are not routable
Internet routers are configured to drop packets addressed to these ranges. Because the same private address exists on countless separate networks, there is no single destination to route to. This is deliberate: private ranges let any organization build an internal network freely, without applying for globally unique addresses, as long as those addresses stay internal.
NAT bridges the gap
If private addresses cannot cross the internet, how does a device behind one reach a website? Through Network Address Translation. Your router holds one public address and rewrites outgoing packets so they appear to come from that public address, keeping a table to map the replies back to the right internal device. Dozens of private hosts share a single public IP this way. NAT is why you can run a whole household or office on 192.168.x.x with one address from your provider.
Two more ranges worth knowing
Beyond RFC 1918, two special blocks come up often:
- 100.64.0.0/10 is CGNAT, carrier-grade NAT space defined in RFC 6598. Internet providers use it to NAT many customers behind shared public addresses when they run short of IPv4. It behaves like private space but is managed by the carrier, not you.
- 169.254.0.0/16 is link-local. A device assigns itself one of these automatically when it fails to get an address from DHCP. Seeing a
169.254.x.xaddress is a reliable sign that DHCP did not respond.
Plan your subnets
When you carve a private range into subnets, the math around network addresses, broadcast addresses, and host counts is easy to get wrong. The subnet calculator takes a CIDR block and shows the range, usable hosts, and mask instantly, all computed in your browser so nothing you enter is transmitted. For the notation itself, read CIDR notation and subnetting explained, and public vs private IP addresses covers the distinction in more depth.
The takeaway: pick a private range that gives you room to grow, let NAT handle the public side, and recognize 100.64.x.x and 169.254.x.x for what they signal.