计算 CIDR 块包含 C 类地址数量的方法
比较 CIDR 块与 C 类地址的网络位差异,通过位差计算包含数,步骤如下:
- 确定 C 类地址网络位:传统 C 类是
/24
(网络位 24 位 )。 - 确定 CIDR 块的网络位:假设 CIDR 块是
/N
(比如/20
,网络位 N 位 )。 - 计算网络位差值:Δ = 24 - N(因为 C 类默认 24 位,差值体现 “压缩的网络位长度” )。
- 计算包含 C 类数量:数量 = 2^Δ (网络位每少 1 位,覆盖地址数翻倍,对应包含 C 类数翻倍 )。
举例验证(以 CIDR 块 128.14.0.0/20
为例 )
- C 类网络位:24 位(
/24
)。 - CIDR 块网络位:20 位(
/20
)。 - 网络位差值:Δ = 24 - 20 = 4 。
- 包含 C 类数量:2^4 = 16个(即涵盖
128.14.0.0/24
到128.14.15.0/24
这 16 个连续 C 类地址 )。
再举个简单栗子:
若 CIDR 块是 /22
,网络位差值 Δ = 24 - 22 = 2 ,则包含 2^2 = 4 个 C 类地址 。
一句话总结:
用 C 类默认网络位(24)减去 CIDR 块网络位,差值为 Δ ,包含 C 类数就是 2^Δ ,
本质是利用二进制位的 “翻倍特性”,网络位少几位,覆盖范围就按 2 的幂次扩大