📖 IPv4 地址的划分子网编址方法
🎯 课程摘要:本节课介绍 IPv4 地址的划分子网编址方法。为克服分类编址浪费地址的缺点,从主机号(host-id)借用若干比特作为子网号(subnet-id),使 IPv4 地址由两级结构变为三级结构,并引入**子网掩码(subnet mask)**来标识借用比特数。重点掌握子网掩码的构成、与 IP 地址按位与运算求网络地址、子网划分细节及默认子网掩码。
📝 详细笔记
1. 划分子网的提出背景
- 问题:分类编址不够灵活,易造成大量 IPv4 地址浪费。
- 例:某单位需更多地址,申请到 B 类网络号
145.13(可分配 65,534 个),用不完的地址只能本单位该网络使用,其他网络不能使用。
- 例:某单位需更多地址,申请到 B 类网络号
- 发展需求:单位网络扩展后需将原网络划分为多个独立子网(子网一、二、三)。
- 旧方案的弊端(为每个子网申请新网络号):
- 申请新网络号耗时长、费用高;
- 其他路由器路由表需新增条目;
- 浪费已申请 B 类网中剩余的大量地址。
- 解决方案:从 IPv4 地址的主机号部分借用若干比特作为**子网号(subnet-id)**来区分不同子网,复用原有网络中剩余地址。
- 例:从 16 比特主机号中借用前 8 比特作子网号,剩余 8 比特仍为主机号。
2. 从两级结构到三级结构
| 编址方法 | 地址结构 |
|---|---|
| 分类编址 | 网络号(net-id) + 主机号(host-id) |
| 划分子网编址 | 网络号(net-id) + 子网号(subnet-id) + 主机号(host-id) |
- ⚠️ 重点/考点:划分子网后,仅从分类 IP 地址本身无法看出主机号有多少比特被借用为子网号 → 需引入子网掩码(subnet mask)。
3. 子网掩码(subnet mask)的构成与作用
- 概念定义:子网掩码是 32 比特的二进制数,用于表明分类 IPv4 地址主机号部分被借用了几个比特作为子网号。
- 构成规则:
- 左起多个连续的比特 1 → 对应 IPv4 地址中的网络号 + 子网号;
- 之后的多个连续的比特 0 → 对应 IPv4 地址中的主机号。
- 核心作用:将划分子网的 IPv4 地址与相应子网掩码进行逐比特逻辑与运算,即可得到该 IP 地址所在子网的网络地址。
- 原理:运算结果保留网络号和子网号不变,主机号被全部清零(即主机号全 0 的网络地址)。
示例:地址
网络号 | 子网号 | 主机号与掩码1…1 | 1…1 | 0…0按位与 →网络号 | 子网号 | 0…0(子网网络地址)。
4. 子网划分示例(C 类网 + 借 1 比特)
已知:网络地址 218.75.230.0,子网掩码 255.255.255.128。
分析步骤:
- 左起第一个十进制数
218→ C 类网络 → 网络号为前三个十进制数218.75.230,最后一个十进制数为主机号(8 bit)。 - 子网掩码
255.255.255.128:- 前 24 个连续比特 1 → 对应网络号;
- 最后
128=10000000→ 1 个比特 1 → 从主机号借用 1 比特作为子网号。
- 可划分子网数 = $2^{1} = 2$ 个。
- 每个子网可分配地址数 = $2^{8-1} - 2 = 2^{7} - 2 = 126$ 个。
- 主机号剩 7 bit,$2^{7}=128$ 种组合,再减去全 0(网络地址)和全 1(广播地址)。
原 C 类网地址明细(共 256 个,可分配 254 个):
| 主机号(8 bit) | 十进制 | 性质 |
|---|---|---|
00000000 | 0 | 网络地址(最小) |
00000001 ~ 11111110 | 1 ~ 254 | 可分配 |
11111111 | 255 | 广播地址(最大) |
子网划分结果(将 256 地址均分为 2 个子网,各 128 个、可分配 126 个):
| 子网 | 子网号 | 网络地址 | 广播地址 | 可分配范围 | 可分配数 |
|---|---|---|---|---|---|
| 子网 0 | 0 | 218.75.230.0 | 218.75.230.127 | .1 ~ .126 | 126 |
| 子网 1 | 1 | 218.75.230.128 | 218.75.230.255 | .129 ~ .254 | 126 |
子网 0:子网号
0+ 主机号 7 bit;网络地址主机号全 0 =0_0000000= 0;广播地址主机号全 1 =0_1111111= 127。 子网 1:子网号1+ 主机号 7 bit;网络地址 =1_0000000= 128;广播地址 =1_1111111= 255。
5. 408 考研真题示例(B 类网 + 借 6 比特)
已知:B 类 IP 地址(前两字节为网络号),子网掩码 255.255.252.0。
分析:
- B 类 → 网络号 16 bit,主机号 16 bit。
- 子网掩码后两字节
252.0=11111100 00000000→ 6 个连续比特 1 → 借用 6 比特作子网号。 - 主机号剩 10 bit。
- 将 IP 主机号写成二进制,掩码 6 比特 1 对应部分即子网号。
- 网络地址:网络号 + 子网号不变,主机号 10 bit 全 0。
- 广播地址:网络号 + 子网号不变,主机号 10 bit 全 1。
答案:选项 D(根据上述方法求得该主机所在子网的广播地址)。
6. 默认子网掩码
- 概念定义:未划分子网的情况下使用的子网掩码。
- 存在意义:划分子网编址出现后,为统一处理"可划分子网 / 不划分子网"两种场景下的软硬件与用户界面而设定。
| 地址类别 | 网络号位数 | 主机号位数 | 默认子网掩码(二进制) | 默认子网掩码(点分十进制) |
|---|---|---|---|---|
| A 类 | 8 | 24 | 11111111.00000000.00000000.00000000 | 255.0.0.0 |
| B 类 | 16 | 16 | 11111111.11111111.00000000.00000000 | 255.255.0.0 |
| C 类 | 24 | 8 | 11111111.11111111.11111111.00000000 | 255.255.255.0 |
💡 核心总结
- 划分子网 = 从主机号借用比特作子网号,地址由两级变三级(网络号 + 子网号 + 主机号)。
- 子网掩码:连续 1 对应网络号 + 子网号,连续 0 对应主机号。
- 求网络地址:IP 地址 按位与 子网掩码 = 网络号 + 子网号 + 主机号全 0。
- 可划分子网数 = $2^{\text{借用比特数 }n}$;每子网可分配地址数 = $2^{\text{剩余主机号位数}} - 2$。
- 借用比特越多,子网越多,但每个子网地址越少。
- 默认子网掩码对应未划分子网时的固定网络号长度。
❓ 课后思考 / 经典考题
- 408 真题:给定 B 类地址与子网掩码
255.255.252.0,求该主机所在子网的广播地址。(答案:选项 D,借 6 比特,主机号 10 bit 全 1) - 为什么划分子网后必须使用子网掩码?仅凭 IP 地址能否判断子网号位数?
- 已知 C 类网
218.75.230.0与掩码255.255.255.128,求各子网的网络地址、广播地址及可分配地址范围。 - 默认子网掩码的作用是什么?不划分子网时为何还要使用它?
- 若从 C 类网主机号借用 2 比特作子网号,可划分几个子网?每子网可分配多少地址?(答:4 个子网,每个 62 个)