划分子网计算题
划分子网的本质是:从主机号部分“借用”若干位作为子网号,从而将一个大的网络逻辑地分割成若干个较小的网络
一、 核心公式
- 子网数 = $2^n$ ($n$ 为借用主机的位数)。
- 每个子网的主机数 = $2^m - 2$ ($m$ 为剩余主机的位数,$-2$ 是减去网络地址和广播地址)。
二、 C 类地址划分(只变动第 4 字节)
C 类地址默认掩码为 /24 (255.255.255.0)。划分时只动最后一个字节。
案例:将 192.168.1.0/24 划分为 4 个子网
- 确定借位 ($n$):
- 需要 4 个子网,因为 $2^2 = 4$,所以需要借 2 位。
- 确定新掩码:
- 原掩码 24 位 + 借 2 位 = 26 位(/26)。
- 第四字节二进制:
1100 0000= 192。 - 新掩码:
255.255.255.192。
- 计算块大小(步长):
- 块大小 = $256 - 192 = \mathbf{64}$
- 列出子网掩码范围:
- 子网 1:192.168.1.0 (范围:.1 ~ .62,广播:.63)(子网00000000)
- 子网 2:192.168.1.64 (范围:.65 ~ .126,广播:.127)(子网01)
- 子网 3:192.168.1.128 (范围:.129 ~ .190,广播:.191)(子网10)
- 子网 4:192.168.1.192 (范围:.193 ~ .254,广播:.255)(子网11)
三、 B 类地址划分(第 3 和第 4 字节)
B 类地址默认掩码为 /16 (255.255.0.0)。划分时,根据借位的多少,变动可能发生在第 3 字节,也可能延伸到第 4 字节。
情况 A:借位在第 3 字节(借位 $\le$ 8 位)
案例:将 172.16.0.0/16 划分为 16 个子网。
- 确定借位:
- 需要 16 个子网,$2^4 = 16$,借 4 位。
- 确定新掩码:
- 原掩码 16 位 + 借 4 位 = 20 位(/20)。
- 第三字节二进制:
1111 0000= 240。 - 新掩码:
255.255.240.0。
- 计算块大小:
- 块大小 = $256 - 240 = \mathbf{16}$(注意:这个 16 作用在第三字节)
- 列出子网范围(子网掩码):
- 子网 1:172.16.0.0(00000000)
- 子网 2:172.16.16.0(00010000)
- 子网 3:172.16.32.0(00100000)
- …
- 子网 16:172.16.240.0(11110000)
情况 B:借位超过 8 位(进入第 4 字节)
案例:将 172.16.0.0/16 划分为掩码为 /26 的子网。
- 分析借位:
- 从 /16 到 /26,总共借了 10 位(第 3 字节借满 8 位,第 4 字节再借 2 位)。
- 确定新掩码:
- 掩码:
255.255.255.192
- 掩码:
- 计算方法(关键点):
- 这种情况下,第 3 字节可以从 0 变到 255。
- 在每一个第 3 字节的数值下,第 4 字节都被分成了以 64 为块大小的子网。
- 总子网数 = $2^{10} = 1024$ 个。
- 范围示例:
- 子网 1:172.16.0.0/26
- 子网 2:172.16.0.64/26
- …
- 子网 5:172.16.1.0/26
四、 通用算法
无论哪类地址,按照以下标准化步骤即可:
- 算掩码(找到关键字节):
- 看 CIDR 值(斜杠后的数字)。
- 0-8 位看第一字节,9-16 位看第二字节,17-24 位看第三字节,25-32 位看第四字节。
- 算块大小:
- 找到变动的那个字节的数值 $X$
- 块大小 $Y = 256 - X$
- 定起点(找网络地址):
- 网络地址的第一、二、三字节(或根据掩码位置)必须是块大小 $Y$ 的倍数
- 算主机范围:
- 网络地址 + 1 = 第一个可用 IP
- 下一个网络地址 - 1 = 本网广播地址
- 广播地址 - 1 = 最后一个可用 IP
五、 易错提醒
- 不要忘记减 2:在计算“可用主机数”时,必须去掉该网段的第一个(网络名)和最后一个(广播名)。
- 对齐:子网的起点永远是块大小的整数倍(从 0 开始)
- 默认网关:通常习惯将子网范围内的第一个可用 IP(.1)或最后一个可用 IP(.254)分配给网关(路由器接口)