Verified: 2026-10-17By Alex Chen (Lead BGP Architect)RFC 1918 & RFC 65988 Min Read

Identifying Public vs Private IP Ranges: Complete RFC Reference

A definitive engineering guide to distinguishing public routable Internet addresses from RFC 1918 private subnets, Carrier-Grade NAT (CGNAT) pools, and special-purpose reserved blocks.

Quick Answer

A public IP address is globally unique and routable across Tier-1 Internet service providers. A private IP address belongs to reserved non-routable ranges (RFC 1918: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) intended exclusively for internal local area networks. Border routers automatically drop packets containing private addresses.

  • RFC 1918 Private: 10.0.0.0/8 (16.7M IPs), 172.16.0.0/12 (1M IPs), 192.168.0.0/16 (65.5K IPs).
  • Carrier-Grade NAT: 100.64.0.0/10 (RFC 6598) is reserved for ISP shared middleboxes.
  • APIPA Link-Local: 169.254.0.0/16 indicates a failed DHCP handshake.

1. The RFC 1918 Private Address Allocation

Published in February 1996, RFC 1918 established three distinct blocks of IPv4 address space dedicated for private enterprise networks. These blocks are never allocated by IANA or Regional Internet Registries to any individual entity:

24-Bit Block (Class A Equivalent):10.0.0.0 to 10.255.255.255 (10.0.0.0/8)
20-Bit Block (Class B Equivalent):172.16.0.0 to 172.31.255.255 (172.16.0.0/12)
16-Bit Block (Class C Equivalent):192.168.0.0 to 192.168.255.255 (192.168.0.0/16)

2. Comprehensive Address Scope Comparison

Examine the complete registry of reserved, private, carrier, and public IPv4 ranges:

IANA Special-Purpose IPv4 Address Space Registry
IP Prefix RangeRFC StandardAddress CountDesignated PurposeGlobal Routability
0.0.0.0/8RFC 112216,777,216Current network / Source address onlyNon-routable (Drops on WAN)
10.0.0.0/8RFC 191816,777,216Private enterprise networks (Large LAN)Non-routable (Private)
100.64.0.0/10RFC 65984,194,304Carrier-Grade NAT (Shared ISP WAN)Carrier internal only
127.0.0.0/8RFC 112216,777,216Host loopback interface (localhost)Internal device only
169.254.0.0/16RFC 392765,536Link-Local auto-configuration (APIPA)Single physical wire segment
172.16.0.0/12RFC 19181,048,576Private enterprise networks (Medium LAN)Non-routable (Private)
192.168.0.0/16RFC 191865,536Private local networks (Home / Small office)Non-routable (Private)
224.0.0.0/4RFC 5771268,435,456Multicast groups (IGMP streaming)Multicast trees only
240.0.0.0/4RFC 1112268,435,456Reserved for future / ExperimentalNon-routable (Bogon)

Public vs Private IP Identification Decision Tree


                 [ Check Incoming IP Address Range ]
                                  |
                +-----------------+-----------------+
                |                                   |
        [ RFC 1918 Private ]               [ RFC 6598 CGNAT ]
    10.0.0.0/8, 172.16.0.0/12,               100.64.0.0/10
          192.168.0.0/16                            |
                |                          Carrier-Grade NAT
        Local LAN Only / Home Router       (Shared ISP WAN Gateway)
                |                                   |
                +-----------------+-----------------+
                                  |
                        [ Global Public IP ]
                  Everything else (except loopback/APIPA)
                  Routable on global Internet backbones

3. How NAT Maps Private IPs to a Single Public IP

Network Address Translation (NAT, specifically Port Address Translation or NAT44) is the bridge between private and public IP spaces.

When your computer (e.g. 192.168.1.50:54210) sends an HTTP request to Google (142.250.190.46:443), your home router replaces the source private IP with its own public WAN IP and assigns a unique temporary port in its NAT state table. When Google replies, the router looks up the port in its state table and forwards the packet back to your internal device.

Frequently Asked Questions

Why does my home router display an IP starting with 100.64.x.x on its WAN status?

An IP address in the range 100.64.0.0 to 100.127.255.255 indicates Carrier-Grade NAT (CGNAT, standardized by RFC 6598). Because public IPv4 addresses are exhausted, your ISP is not providing you with a true public IP; instead, your router is behind an ISP-level NAT gateway alongside hundreds of your neighbors. This prevents inbound port forwarding.

Can two different companies use the exact same 10.0.0.0/8 private IP addresses?

Yes. RFC 1918 private IP addresses are non-routable on the public Internet. Because border routers drop packets containing private IPs, millions of internal networks around the world simultaneously reuse 10.0.0.0/8 and 192.168.1.0/24 without any IP address conflict on the global Internet.

What is APIPA (169.254.0.0/16)?

Automatic Private IP Addressing (APIPA, RFC 3927) is a link-local fallback mechanism. If your computer is configured for DHCP but fails to receive an answer from a DHCP server (e.g., your router is rebooting or the Ethernet cable is disconnected), the operating system automatically assigns itself an address in the 169.254.x.x range so local devices can still communicate on the same wire.

Data & Technical Sources

  • IETF RFC 1918 — Address Allocation for Private Internets
  • IETF RFC 6598 — IANA-Reserved IPv4 Prefix for Shared Address Space (CGNAT)
  • IETF RFC 3927 — Dynamic Configuration of IPv4 Link-Local Addresses (APIPA)