There are a number of lists on the web that define all valid public ip addresses ranges but they don't seem to be very accurate.
The most common list Ive found is show below. This list however doesn't include addresses in 191.236.x.x even though there are public web servers in that range.
Is there a definitive and correct list?
- 1.0.0.0 - 9.255.255.255
- 11.0.0.0 - 126.255.255.255
- 129.0.0.0 - 169.253.255.255
- 169.255.0.0 - 172.15.255.255
- 172.32.0.0 - 191.0.1.255
- 192.0.3.0 - 192.88.98.255
- 192.88.100.0 - 192.167.255.255
- 192.169.0.0 - 198.17.255.255
- 198.20.0.0 - 223.255.255.255
3 Answers
IANA provides standards on this subject. For IPv4, here is what they have in their "special purpose address registry". Meaning, for our purposes, anything in these address blocks shouldn't be assigned because they shouldn't be routable "publicly".
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.0.0.0/29
192.0.0.8/32
192.0.0.9/32
192.0.0.170/32
192.0.0.171/32
192.0.2.0/24
192.31.196.0/24
192.52.193.0/24
192.88.99.0/24
192.168.0.0/16
192.175.48.0/24
198.18.0.0/15
198.51.100.0/24
203.0.113.0/24
240.0.0.0/4
255.255.255.255/32
# Also to be considered, multicast addresses subnet:
224.0.0.0/4This is more consistent with the example you provided above.
If you don't understand CIDR notation, you can convert them to ranges here.
10- 1.0.0.0-9.255.255.255
- 11.0.0.0-100.63.255.255
- 100.128.0.0-126.255.255.255
- 128.0.0.0-169.253.255.255
- 169.255.0.0-172.15.255.255
- 172.32.0.0-191.255.255.255
- 192.0.1.0/24
- 192.0.3.0-192.88.98.255
- 192.88.100.0-192.167.255.255
- 192.169.0.0-198.17.255.255
- 198.20.0.0-198.51.99.255
- 198.51.101.0-203.0.112.255
- 203.0.114.0-223.255.255.255
All IP address from 1 to 191 excluding the RFC1918 private addresses below are assigned for Public IPs.:
RFC1918 - Private address alocation:
- 10.0.0.0 - 10.255.255.255 (10/8 prefix)
- 172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
- 192.168.0.0 - 192.168.255.255 (192.168/16 prefix)