Skip to content

IP 编址(分类/子网/CIDR)

考情分析

IP 编址是 408 网络层考频最高的知识点,没有之一。几乎每年都会出现,形式包括:给定 IP 地址和子网掩码求网络地址、广播地址、可用主机数;给定需求划分子网;CIDR 路由聚合(最长前缀匹配)等。这部分一定要多做题,算到熟练。

考频:★★★★★

分类编址

最早的 IP 地址分配采用分类编址,把 32 位 IP 地址分为五类:

类别网络号位数首位模式网络号范围主机号位数最大主机数
A 类80xxxxxxx1~126242242
B 类1610xxxxxx128.0~191.255162162
C 类24110xxxxx192.0.0~223.255.2558282
D 类1110xxxx224~239组播地址
E 类1111xxxx240~255保留

为什么要减 2?因为主机号全 0 代表网络地址(标识这个网络本身),主机号全 1 代表直接广播地址(发给该网络内的所有主机)。这两个不能分配给具体主机。

如何快速判断类别

看 IP 地址的第一个字节

  • 1~126:A 类
  • 128~191:B 类
  • 192~223:C 类
  • 224~239:D 类
  • 240~255:E 类

注意 127 开头的不是 A 类(127.x.x.x 是环回地址),0 开头的也不用。

特殊 IP 地址

地址含义
网络号 + 全 0 主机号网络地址,标识一个网络
网络号 + 全 1 主机号直接广播地址
127.0.0.1环回地址(localhost)
127.x.x.x环回地址(整个 127 段)
0.0.0.0本网络本主机(启动时使用)
255.255.255.255受限广播地址(本网络广播,路由器不转发)

分类编址的问题

分类编址最大的问题是地址利用率低。一个 B 类网络有 65534 个主机位,但实际可能只需要几百台主机,大量地址浪费。A 类更夸张,一个网络 1600 多万个地址。

而 C 类网络只有 254 个主机位,对很多中等规模的机构又不够用。

这催生了子网划分和 CIDR。

子网划分

基本思想

子网划分的思路是:从主机号中借若干位作为子网号,把一个大网络分成若干个子网。

分类编址:  [  网络号  |        主机号         ]

子网划分:  [  网络号  | 子网号 |    主机号     ]
                       ↑ 从主机号中借来的位

例如,一个 C 类地址 192.168.1.0/24(主机号 8 位),如果借 3 位做子网号,就变成:

  • 子网号:3 位,可以划分 23=8 个子网
  • 主机号:5 位,每个子网最多 252=30 台主机

子网掩码

子网掩码用来标识 IP 地址中哪些位是网络 + 子网部分,哪些位是主机部分。

规则:网络号 + 子网号对应位全填 1,主机号对应位全填 0。

例如,192.168.1.0 借 3 位做子网:

IP地址:      192.168.1.  [xxx | xxxxx]
子网掩码:    255.255.255.[111 | 00000]
           = 255.255.255.224

用 CIDR 记法就是 /27(前 27 位是 1)。

子网掩码的作用:将 IP 地址和子网掩码做按位与运算,就能得到该地址所属的网络(子网)地址。

网络地址=IP地址&子网掩码

子网划分计算步骤

问题类型 1:给定 IP 和子网掩码,求网络地址、广播地址、可用主机范围

例:IP = 192.168.1.130,子网掩码 = 255.255.255.224(/27)

第 1 步:将最后一个字节转为二进制

130 = 10 000010
掩码 224 = 111 00000

第 2 步:按位与得网络地址

10 000010
11 100000
---------
10 000000 = 128

网络地址:192.168.1.128

第 3 步:主机号全 1 得广播地址

网络地址的主机位(后 5 位)全填 1:

10 011111 = 159

广播地址:192.168.1.159

第 4 步:可用主机范围

  • 第一个可用地址 = 网络地址 + 1 = 192.168.1.129
  • 最后一个可用地址 = 广播地址 - 1 = 192.168.1.158
  • 可用主机数 = 252=30

问题类型 2:给定主机数量需求,确定子网掩码

例:某部门需要 50 台主机,用一个 C 类网段来划分。

第 1 步:确定主机位数

