skip to content

Special Address Ranges

RFC 1918 private space, loopback, link-local, carrier-grade shared space and the documentation blocks. Spotting a 169.254 address and knowing DHCP failed is the practical payoff.

on this pageshow

questions

5

Which IPv4 address blocks does RFC 1918 reserve for private networks, and why are they not routed on the public internet?

level: juniorimportance: must knowfreq 78%

basics

~10 s

RFC 1918 reserves 10.0.0.0/8, 172.16.0.0/12 (172.16.0.0 to 172.31.255.255) and 192.168.0.0/16. Anyone may reuse them without registration, so they are not unique, and routes and packets for them are kept off inter-network links.

open as a page

In IPv4, what do 127.0.0.1, 0.0.0.0 and 255.255.255.255 each mean, and where may each appear in a packet?

level: middleimportance: should knowfreq 42%

basics

~20 s

127.0.0.1 belongs to the 127.0.0.0/8 loopback block, which must never leave the host. 0.0.0.0 means "this host on this network", valid only as a source while a host learns its address. 255.255.255.255 is limited broadcast: destination only, never forwarded.

open as a page

A service fetches user-supplied URLs and must refuse internal IPv4 destinations; which reserved blocks must its address filter cover, and where do such filters usually leak?

level: seniorimportance: should knowfreq 32%

basics

~10 s

Refuse 0.0.0.0/8, 10.0.0.0/8, 100.64.0.0/10, 127.0.0.0/8, 169.254.0.0/16, 172.16.0.0/12, 192.0.0.0/24, 192.168.0.0/16, 198.18.0.0/15, the documentation /24s, 224.0.0.0/4 and 240.0.0.0/4, testing the resolved address of every connection, redirects included.

open as a page

What does the IPv4 special-purpose address registry (RFC 6890) record about each reserved block, and how does it separate documentation, shared and private space?

level: middleimportance: nice to knowfreq 20%

basics

~20 s

For each block the registry records whether its addresses are valid as source and as destination, forwardable by routers, globally reachable and reserved by IP itself. Documentation blocks are invalid as either; RFC 1918 and 100.64.0.0/10 are forwardable but not globally reachable.

open as a page