Public, Private, and Special Addresses
Unit 4: IP Addressing and Subnetting. Lesson 12 of 49 in NetPlus Academy.
Not every address can be used on the internet. Some ranges are set aside for inside networks or for special jobs.
Private ranges (RFC 1918)
These are free for anyone to use internally and are never routed on the public internet. Reaching the internet from them requires NAT.
10.0.0.0/8: 10.0.0.0 to 10.255.255.255172.16.0.0/12: 172.16.0.0 to 172.31.255.255192.168.0.0/16: 192.168.0.0 to 192.168.255.255
Remember the middle one carefully: 172.16 through 172.31 only. 172.32.0.1 is public.
Special ranges
- APIPA,
169.254.0.0/16: a host assigns itself one of these when it cannot reach a DHCP server. Seeing 169.254.x.x on a client means DHCP failed. Also called link-local in IPv4. - Loopback,
127.0.0.0/8: the host itself. - Multicast, 224.0.0.0 to 239.255.255.255.
- Limited broadcast,
255.255.255.255: everyone on the local segment, used by DHCP Discover. - Default route,
0.0.0.0/0: matches any destination; the route of last resort.
Public addresses
Everything else is public, assigned through regional registries to providers and organizations. Public space is scarce, which is why private addressing plus NAT became universal and why IPv6 exists.
Public, Private, and Special Addresses, explained slowly
Two kinds of addresses, one analogy
Every apartment building in a city can have an apartment 4B. That does not cause confusion, because 4B only has to be unique inside its building. The building's street address is what has to be unique in the whole city.
Private addresses are apartment numbers: every company can use the same ones inside, because they never appear on the public internet. Public addresses are street addresses: globally unique, handed out by registries to providers and organizations. NAT (a later lesson) is the front desk that translates between the two when a private host wants to reach the internet.
The three private ranges (RFC 1918)
10.0.0.0/8 10.0.0.0 to 10.255.255.255 about 16 million addresses 172.16.0.0/12 172.16.0.0 to 172.31.255.255 about 1 million 192.168.0.0/16 192.168.0.0 to 192.168.255.255 65,536
The middle one is the trap. A /12 covers 12 network bits: the first octet plus the top four bits of the second octet. Four bits give 16 values, so the second octet runs from 16 through 31. That means 172.16 through 172.31 are private, and 172.32.0.1 is a public address. Questions love this.
Special addresses you must recognize on sight
- 169.254.x.x (APIPA). When a host asks for a DHCP lease and nobody answers, it gives itself an address in this range so it can at least talk to neighbors doing the same. If you see 169.254 on a client, its network card works and its cable is probably fine; what failed is DHCP. Look at the DHCP server, the scope, or the path between them. IPv4 calls this "link-local," and IPv6 has its own version (fe80::).
- 127.0.0.0/8 (loopback). The host itself.
127.0.0.1is the usual one. - 224.0.0.0 to 239.255.255.255 (multicast). Group addresses, never assigned to a host.
- 255.255.255.255 (limited broadcast). Everyone on the local segment. DHCP Discover goes here because the client does not yet know any address.
- 0.0.0.0/0 (default route). Not a host address at all. In a routing table it means "anything not matched by a more specific route goes this way." The route of last resort.
Why this arrangement exists
There are only about 4.3 billion IPv4 addresses, and they ran out years ago. Giving every company private addresses inside and one or a few public addresses outside, translated by NAT, stretched the supply. IPv6 is the permanent fix.
How the exam asks it
- "A workstation shows 169.254.23.7 and cannot reach anything": DHCP failure, not a bad cable.
- "Which of these is a private address?" 172.20.5.5 yes; 172.32.5.5 no; 192.168.200.1 yes; 11.0.0.1 no.
- "Which address does a DHCP Discover use as its destination?" 255.255.255.255.
- "Which route matches any destination?" 0.0.0.0/0.
What to memorize
- 10/8, 172.16/12 (16 through 31), 192.168/16 are private.
- 169.254 means DHCP failed. 127 is me. 0.0.0.0/0 is the way out.