2n250,解得 n6262=6250

第 2 步:确定子网掩码

主机位 6 位,网络+子网位 = 32 - 6 = 26 位

子网掩码 = /26 = 255.255.255.192

问题类型 3:将一个网络划分为 N 个子网

例:将 192.168.1.0/24 划分为 4 个子网。

第 1 步:确定借位数

2k4,解得 k2,借 2 位

第 2 步:子网掩码

/24 + 2 = /26 = 255.255.255.192

第 3 步:列出所有子网

子网子网号网络地址广播地址可用范围
000192.168.1.0192.168.1.63.1 ~ .62
101192.168.1.64192.168.1.127.65 ~ .126
210192.168.1.128192.168.1.191.129 ~ .190
311192.168.1.192192.168.1.255.193 ~ .254

每个子网有 262=62 个可用主机地址。

子网号全 0 和全 1 的问题

早期规定子网号不能全 0(和原网络混淆)也不能全 1(和广播混淆),所以 N 个子网需要借 k 位满足 2k2N

但现代协议(RFC 1878)允许使用全 0 和全 1 子网。408 考试中,默认按可以使用全 0 和全 1 子网来做题,除非题目特别说明。

CIDR(无分类编址)

基本概念

CIDR(Classless Inter-Domain Routing,无分类域间路由)彻底抛弃了 A/B/C 类的概念,用一个前缀长度来灵活划分网络号和主机号。

CIDR 地址格式:IP地址/前缀长度

192.168.1.0/24    → 前24位是网络前缀,后8位是主机号
10.0.0.0/8        → 前8位是网络前缀,后24位是主机号
172.16.128.0/20   → 前20位是网络前缀,后12位是主机号

CIDR 的好处:

  • 前缀长度可以是任意值(1~31),不受分类约束
  • 可以更精确地分配地址空间,减少浪费
  • 支持路由聚合,减少路由表规模

CIDR 地址块

一个 CIDR 地址块 a.b.c.d/n 包含 232n 个地址。

前缀长度地址数等效
/242561 个 C 类
/235122 个 C 类
/2210244 个 C 类
/20409616 个 C 类
/16655361 个 B 类

路由聚合(超网)

什么是路由聚合

路由聚合就是把多个小的网络合并成一个大的网络来通告,减少路由表的条目数。

例如,某机构分到了 4 个连续的 /24 网段:

192.168.0.0/24
192.168.1.0/24
192.168.2.0/24
192.168.3.0/24

可以聚合为一条路由:192.168.0.0/22

聚合的计算方法

第 1 步:将各网络地址的关键字节写成二进制

192.168.0.0   → 192.168.000000 00.0
192.168.1.0   → 192.168.000000 01.0
192.168.2.0   → 192.168.000000 10.0
192.168.3.0   → 192.168.000000 11.0

第 2 步:从左到右找最长公共前缀

前 22 位完全相同(192.168 的 16 位 + 第三字节前 6 位),从第 23 位开始不同。

第 3 步:聚合结果

192.168.0.0/22

最长前缀匹配

路由器的路由表中可能有多条路由都匹配某个目的 IP 地址(前缀不同长度)。这时使用最长前缀匹配原则——选择前缀最长(最具体)的那条路由。

例:路由表中有以下条目:

目的网络下一跳
192.168.0.0/22R1
192.168.1.0/24R2
192.168.1.128/25R3
0.0.0.0/0(默认路由)R4

查找目的地址 192.168.1.200 时:

  • 192.168.0.0/22 匹配(200 在 0~255 范围内,第三字节 1 < 4)
  • 192.168.1.0/24 匹配(第三字节 = 1)
  • 192.168.1.128/25 匹配(200 的二进制 11001000,最高位为 1,属于 128~255)
  • 0.0.0.0/0 匹配(默认路由匹配所有)

选择前缀最长的 /25,走 R3。

最长前缀匹配是路由转发的核心原则,408 大题经常围绕这个出。

综合计算例题

题目: 某公司获得地址块 192.168.10.0/24,需要划分为 3 个子网,分别容纳 100 台、50 台和 20 台主机。采用变长子网掩码(VLSM)划分。

