IPv4 CIDR Ranges – Everything Except RFC1918

cidripip addressipv4networking

I'm looking for a list of CIDR blocks for "The Internet", i.e. everything from 0.0.0.0 to 223.255.255.255, excluding RFC1918 address space of 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16 (yes, I know there are lots of little nets in there that are special, like 192.0.0.0/24, but I really don't care about them). I figure this list must exist somewhere on the Internet, but my google-fu is failing me, so I figured I'd ask here before generating the range myself.

Edit: I forgot a really important part of this question: I need it in the fewest possible number of entries.

And if you want to know what I'm doing with this, we are entering static flow-mods to work around some nasty issues in an OpenFlow controlled network that currently has a significant amount of badness happening, and we need to reduce the number of flow entries temporarily so we don't exceed the available space in the flow tables and cause everything to come crashing down for a few minutes while it reestablishes a connection to the controller.

Best Answer

Let me show my working here...

You need a minimal number of CIDR blocks to cover:

  • 0.0.0.0-9.255.255.255
  • 11.0.0.0-172.15.255.255
  • 172.32.0.0-192.167.255.255
  • 192.169.0.0-223.255.255.255

To turn these ranges into minimal CIDR blocks, you can just use netmask (the swiss army knife of addressing), like so:

$ netmask -c 0.0.0.0:9.255.255.255
    0.0.0.0/5
    8.0.0.0/7
$ netmask -c 11.0.0.0:172.15.255.255
   11.0.0.0/8
   12.0.0.0/6
   16.0.0.0/4
   32.0.0.0/3
   64.0.0.0/2
  128.0.0.0/3
  160.0.0.0/5
  168.0.0.0/6
  172.0.0.0/12
$ netmask -c 172.32.0.0:192.167.255.255
 172.32.0.0/11
 172.64.0.0/10
172.128.0.0/9
  173.0.0.0/8
  174.0.0.0/7
  176.0.0.0/4
  192.0.0.0/9
192.128.0.0/11
192.160.0.0/13
$ netmask -c 192.169.0.0:223.255.255.255
192.169.0.0/16
192.170.0.0/15
192.172.0.0/14
192.176.0.0/12
192.192.0.0/10
  193.0.0.0/8
  194.0.0.0/7
  196.0.0.0/6
  200.0.0.0/5
  208.0.0.0/4

Hey presto, Bob's your Auntie's live-in lover.

Related Topic