![IP 聚合并查找正确的网络 ID](https://linux22.com/image/1590337/IP%20%E8%81%9A%E5%90%88%E5%B9%B6%E6%9F%A5%E6%89%BE%E6%AD%A3%E7%A1%AE%E7%9A%84%E7%BD%91%E7%BB%9C%20ID.png)
我无法理解 IP 聚合的工作原理以及哪些 IP 地址“属于”一起。所以我有下面的这个转发表,相同的输出端口。
Network ID ` Net mask
10.0.0.128 ` 255.255.255.128 or /25
10.0.0.0 ` 255.255.255.128 or /25
10.0.1.0 ` 255.255.255.0 or /24
10.0.4.0 ` 255.255.254.0 or /23
10.0.2.0 ` 255.255.254.0 or /23
我该如何进行聚合以及如何找到网络的 ID(例如地址 10.0.0.213 所属的网络)?
答案1
不清楚你在问什么。
IP 聚合的理念是将小范围的 IP 组合成更大的块。
您列出的范围不重叠且连续,因此这 5 个块都可以聚合成一个块 10.0.[0-4].x
因此,覆盖所有这些范围的最小块是 10.0.0.0/22 = 网络掩码 255.255.252.0 任何小于或等于 /22 的网络掩码都将包括所有这些范围。
10.0.2.213 属于网络 10.0.2.0 /255.255.254.0 或 /23
您可以通过将网络掩码转换为二进制来更好地理解。255 = 11111111 - 8 x 1。/ x 只是计算 1(应该始终在左边)。
要找到 IP 地址所属的网络,请将其转换为二进制,然后对位进行“或”
00001010.0000000.00000010.1101010 /10.0.2.213
11111111.1111111.11111110.0000000 /255.255.254.0
------------------------------------------------
11111111.1111111.11111110.1101010 which is greater then 1111111.1111111.1111110.000000 so it is in the network. If it was smaller it would be outside the network. (I think - I dont normally do it this way in my head!)