今天看到三级题库关于子网聚合的问题,觉得这个题目比较有意思,个人的理解,仅供参考,不足之处还望指正:
首先将三个地址展开:
202.113.79.128/27: 202.113.79.1000 0000 /27
202.113.79.160/27: 202.113.79.1010 0000 /27
202.113.79.192/27: 202.113.79.1100 0000 /27
如果这题根据CIDR“前缀相同”法,单纯的将三个三个地址聚合,是不是得到了一个错误的答案:202.113.79.128/25,我一开始也是这么算的。
回顾下VLSM(可变长子网掩码)的划分,来划分202.113.79.128/25这个地址,主机位借位2位,划分4个子网如下:
202.113.79.1000 0000 /27
202.113.79.1010 0000 /27
202.113.79.1100 0000 /27
202.113.79.1110 0000 /27
这样不难发现缺失了 202.113.79.1110 0000 /27
这样我们来推算下,三个地址块聚合以后可用的地址数:128-32-4=92个,这个过程解析如下:
128来源:202.113.79.128/25 共含128个地址 (先不剔除2个不能用的0与1的地址)
32来源: 202.113.79.1110 0000 /27 共含2^5=32个地址
4来源: 202.113.79.1000 0000 /27 与 202.113.79.1010 0000 /27聚合后含2个不可用地址(因为这两个地址是一个子网借位下划分而来),其次还要算上202.113.79.1100 0000 /27这个子网中不可用的2个地址,合起来不可用地址即为4个。
看到这里,会不会觉得对减4还有点懵,举个栗子:
202.113.79.1000 0000 /27 2^5个地址
202.113.79.1010 0000 /27 2^5个地址
202.113.79.1100 0000 /27 2^5个地址
202.113.79.1110 0000 /27 2^5个地址
把这4个子网合起来是不是2^5 *4=128个地址,即202.113.79.128/25的地址数
原本每个子网都是32个地址,除掉2个不可用地址,就是30个地址,但是如果将202.113.79.1000 0000 /27 和 202.113.79.1010 0000 /27 这2个地址聚合后,可用地址是64-2=62个,而不是30+30=60这个地址数。
这样得出结论:原本2个地址块各有2个不可用地址,但两两之间聚合后,仍然是2个不可用地址,乃至4个地址聚合地址数为128个,仍然只有2个不可用地址,不能搞混淆了。