5.4.3 子网划分与路由汇聚
本课核心知识点整理
子网划分的本质:借主机位
一个原始网络有网络号和主机号。子网划分就是从原来的主机号里借若干位作为子网号。
text
原来:网络号 | 主机号
划分:网络号 | 子网号 | 主机号借位越多,能划分的子网越多;但剩下的主机位越少,每个子网能容纳的主机越少。
第一类题:给子网数,求掩码
课堂例子:一个 B 类网络要划分成 27 个子网,求子网掩码。
步骤:
- B 类默认网络号为 16 位。
- 要至少表示 27 个子网,需要借
位,使 。 不够, 足够,所以借 5 位。 - 新网络位 = 原网络位 16 + 子网位 5 = 21。
/21的掩码为255.255.248.0。
为什么第三段是 248?
text
/21 = 11111111.11111111.11111000.00000000
第三段 11111000 = 128 + 64 + 32 + 16 + 8 = 248| 项目 | 结果 |
|---|---|
| 原网络 | B 类,/16 |
| 子网需求 | 至少 27 个 |
| 借位 | 5 位 |
| 新前缀 | /21 |
| 子网掩码 | 255.255.248.0 |
| 主机位 | 11 位 |
| 每子网可用主机 |
第二类题:给每网主机数,求掩码
如果题目说“每个子网至少容纳 700 台主机”,入口就变了。此时先保留足够的主机位
于是:
/22 的掩码是:
text
11111111.11111111.11111100.00000000
= 255.255.252.0两类题不要混入口
| 题干给什么 | 先算什么 | 公式 |
|---|---|---|
| 至少划分多少个子网 | 子网位数 n | |
| 每个子网至少多少主机 | 主机位数 h |
一旦求出新前缀,后续就能算掩码、主机位、可用主机数。
同一子网判断
判断两个地址是否在同一子网,不是只看前几段是不是相同,而是看它们在给定前缀长度下的网络号是否相同。
课堂里提到类似 /22 的判断:前 16 位相同后,还要把第三段转成二进制,继续取前 6 位作为网络号的一部分。若这 22 位网络号一致,就属于同一子网;否则不属于。
做题方法:
- 把掩码换成前缀长度。
- 已经完整覆盖的整段可以直接比较。
- 落在某一段中间的位,要把该段转为二进制比较。
- 网络位完全相同才是同一子网。
路由汇聚:找最长公共前缀
路由汇聚是子网划分的反向过程。多个连续网络如果二进制前缀相同,就可以合并成一条更短前缀的路由,减少路由表项。
步骤:
- 把多个网络地址写成二进制。
- 从左到右找相同的最长前缀。
- 公共前缀之后的位全部置 0,得到汇聚网络地址。
- 公共前缀长度就是新前缀。
- 检查是否覆盖了题目不希望覆盖的额外网络。
| 概念 | 子网划分 | 路由汇聚 |
|---|---|---|
| 方向 | 大网络切小网络 | 小网络合成大网络 |
| 关键 | 借位/保留主机位 | 最长公共前缀 |
| 结果 | 前缀变长 | 前缀变短 |
| 风险 | 主机数不够 | 误覆盖多余网段 |
例题
要从一个网络中至少划分出 6 个子网,至少需要借几位?
路由汇聚的关键步骤是:
B 类网络至少划分 27 个子网时,子网掩码应为:
自查要点
- 给子网数和给主机数时,为什么入口不同?
- B 类网络划分 27 个子网为什么要借 5 位?
/21为什么对应255.255.248.0?- 判断同一子网时,为什么有时要把第三段转换为二进制?
- 路由汇聚为什么要检查是否覆盖多余网络?