我正在寻找“互联网”的 CIDR 块列表,即从 0.0.0.0 到 223.255.255.255 的所有内容,不包括 RFC1918 地址空间 10.0.0.0/8、172.16.0.0/12 和 192.168.0.0/16(是的,我知道其中有很多特殊的小网络,例如 192.0.0.0/24,但我真的不关心它们)。我想这个列表一定存在于互联网的某个地方,但我的谷歌搜索能力不济,所以我想在自己生成范围之前先在这里问一下。
编辑:我忘记了这个问题的一个非常重要的部分:我需要尽可能少的条目。
如果你想知道我在做什么,我们正在进入静态流模式来解决 OpenFlow 控制网络中的一些严重问题,这些问题目前发生了大量不良情况,我们需要暂时减少流条目的数量,这样我们就不会超出流表中的可用空间,并导致一切崩溃几分钟,同时重新建立与控制器的连接。
答案1
让我在这里展示我的工作......
您需要最少数量的 CIDR 块来覆盖:
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
要将这些范围转换为最小的 CIDR 块,您只需使用netmask
(寻址的瑞士军刀),如下所示:
$ 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
嘿,瞧,鲍勃就是你阿姨的同居情人了。
答案2
Bogon 报告提供了 Bogon 空间和非 Bogon 空间 CIDR 块:
答案3
答案4
我知道这是一个老问题和老答案...但在寻找定义用于本地通信的所有非私有网络的方法时,我发现它很有用。
请参阅:https://en.wikipedia.org/wiki/Reserved_IP_addresses
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
我只是将@womble 的答案一直延伸到 255.255.255.255,而不是停在 223.255.255.255。
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-255.255.255.255
结果如下netmask
:
$ 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:255.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
224.0.0.0/3