Networking

Private IP

Private IP Address

An IP address from one of three RFC 1918 reserved ranges — 10.x.x.x, 172.16–31.x.x, or 192.168.x.x — used freely inside local networks and never routed on the public internet, allowing millions of networks to reuse the same address space.

Every device on your home network has a private IP address assigned by your router's DHCP server. These addresses come from ranges that IANA has permanently reserved for private use — routers on the public internet are configured to drop packets destined for RFC 1918 addresses, so they can never be reached from outside. Your router uses NAT to translate between your devices' private addresses and your single public IP from your ISP. This is how billions of devices can coexist on the internet despite IPv4 having only ~4.3 billion total addresses.

RFC 1918 private address ranges

RangeCIDRUsable addressesTypical use
10.0.0.0 – 10.255.255.255/816,777,214Large enterprise, cloud VPCs, ISP infrastructure
172.16.0.0 – 172.31.255.255/121,048,574Medium networks, VPN address pools
192.168.0.0 – 192.168.255.255/1665,534Home routers, small offices (default)

The 10.0.0.0/8 block is by far the largest, providing over 16 million addresses — enough for entire corporate WAN infrastructures and cloud provider VPCs. The 172.16.0.0/12 block spans 172.16.x.x through 172.31.x.x (16 contiguous /16 networks). The 192.168.0.0/16 block is the most widely recognised because virtually every consumer router defaults to it — 192.168.0.x or 192.168.1.x being the most common home network ranges.

Why private IP addresses exist

IPv4 uses 32-bit addresses, providing a theoretical maximum of 4,294,967,296 unique addresses. By the early 1990s it was clear this would not be enough for a world of billions of internet-connected devices. RFC 1918 (1996) formalised three address ranges as permanently private — not routable on the public internet — allowing any organisation to reuse them internally. Combined with NAT, this one design decision extended IPv4's life by decades. Without RFC 1918 and NAT, IPv4 exhaustion would have been catastrophic far earlier than 2011 when IANA allocated its last /8 blocks to the regional registries.

APIPA and link-local addresses

When a device fails to obtain an address from a DHCP server, most operating systems assign themselves an APIPA (Automatic Private IP Addressing) address from the 169.254.0.0/16 range, defined in RFC 3927 as link-local. The device picks a random address in 169.254.1.0–169.254.254.255 and uses ARP to verify it is not already in use on the link. Link-local addresses are only meaningful on the directly connected segment — they are never routed and cannot reach the internet. Seeing a 169.254.x.x address on your device almost always means DHCP has failed: either your router is unreachable, the DHCP pool is exhausted, or there is a network configuration problem.

RFC 6598 shared address space for CGNAT

As IPv4 addresses grew scarce, ISPs needed a private range that would not conflict with subscriber home networks already using RFC 1918 space. RFC 6598 (2012) designated 100.64.0.0/10 as "shared address space" specifically for Carrier-Grade NAT (CGNAT). This range spans 100.64.0.0–100.127.255.255, providing over 4 million addresses. When an ISP uses CGNAT, your router's WAN interface receives a 100.64.x.x address — private from the subscriber's perspective but shared across many subscribers at the ISP. A second NAT translation then converts this to the ISP's true public IP before packets reach the internet. This double-NAT arrangement can break protocols that embed IP addresses in payloads (like SIP for VoIP) and complicates port forwarding.

How NAT translates private to public

NAT (Network Address Translation) works by maintaining a state table of active connections. When your device at 192.168.1.50 sends a TCP packet to a web server, your router rewrites the source address to its public IP (e.g., 203.0.113.10) and records the mapping: internal 192.168.1.50:54321 → external 203.0.113.10:54321. When the web server replies to 203.0.113.10:54321, the router looks up the state table and rewrites the destination back to 192.168.1.50:54321, delivering the packet to the correct device. This translation is transparent to both the internal device and the remote server.

Same private IP on different networks

Two completely separate networks can both use 192.168.1.100 simultaneously with no conflict, because private addresses only have meaning within their local network. A home in Tokyo and an office in London can both assign 192.168.1.100 to a device — those packets never travel on the public internet, so they never meet. The only situation where this causes problems is double NAT: if your ISP's CGNAT uses 10.0.0.0/8 and your home router also uses 10.x.x.x, the overlapping ranges can confuse routing within the layered NAT. The solution is to use a different RFC 1918 range on your home network (192.168.x.x or 172.16.x.x) to avoid overlap.

IPv6 and private addressing

IPv6's enormous address space (2128 addresses) was designed so that every device could have a globally unique public address, eliminating the need for NAT. However, the equivalent of private addressing in IPv6 is ULA (Unique Local Addresses), defined in RFC 4193, using the fc00::/7 prefix (practically fd00::/8 for locally assigned addresses). ULA addresses are not routed on the global internet and are used for purely internal communication within a site or organisation. Unlike RFC 1918, ULA addresses include a 40-bit pseudorandom field to make them globally unique with high probability, preventing conflicts when two ULA-addressed networks are merged — a common problem when companies are acquired or connected via VPN.

Frequently Asked Questions

Why do private IP addresses exist?

IPv4 provides ~4.3 billion addresses — not enough for every device. RFC 1918 reserved three ranges for reuse inside private networks. Since these addresses never appear on the public internet, millions of networks can independently use 192.168.1.x without conflict. NAT bridges private networks to the public internet.

What is my private IP address?

Windows: run ipconfig. macOS/Linux: run ip addr or ifconfig. iOS/Android: tap the connected Wi-Fi network in settings. You'll see an address in 192.168.x.x, 10.x.x.x, or 172.16–31.x.x — reachable only from your local network.

Can two devices have the same private IP?

Not on the same network — DHCP prevents conflicts. But separate networks (your home and a stranger's home) can both use 192.168.1.100 without any conflict since these addresses are local and isolated. Double NAT can cause issues if both routers use overlapping private ranges.

Related Terms

More From This Section