Skip to main content
PacketMentor logo
Open menu
← All topics
Network Fundamentals Foundational

Private IPv4 Addressing (RFC 1918)

The three private IPv4 ranges — 10/8, 172.16/12, and 192.168/16 — reserved for internal networks, hidden behind NAT, and never routable on the public internet.

Quick summary
  • Three ranges are reserved by RFC 1918 for private use: 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16.
  • Private addresses are never routable across the public internet — routers on the internet drop packets sourced from or destined to these ranges.
  • To reach the internet, private hosts are translated to a public IP by NAT (usually on the edge router or firewall).

Mental model

The internet ran out of unique IPv4 addresses long ago — 32 bits gives you only about 4 billion, and there are far more devices than that. RFC 1918 carved out three ranges that anyone can reuse inside their own network, as long as they don’t leak onto the public internet. Every home, office, and data centre uses these same ranges independently, and NAT (Network Address Translation) is what lets them all share the internet through public IPs.

The three private ranges

RangeCIDROld classHosts (theoretical max)Typical use
10.0.0.0 – 10.255.255.25510.0.0.0/8Class A16,777,214Enterprise, service providers, cloud VPCs
172.16.0.0 – 172.31.255.255172.16.0.0/12Class B block1,048,574Mid-size networks, campus labs
192.168.0.0 – 192.168.255.255192.168.0.0/16Class C block65,534Home, small office, SOHO routers

The old class labels don’t matter for routing anymore (we’ve been classless since CIDR arrived in 1993), but they’re still handy for remembering which range is which size.

Why they exist

Two things wouldn’t work without RFC 1918:

  1. Address conservation. Every device inside a corporate network would otherwise need a globally-unique public IPv4. There aren’t enough left. Private ranges + NAT let millions of internal hosts share a handful of public IPs.
  2. Isolation by default. Because internet backbone routers drop packets to or from RFC 1918 addresses, your internal 10.10.5.20 file server is unreachable from the outside — a free layer of security you don’t have to configure.

Special-purpose ranges (not RFC 1918 but often confused)

RangePurpose
127.0.0.0/8Loopback — packets never leave the host (127.0.0.1 is the classic)
169.254.0.0/16Link-local / APIPA — a Windows/Mac/Linux client assigns itself one when DHCP fails
224.0.0.0/4Multicast
100.64.0.0/10Carrier-grade NAT (CGN) — ISP-internal, not usable in customer networks
0.0.0.0/8”This network” — the default route uses 0.0.0.0/0
255.255.255.255Limited broadcast — never routed

Seeing 169.254.x.x on your laptop is a telltale sign DHCP is broken.

How you’ll see this on the exam

  • “Which of these can be used on the public internet?” → Anything not in the three RFC 1918 ranges (and not loopback, APIPA, multicast, or reserved).
  • Given a network diagram, identify which addresses need NAT → any host in 10.0.0.0/8, 172.16-31.0.0/12, or 192.168.0.0/16 that talks to the internet needs to be translated.
  • Duplicate private ranges across a merged network → the classic acquisition/merger problem: both companies use 192.168.1.0/24 for their office, and now they can’t route to each other without renumbering or double-NAT.

Real-IOS: configuring an inside private LAN + NAT to the internet

R1(config)# interface GigabitEthernet0/0
R1(config-if)# description LAN — inside NAT
R1(config-if)# ip address 192.168.1.1 255.255.255.0
R1(config-if)# ip nat inside
R1(config-if)# no shutdown
!
R1(config)# interface GigabitEthernet0/1
R1(config-if)# description WAN — outside NAT
R1(config-if)# ip address 203.0.113.5 255.255.255.252
R1(config-if)# ip nat outside
R1(config-if)# no shutdown
!
R1(config)# access-list 1 permit 192.168.1.0 0.0.0.255
R1(config)# ip nat inside source list 1 interface GigabitEthernet0/1 overload

Now every host in 192.168.1.0/24 reaches the internet by being translated to the router’s outside IP 203.0.113.5. See the dedicated NAT topic for the full walkthrough.

The #1 mistake

Using a public IP by mistake on your internal network. New engineers sometimes pick 1.1.1.1 or 8.8.8.8 for a lab because they’re memorable — and then wonder why their internal hosts can’t reach Google DNS or Cloudflare (those are Google DNS and Cloudflare, and now your router thinks the “internal” host is on the internet). Always start internal designs from the RFC 1918 ranges.

Quick verification

R1# show ip interface brief
Interface              IP-Address      OK?  Method Status                Protocol
GigabitEthernet0/0     192.168.1.1     YES  manual up                    up
GigabitEthernet0/1     203.0.113.5     YES  manual up                    up
!
R1# show ip nat translations
Pro  Inside global      Inside local       Outside local      Outside global
tcp  203.0.113.5:1024   192.168.1.10:53212 8.8.8.8:443        8.8.8.8:443
Master this on a real network

Want this drilled into reflex?

1:1 weekly sessions, live feedback on your labs, and US interview prep — built around the CCNA® exam blueprint. Free first session. No card on file until you decide.

Claim my free session →

Get the free CCNA 12-week roadmap

You're already reading up on Private IPv4 Addressing (RFC 1918). The roadmap is the order I recommend studying every CCNA topic in — with what to lab each week and where Private IPv4 Addressing (RFC 1918) fits. A written personal reply, not an autoresponder. Expect it within one business day.

Personal reply from a senior network engineer. No third-party tracking. Unsubscribe any time.