Skip to content

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地址块,求地址范围

  1. 将IP地址转换为二进制
  2. 前缀长度为 nn,则前 nn 位是网络前缀(固定),后 32n32-n 位是主机号(可变)
  3. 地址范围 = 主机号从全0到全1
  4. 地址数量 = 232n2^{32-n}
  5. 可用主机数 = 232n22^{32-n} - 2(去掉网络地址和广播地址)

示例200.10.0.0/21

  • 前缀长度21位,主机号 3221=1132-21=11
  • 地址数量 = 211=20482^{11} = 2048
  • 网络地址: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/22200.10.1.0/24,目的地址为 200.10.1.100,则匹配 /24 条目(前缀更长,更精确)。


三、记忆与理解辅助

  1. 口诀:"CIDR打破类界限,斜线后面跟位数;路由聚合成超网,最长前缀来匹配。"
  2. CIDR与子网划分的关系:子网划分是将大网络拆小(向右借位),路由聚合是将小网络合并(向左缩位)。CIDR统一了这两种操作。
  3. 常用CIDR地址块速记
CIDR子网掩码地址数常见用途
/8255.0.0.016MA类网络
/16255.255.0.065KB类网络
/24255.255.255.0256小型局域网
/25255.255.255.128128-
/26255.255.255.19264-
/27255.255.255.22432-
/28255.255.255.24016-
/30255.255.255.2524点对点链路
  1. 聚合口诀:"前缀相同位对齐,不同之处当分界;聚合位数取共同,4个/24合1个/22。"

四、例题与精解

例题1(基础巩固)

题目:某ISP拥有CIDR地址块 206.0.64.0/18,请问该地址块包含多少个IP地址?起始地址和结束地址分别是什么?

命题意图:考查CIDR地址块的基本计算能力。

精解

  1. 审题分析:CIDR地址块 206.0.64.0/18,求地址范围和数量。
  2. 解题思路:/18表示前18位固定,后14位可变。
  3. 完整步骤
    • 前缀长度 = 18,主机号位数 = 32 - 18 = 14
    • IP地址总数 = 214=163842^{14} = 16384
    • 网络地址: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
  4. 方法反思: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环境下的子网设计能力,需要合理利用地址空间。

精解

  1. 审题分析:总地址块/20 = 4096个地址,需分配给4个系。
  2. 解题思路:按需求从大到小分配,每个系分配一个适当大小的CIDR块。
  3. 完整步骤

总地址块130.16.128.0/20

  • 二进制:10000010.00010000.10000000.00000000
  • 地址范围:130.16.128.0 ~ 130.16.143.255
  • 总地址数:212=40962^{12} = 4096

分配方案

系A(500台)

  • 需要 2n25002^n - 2 \geq 500n=9n=9292=5102^9-2=510 ✓,所以需要 /23(32-9=23)
  • 分配:130.16.128.0/23
  • 地址范围:130.16.128.0 ~ 130.16.129.255(512个地址)

系B(200台)

  • 需要 2n22002^n-2 \geq 200n=8n=8282=2542^8-2=254 ✓,需要 /24
  • 分配:130.16.130.0/24
  • 地址范围:130.16.130.0 ~ 130.16.130.255(256个地址)

系C(100台)

  • 需要 2n21002^n-2 \geq 100n=7n=7272=1262^7-2=126 ✓,需要 /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个地址,供将来使用

  1. 方法反思:CIDR子网设计的关键原则:①按需求从大到小分配;②每个系的地址块必须是2的幂次大小;③地址块必须对齐(起始地址是块大小的倍数)。

五、考情分析

  • 考查频次:近5年出现4-5次
  • 常见题型:选择题考查CIDR概念;综合题考查CIDR地址计算和路由聚合
  • 分值占比:选择题2分,综合题5-8分
  • 命题趋势:CIDR与子网划分常合并出题,最长前缀匹配是近年新增的考查点

六、易错点提醒

  1. 错误表现:将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 这个块)
  2. 错误表现:路由聚合时选择错误的共同前缀长度

    • 错误原因:只看字节边界,不看比特级别
    • 正确理解:必须逐比特比较,找到所有地址块共享的最长前缀。例如4个/24聚合为/22,是因为它们的前22位相同
  3. 错误表现:最长前缀匹配时选择最短前缀(最笼统的匹配)

    • 错误原因:直觉上认为"最大的网络应该优先"
    • 正确理解:最长前缀匹配选的是最精确的匹配(前缀最长),不是最笼统的。/24优先于/22

七、来源标注

  • 依据2026考研统考大纲
  • 依据《计算机网络(第8版)》谢希仁版
  • 依据RFC 1518、RFC 1519(CIDR)

考研全科复习资料 - 基于2026考研统考大纲