Appearance
408 > 计算机网络 > CIDR与路由聚合
一、定位信息
- 所属圈层:核心层
- 前置知识:需了解IPv4地址分类编址与子网划分(CN-04-05),掌握子网掩码、网络地址、广播地址的计算方法
- 知识网络位置:CIDR是子网划分的进一步发展,消除了传统分类编址的限制,是路由聚合(超网)技术的基础,直接影响路由表的设计和路由查找效率
- 考点热度等级:H级(高频重点) — CIDR地址计算和路由聚合是408综合题的常见考点
二、知识点讲解
2.1 从分类编址到CIDR
传统分类编址(A/B/C类)存在以下问题:
- 地址浪费:一个B类地址有65534个主机号,但大多数组织只需要几百个地址。如果分配一个C类(254个)又不够用
- 路由表膨胀:每个网络前缀在路由表中占一条记录,导致路由表过大
CIDR(Classless Inter-Domain Routing,无类别域间路由) 于1993年提出,打破了A/B/C类的限制,允许使用任意长度的前缀来表示网络。
2.2 CIDR的表示方法
CIDR使用斜线记法(slash notation):IP地址/前缀长度
例如:192.168.1.0/24 表示前24位是网络前缀,后8位是主机号。
CIDR的关键特点:
- 不再有"类别"概念:
192.168.1.0/20是合法的,不必是/24 - 前缀长度可以从0到32
- 一个CIDR地址块可以包含多个传统分类地址
2.3 CIDR地址块计算
已知CIDR地址块,求地址范围:
- 将IP地址转换为二进制
- 前缀长度为 ,则前 位是网络前缀(固定),后 位是主机号(可变)
- 地址范围 = 主机号从全0到全1
- 地址数量 =
- 可用主机数 = (去掉网络地址和广播地址)
示例:200.10.0.0/21
- 前缀长度21位,主机号 位
- 地址数量 =
- 网络地址:
200.10.0.0 - 广播地址:
200.10.7.255(.7 = 00000111,即低3位全1) - 可用IP范围:
200.10.0.1~200.10.7.254
2.4 路由聚合(Route Aggregation)
路由聚合也称为超网(Supernetting),是CIDR的核心应用之一。它将多个连续的子网合并为一个更大的CIDR地址块,从而减少路由表中的条目数量。
聚合条件:多个地址块必须具有共同的前缀,且地址范围连续。
示例:
200.10.0.0/24(200.10.0.0 ~ 200.10.0.255)200.10.1.0/24(200.10.1.0 ~ 200.10.1.255)200.10.2.0/24(200.10.2.0 ~ 200.10.2.255)200.10.3.0/24(200.10.3.0 ~ 200.10.3.255)
这4个/24可以聚合为 200.10.0.0/22(前22位相同),路由表只需1条记录而非4条。
2.5 最长前缀匹配
在CIDR环境中,一个IP地址可能匹配路由表中的多条表项(因为聚合地址块可能重叠)。此时采用**最长前缀匹配(Longest Prefix Match)**原则:选择前缀长度最长的匹配条目。
示例:路由表中有 200.10.0.0/22 和 200.10.1.0/24,目的地址为 200.10.1.100,则匹配 /24 条目(前缀更长,更精确)。
三、记忆与理解辅助
- 口诀:"CIDR打破类界限,斜线后面跟位数;路由聚合成超网,最长前缀来匹配。"
- CIDR与子网划分的关系:子网划分是将大网络拆小(向右借位),路由聚合是将小网络合并(向左缩位)。CIDR统一了这两种操作。
- 常用CIDR地址块速记:
| CIDR | 子网掩码 | 地址数 | 常见用途 |
|---|---|---|---|
| /8 | 255.0.0.0 | 16M | A类网络 |
| /16 | 255.255.0.0 | 65K | B类网络 |
| /24 | 255.255.255.0 | 256 | 小型局域网 |
| /25 | 255.255.255.128 | 128 | - |
| /26 | 255.255.255.192 | 64 | - |
| /27 | 255.255.255.224 | 32 | - |
| /28 | 255.255.255.240 | 16 | - |
| /30 | 255.255.255.252 | 4 | 点对点链路 |
- 聚合口诀:"前缀相同位对齐,不同之处当分界;聚合位数取共同,4个/24合1个/22。"
四、例题与精解
例题1(基础巩固)
题目:某ISP拥有CIDR地址块 206.0.64.0/18,请问该地址块包含多少个IP地址?起始地址和结束地址分别是什么?
命题意图:考查CIDR地址块的基本计算能力。
精解:
- 审题分析:CIDR地址块
206.0.64.0/18,求地址范围和数量。 - 解题思路:/18表示前18位固定,后14位可变。
- 完整步骤:
- 前缀长度 = 18,主机号位数 = 32 - 18 = 14
- IP地址总数 =
- 网络地址:
206.0.64.0 - 将
206.0.64.0转为二进制:11001110.00000000.01000000.00000000 - 前18位固定:
11001110.00000000.01,后14位可变 - 起始地址(后14位全0):
11001110.00000000.01000000.00000000=206.0.64.0 - 结束地址(后14位全1):
11001110.00000000.01111111.11111111=206.0.127.255 - 答案:共16384个IP地址,范围
206.0.64.0~206.0.127.255
- 方法反思:CIDR计算的关键是正确识别前缀长度,然后将主机号部分从全0到全1展开。注意第3个字节:64=01000000,127=01111111。
例题2(中等提升)
题目:某大学获得地址块 130.16.128.0/20,需要将其分配给4个系,每个系的主机数分别为:系A约500台、系B约200台、系C约100台、系D约100台。请设计子网分配方案,给出每个系的CIDR地址块。
命题意图:考查CIDR环境下的子网设计能力,需要合理利用地址空间。
精解:
- 审题分析:总地址块/20 = 4096个地址,需分配给4个系。
- 解题思路:按需求从大到小分配,每个系分配一个适当大小的CIDR块。
- 完整步骤:
总地址块:130.16.128.0/20
- 二进制:
10000010.00010000.10000000.00000000 - 地址范围:
130.16.128.0~130.16.143.255 - 总地址数:
分配方案:
系A(500台):
- 需要 , → ✓,所以需要 /23(32-9=23)
- 分配:
130.16.128.0/23 - 地址范围:
130.16.128.0~130.16.129.255(512个地址)
系B(200台):
- 需要 , → ✓,需要 /24
- 分配:
130.16.130.0/24 - 地址范围:
130.16.130.0~130.16.130.255(256个地址)
系C(100台):
- 需要 , → ✓,需要 /25
- 分配:
130.16.131.0/25 - 地址范围:
130.16.131.0~130.16.131.127(128个地址)
系D(100台):
- 同样需要 /25
- 分配:
130.16.131.128/25 - 地址范围:
130.16.131.128~130.16.131.255(128个地址)
已分配:130.16.128.0 ~ 130.16.131.255 = 1024个地址 剩余:130.16.132.0 ~ 130.16.143.255 = 3072个地址,供将来使用
- 方法反思:CIDR子网设计的关键原则:①按需求从大到小分配;②每个系的地址块必须是2的幂次大小;③地址块必须对齐(起始地址是块大小的倍数)。
五、考情分析
- 考查频次:近5年出现4-5次
- 常见题型:选择题考查CIDR概念;综合题考查CIDR地址计算和路由聚合
- 分值占比:选择题2分,综合题5-8分
- 命题趋势:CIDR与子网划分常合并出题,最长前缀匹配是近年新增的考查点
六、易错点提醒
错误表现:将CIDR地址块的起始地址与给出的IP地址混淆
- 错误原因:认为
206.0.68.0/18的起始地址就是206.0.68.0 - 正确理解:CIDR地址块的起始地址是将主机号部分全部置0得到的。
206.0.68.0/18的起始地址实际是206.0.64.0(因为68的前2位是01,属于64.0这个块)
- 错误原因:认为
错误表现:路由聚合时选择错误的共同前缀长度
- 错误原因:只看字节边界,不看比特级别
- 正确理解:必须逐比特比较,找到所有地址块共享的最长前缀。例如4个/24聚合为/22,是因为它们的前22位相同
错误表现:最长前缀匹配时选择最短前缀(最笼统的匹配)
- 错误原因:直觉上认为"最大的网络应该优先"
- 正确理解:最长前缀匹配选的是最精确的匹配(前缀最长),不是最笼统的。/24优先于/22
七、来源标注
- 依据2026考研统考大纲
- 依据《计算机网络(第8版)》谢希仁版
- 依据RFC 1518、RFC 1519(CIDR)