解题过程:

先按需求从大到小排列:100、50、20。

子网 1(100 台主机):

2n2100n=7272=126

前缀长度 = 32 - 7 = 25,即 /25

分配网段:192.168.10.0/25(可用地址 .1~.126,共 126 个)

子网 2(50 台主机):

2n250n=6262=62

前缀长度 = 32 - 6 = 26,即 /26

从子网 1 之后开始分配:192.168.10.128/26(可用地址 .129~.190,共 62 个)

子网 3(20 台主机):

2n220n=5252=30

前缀长度 = 32 - 5 = 27,即 /27

从子网 2 之后开始分配:192.168.10.192/27(可用地址 .193~.222,共 30 个)

汇总:

子网需求网段掩码可用主机地址范围
1100192.168.10.0/25255.255.255.128126.1~.126
250192.168.10.128/26255.255.255.19262.129~.190
320192.168.10.192/27255.255.255.22430.193~.222

剩余地址:192.168.10.224/27(.224~.255),可留作将来扩展。

VLSM 划分的要点:从需求最大的子网开始分配,使用不同的前缀长度,按顺序排列避免重叠。

交互可视化

下面的子网计算器可以输入 IP 地址和前缀长度,自动计算网络地址、广播地址、可用主机范围等信息。

加载可视化中...

直接交付与间接交付

主机发送 IP 数据报时,需要判断目的主机是否在同一子网内:

判断方法:将源 IP 和目的 IP 分别与源主机的子网掩码做按位与,如果结果相同,则在同一子网。

  • 直接交付:目的主机在同一子网内,发送方通过 ARP 获取目的主机的 MAC 地址,直接发送帧
  • 间接交付:目的主机不在同一子网内,发送方通过 ARP 获取默认网关(路由器) 的 MAC 地址,将数据报交给路由器转发

默认网关是主机配置的一个参数(和 IP 地址、子网掩码一起配置),它必须与主机在同一子网内。当主机不知道该将数据报发往哪里时,就交给默认网关。

这个判断过程在 408 大题中经常作为隐含条件出现:先判断是直接交付还是间接交付,再决定 ARP 解析谁的 MAC 地址。

易错点

1. 可用主机数是 2n2,不是 2n

主机号全 0 是网络地址,全 1 是广播地址,都不能分配给主机。所以要减 2。

2. 子网掩码和前缀长度的转换

/25 = 255.255.255.128(最后一字节 10000000 = 128) /26 = 255.255.255.192(最后一字节 11000000 = 192) /27 = 255.255.255.224(最后一字节 11100000 = 224) /28 = 255.255.255.240(最后一字节 11110000 = 240) /29 = 255.255.255.248(最后一字节 11111000 = 248) /30 = 255.255.255.252(最后一字节 11111100 = 252)

这些值建议背熟,做题可以直接写不用每次算。

3. 按位与计算网络地址时不要粗心

最容易出错的一步。建议只对"有变化"的那个字节做二进制运算,其余字节直接看掩码——掩码是 255 的字节直接照抄 IP,掩码是 0 的字节直接写 0。

4. VLSM 划分子网要从大到小

先分配需要主机数最多的子网,再分配较小的。否则可能出现地址空间不够的情况。

5. 路由聚合时要检查聚合后的范围是否覆盖了不该覆盖的地址

比如 192.168.1.0/24 和 192.168.3.0/24 不能直接聚合为 /22,因为 /22 同时覆盖了 .0、.1、.2、.3 四个网段,可能包含不属于该机构的地址。

6. 最长前缀匹配选最"具体"的路由

/25 比 /24 更具体,/0 是默认路由(最不具体)。匹配多条路由时选前缀最长的。

7. A 类网络号范围是 1~126,不是 0~127

0 开头的地址保留,127 开头的是环回地址。

疑难点

IP 地址和 MAC 地址为什么缺一不可?

