📖 IPv4 地址的应用规划
🎯 课程摘要:本节课介绍 IPv4 地址的应用规划,即将给定的 IP 地址块划分成若干更小的地址块并分配给互联网中的不同网络。重点对比**定长子网掩码(FLSM)与变长子网掩码(VLSM)**两种划分方法,掌握按需划分子网、子块起点选取原则,以及 408 考研中变长子网划分的解题方法。
📝 详细笔记
1. 应用规划的概念
- 概念定义:IPv4 地址的应用规划是指将给定的 IPv4 地址块划分成若干个更小的地址块,并将这些地址块分配给互联网中的不同网络,进而给各网络中的主机和路由器接口分配 IPv4 地址。
- 两种方法:
| 方法 | 全称 | 特点 |
|---|---|---|
| 定长子网掩码(FLSM) | Fixed-Length Subnet Mask | 各子网使用同一子网掩码,每子网地址数相同,易浪费 |
| 变长子网掩码(VLSM) | Variable-Length Subnet Mask | 各子网可用不同子网掩码,每子网地址数可不同,按需分配减少浪费 |
2. 需求统计方法
- 每个网络所需 IP 地址数 = 主机数 + 路由器接口数 + 网络地址(1) + 广播地址(1)。
- 注意:两个路由器之间的直连链路可看作一个网络(无主机,但有 2 个路由器接口,共需 4 个 IP 地址)。
3. 定长子网掩码划分示例
已知:申请到 C 类网 218.75.230.0/24,需划分为 5 个子网。
各网络需求统计:
| 网络 | 主机数 | 路由器接口 | 网络地址 | 广播地址 | 总需地址数 |
|---|---|---|---|---|---|
| 网络一 | 6 | 1 | 1 | 1 | 9 |
| 网络二 | 25 | 1 | 1 | 1 | 28 |
| 网络三 | 10 | 1 | 1 | 1 | 13 |
| 网络四 | 42 | 1 | 1 | 1 | 13 |
| 网络五(直连链路) | 0 | 2 | 1 | 1 | 4 |
网络五为路由器间直连链路,无主机,需 4 个地址。
划分过程:
- C 类网主机号 8 bit,需从中借用 3 比特作子网号。
- 可划分子网数 = $2^{3} = 8$ 个(满足 ≥5 的需求)。
- 每子网地址数 = $2^{8-3} = 2^{5} = 32$ 个(满足最大需求 28)。
- 子网掩码 = 24 个 1(网络号)+ 3 个 1(子网号)+ 5 个 0(主机号)=
255.255.255.248(/27)。 - 从 8 个子网中任选 5 个分配给网络一~网络五。
定长划分的缺点:
- 每个子网固定 32 个地址,网络五仅需 4 个却分到 32 个 → 严重浪费。
4. 变长子网掩码划分示例
已知:CIDR 地址块 218.75.230.0/24,采用 VLSM 按需划分。
按需确定各网络主机号位数:
| 网络 | 需地址数 | 主机号位数 | 地址块大小 | 网络前缀位数 | CIDR 地址块 |
|---|---|---|---|---|---|
| 网络一 | 9 | 4 bit | $2^{4}=16$ | 28 | /28 |
| 网络二 | 28 | 5 bit | $2^{5}=32$ | 27 | /27 |
| 网络三 | 13 | 4 bit | $2^{4}=16$ | 28 | /28 |
| 网络四 | 13 | 4 bit | $2^{4}=16$ | 28 | /28 |
| 网络五 | 4 | 2 bit | $2^{2}=4$ | 30 | /30 |
主机号位数取满足需求的最小 $n$,使 $2^{n} \geq$ 需求;网络前缀位数 = 32 − 主机号位数。
子块选取原则:
- 每个子块的起点位置不能随便选取,只能选取主机号部分为块大小整数倍的地址作为起点。
- 建议先为大的子块选取(避免大子块无法对齐放置)。
- 选取方案不唯一。
一种合理分配方案(按子块从大到小选取):
| 网络 | CIDR 地址块 | 网络地址 | 广播地址 | 可分配范围 | 可分配数 |
|---|---|---|---|---|---|
| 网络二 | 218.75.230.0/27 | .0 | .31 | .1 ~ .30 | 30 |
| 网络一 | 218.75.230.32/28 | .32 | .47 | .33 ~ .46 | 14 |
| 网络三 | 218.75.230.48/28 | .48 | .63 | .49 ~ .62 | 14 |
| 网络四 | 218.75.230.64/28 | .64 | .79 | .65 ~ .78 | 14 |
| 网络五 | 218.75.230.80/30 | .80 | .83 | .81 ~ .82 | 2 |
| 剩余 | 218.75.230.84/?? | — | — | — | 留作今后分配 |
VLSM 的优点:
- 按需划分子网,各子网地址数可不同,尽可能减少浪费。
- 例:网络五仅需 4 个地址,精确分配 4 个,无浪费。
5. 先选小子块的弊端
- 若先选取小子块,可能使大子块的起点无法对齐到块大小整数倍位置,导致大子块无法放置或地址空间碎片化。
- ⚠️ 重点/考点:VLSM 划分时应先大后小选取子块。
6. 直连链路的特殊处理
- 路由器之间的直连链路仅需 2 个可分配地址,可用
/30地址块(4 个地址,2 个可分配)。 - 进一步节省:后来出现
/31前缀地址块,甚至不分配 IP 地址的方法。
7. 408 考研真题示例(变长子网划分)
题意:将给定 CIDR 地址块划分为 5 个子网(不多不少),其中 4 个尽量大,求最小子网的可分配 IP 地址数。
已知:CIDR 地址块 /20,地址数量 = $2^{12} = 4096$。
划分过程(从大到小选取):
| 子块序号 | 网络前缀位数 | 地址数量 |
|---|---|---|
| 第 1 个(尽量大) | 21 | $2^{11} = 2048$ |
| 第 2 个(尽量大) | 22 | $2^{10} = 1024$ |
| 第 3 个(尽量大) | 23 | $2^{9} = 512$ |
| 第 4 个(尽量大) | 24 | $2^{8} = 256$ |
| 第 5 个(最小) | 24 | $2^{8} = 256$ |
- 验证:$2048 + 1024 + 512 + 256 + 256 = 4096$ ✓
- 最小子网地址数 = $256$,可分配 IP 地址数 = $256 - 2 = 254$(去掉全 0 网络地址和全 1 广播地址)。
答案:选项 B(254)。
⚠️ 易错点:题目问"可分配"地址数时,务必减去网络地址和广播地址(减 2)。
💡 核心总结
- 应用规划 = 将地址块划分为更小子块,分配给各网络。
- 定长子网掩码(FLSM):统一掩码、统一大小,灵活度低、易浪费,子网数 = $2^{n}$。
- 变长子网掩码(VLSM):按需分配不同大小子块,减少浪费。
- 子块主机号位数:取满足 $2^{n} \geq$ 需求的最小 $n$;前缀位数 = 32 − n。
- 子块起点必须对齐到块大小的整数倍;先大后小选取。
- 直连链路用
/30(可分配 2 个)或更省的/31。 - 求可分配地址数时记得 减 2(网络地址 + 广播地址)。
❓ 课后思考 / 经典考题
- 408 真题:将
/20地址块划分为 5 个子网(4 个尽量大),求最小子网可分配 IP 地址数。(答案:254,选项 B) - 定长子网划分与变长子网划分各有何优缺点?何时适用哪种?
- 给定 C 类网
218.75.230.0/24,需求为 5 个子网(9/28/13/13/4 地址),用 FLSM 需借用几个比特?子网掩码是多少?(答:借 3 bit,掩码255.255.255.248) - VLSM 划分时为什么要先选大子块?子块起点为何必须是块大小的整数倍?
- 路由器直连链路为什么可以用
/30甚至/31地址块?