如何对已知 CIDR 地址块求补集

有什么工具或方法可以对 CIDR 地址块进行合并、求补集等操作。

比如已知大陆 CIDR 地址块,得到大陆以外 CIDR 地址块。

已知:
8.0.0.0/8
202.0.0.0/8

可以得出:
1.0.0.0/5

9.0.0.0/8
10.0.0.0/7
12.0.0.0/6
16.0.0.0/4
32.0.0.0/3
64.0.0.0/2
128.0.0.0/2
192.0.0.0/5
200.0.0.0/7

203.0.0.0/8
204.0.0.0/6
208.0.0.0/4
224.0.0.0/3

Click to rate this post!
[Total: 0 Average: 0]

相关文章

7 thoughts on “如何对已知 CIDR 地址块求补集

  1. 蹲一个答案
    之前也碰到了类似的问题:有一系列的 IP 地址,求最后全 IP 段被分成了几段之类的需求,因为没有找到类似的实现,最后自己简单动手写了一个,也用到了楼上提到的 ipaddress 的包,另外就是用到了 LpmDict 的包。
    https://github.com/Azure/sonic-mgmt/blob/master/ansible/roles/test/files/ptftests/fib.py
    楼主的需求相对更加简单一点,也许会更容易实现。

发表回复

您的电子邮箱地址不会被公开。