IPv4 CIDR Ranges for Everything except RFC1918

21,269

Solution 1

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.

Solution 2

Bogon space, and non-bogon space CIDR blocks are available in the bogon report:

http://www.cidr-report.org/bogons/

Solution 3

Yes. You are looking for the IANA IPv4 Address Space Registry.

The IPv4 Address that are on the Internet are the ones who start of with one of the numbers what are Allocated in that table.

Solution 4

I have no idea what you're planning on using this for, but here you go:

http://bgp.potaroo.net/as2.0/bgptable.txt

Just a total dump of the BGP routing table.

Share:
21,269

Related videos on Youtube

YwH
Author by

YwH

"All right, guys, uh, listen. This is a blues riff in "B", watch me for the changes, and try and keep up?"

Updated on September 18, 2022

Comments

  • YwH
    YwH over 1 year

    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.

  • YwH
    YwH over 12 years
    Man, I wish I could give you more than a single plus one. I'll tell all my friends to plus one it.
  • womble
    womble over 12 years
    I aim to please.
  • wfaulk
    wfaulk over 9 years
    Source code home for "netmask" seems to be here: trap.mtview.ca.us/~talby/netmask_2.4.tar.gz
  • user2689877
    user2689877 about 9 years
    @womble . the cidrs you have calculated using netmask are the only ones that can be allocated by internet registries?
  • Aron
    Aron over 7 years
    You sir deserve a cider.