IP 地址是逻辑地址,负责标识"最终目的地"——端到端路由寻址,可以变化(如 DHCP 分配)。MAC 地址是物理地址,负责解决"下一跳"——在同一链路内帧从哪个接口发到哪个接口,烧录在网卡中通常不变。分组在传输过程中,源/目的 IP 地址不变(NAT 除外),但源/目的 MAC 地址逐跳改变——每经过一个路由器,MAC 地址就换成当前链路两端的地址。如果只有 MAC 没有 IP,路由表需要记录全世界每块网卡的位置,根本无法工作;如果只有 IP 没有 MAC,数据到达目标网络后无法在局域网内找到具体主机。

子网掩码的作用到底是什么?

子网掩码不是地址,而是"切割"IP 地址的工具——告诉设备哪些位是网络号、哪些位是主机号。同一个 IP 地址在不同子网掩码下所属的网络不同。比如 192.168.1.100/24 掩码网络号是 192.168.1.0,配 /20 掩码网络号变成 192.168.0.0。在 CIDR 体系下已没有固定的 A/B/C 类边界,子网掩码是确定网络边界的唯一依据。路由器转发时用目的 IP 和每条路由的子网掩码做与运算来判断匹配。

高频考点清单

  • A/B/C 类地址的网络号位数和主机号位数
  • 特殊地址:网络地址(主机号全 0)、广播地址(主机号全 1)、127.x.x.x、0.0.0.0
  • 子网划分:从主机号中借位,子网掩码的计算
  • IP 地址与子网掩码按位与得网络地址
  • 可用主机数 = 2主机位数2
  • CIDR 地址块和前缀长度
  • 路由聚合:找最长公共前缀
  • 最长前缀匹配原则
  • VLSM 变长子网掩码划分(从大到小分配)
  • /25~/30 对应的子网掩码值(背熟)
  • 给定 IP 和掩码,快速计算网络地址、广播地址、主机范围
  • 直接交付 vs 间接交付的判断方法
  • 默认网关的作用和配置要求

真题练习

相关真题(24题)

2026Q37选择题2分

OSPF 链路状态路由算法计算路由表条目数

2026Q39选择题2分

子网划分计算:/22 划分 32 个子网得到 /27,定位具体子网

2023Q39选择题2分

子网地址范围计算:根据子网掩码确定网络号和可分配范围

2022Q35选择题2分

IP 地址与子网掩码按位与运算求网络地址

2022Q36选择题2分

根据网络拓扑推断子网掩码和默认网关地址

2022Q47综合题9分

DHCP 与 802.11 综合题:地址分配流程与无线帧三个地址字段

2021Q35选择题2分

子网划分约束:已知一个子网,排除地址空间冲突的选项

2020Q37选择题2分

不等长子网划分:分配 5 个子网后最小子网的可用地址数

2020Q47综合题9分

子网划分与 NAT 综合题:地址规划、NAT 转换表与路由转发

2019Q47综合题9分

子网划分/DHCP/802.11 综合题:地址规划与无线帧格式

2018Q38选择题2分

路由聚合(超网):求多个子网的最长公共前缀

2018Q47综合题7分

IP 分片与子网综合题:MTU 限制下的分片计算与广播地址

2017Q36选择题2分

0.0.0.0 只能作为源地址,表示本机尚未获得 IP 地址

2017Q38选择题2分

/16 划分 128 个子网得 /23,每子网可分配 2⁹-2=510 个地址

2016Q39选择题2分

默认网关和子网掩码错误配置导致的通信故障分析

2016Q47综合题9分

DHCP 与子网综合题:动态地址分配与网络配置

2015Q38选择题2分

最长前缀匹配:路由表查找时选择掩码最长的匹配项

2015Q47综合题9分

DHCP/ARP 综合题:地址获取、子网掩码确认与 ARP 解析过程

2013Q47综合题9分

多自治系统路由综合题:子网划分、RIP/OSPF 路由计算

2012Q39选择题2分

子网广播地址计算:主机号全 1 即为该子网的广播地址

2011Q37选择题2分

静态路由配置:下一跳地址应为相邻路由器接口地址

2011Q38选择题2分

/30 子网广播地址分析:.3 是广播地址,所有主机都能收到

2010Q37选择题2分

/24 用 /29 子网掩码划分:32 个子网,每子网 6 个可用地址

2009Q47综合题9分

子网划分与路由聚合综合题:地址规划、路由表与超网聚合