4.4 路由算法与路由协议【2013统考真题】


好的,这是一道关于自治系统(AS)间路由的综合题,它将路由聚合、最长前缀匹配和路由协议的选择这三个核心概念融为一体,是理解互联网骨干路由的关键。
我们来详细地解析这道题。
首先,附上题目原文:
题目原文
4.4 路由算法与路由协议
(4)【2013统考真题】假设 Internet 的两个自治系统构成的网络如下图所示, 自治系统 AS1 由路由器R1 连接两个子网构成; 自治系统 AS2 由路由器 R2、 R3 互连并连接 3 个子网构成。各子网地址、 R2的接口名、 R1 与 R3 的部分接口 IP 地址如下图所示。请回答下列问题:
(注:由于无法直接嵌入图片,此处为图片占位符,请参照您提供的原图)
-
假设路由表结构如下表所示。利用路由聚合技术, 给出 R2 的路由表, 要求包括到达图中所有子网的路由,且路由表中的路由项尽可能少。
| 目的网络 | 下一跳 | 接口 |
| :— | :— | :— | -
若 R2 收到一个目的 IP 地址为 194.17.20.200 的 IP 分组, R2 会通过哪个接口转发该 IP 分组?
-
R1 与 R2 之间利用哪个路由协议交换路由信息? 该路由协议的报文被封装到哪个协议的分组中进行传输?
综合解析
一、运用了什么知识点?
-
自治系统 (Autonomous System, AS): 互联网的基本构建模块。一个AS是由单一技术管理机构管理的一组IP网络和路由器,它们有统一的路由策略。AS之间的路由和AS内部的路由采用不同的协议。
-
路由聚合 (Route Aggregation): 也称为路由汇总或超网(Supernetting)。将多个连续的小网络前缀合并成一个更大的、更短的网络前缀的过程。其主要目的是减小路由表的规模,提高路由效率。这是第1问的核心。
-
最长前缀匹配 (Longest Prefix Match): 路由器的核心转发原则。当一个数据包的目的IP地址可以匹配路由表中的多个条目时,路由器会选择前缀最长(即最具体、最精确)的那一条路由。这是第2问的核心。
-
路由协议的分类:
- 内部网关协议 (IGP, Interior Gateway Protocol): 在一个自治系统内部运行的路由协议,如 RIP, OSPF。
- 外部网关协议 (EGP, Exterior Gateway Protocol): 在不同自治系统之间运行的路由协议。目前互联网上使用的标准EGP就是 BGP (Border Gateway Protocol)。这是第3问的核心。
-
BGP 协议特性: BGP是一个应用层协议,为了保证路由信息的可靠传输,它使用 TCP 作为其传输层协议。
二、考了什么?为什么这么考?
- 第1问:考察的是大规模网络路由管理的核心技术——路由聚合。在真实的互联网中,路由表不可能包含全球数百万条具体路由,必须进行聚合。这道题通过一个小型化的场景,检验考生是否掌握了聚合的二进制计算方法和逻辑分组能力。
- 第2问:考察的是路由器最基本、最重要的工作原理。在聚合之后,路由表中可能出现一个地址同时被聚合路由和更具体的直连路由覆盖的情况,这道题就是为了检验考生是否理解并会应用“最长前缀匹配”这一黄金法则。
- 第3问:考察的是对互联网宏观架构的理解。考生需要知道,AS内部和AS之间是两套不同的“游戏规则”,并需要知道各自规则的名称(IGP vs EGP)和代表性协议(OSPF vs BGP),以及BGP在协议栈中的位置。
为什么这么考? 因为这道题完美地模拟了互联网的真实路由场景。一个边界路由器(如R2)既要处理内部路由,也要处理来自其他AS的路由。它需要通过聚合来优化路由表,通过最长前缀匹配来精确转发,并通过BGP与邻居AS交换信息。这三个问题层层递进,从路由表的构建,到路由表的使用,再到路由表的学习,完整地覆盖了边界路由器的核心功能。
三、解题思路与详细分析 (为什么怎么样?)
问题1分析:为R2构建聚合路由表
我们站在R2的视角,目标是能到达图中所有5个子网,且路由条目最少。
-
逻辑分组:
- 要去往AS1的两个子网,都必须经过R1。所以这两个子网可以尝试聚合。
- 要去往AS2中R3那边的两个子网,都必须经过R3。所以这两个子网也可以尝试聚合。
- 有一个子网是直接连接在R2的E0接口上的,这是一个直连路由,无法聚合。
-
聚合去往AS1的路由:
- 要聚合的网络:
153.14.5.0/25和153.14.5.128/25。 - 写出二进制(只看最后8位):
... .00000101 . 00000000... .00000101 . 10000000
- 从左到右比较,发现前24位
153.14.5是完全相同的。在第25位开始不同。 - 因此,共同前缀是24位。聚合后的网络是
153.14.5.0/24。 - 路由条目1:
目的网络: 153.14.5.0/24,下一跳: 153.14.3.2(R1的地址),接口: S0
- 要聚合的网络:
-
聚合去往R3的路由:
- 要聚合的网络:
194.17.20.0/25和194.17.21.0/24。 - 写出二进制(主要看第3个八位字节):
194.17.00010100. ...(20)194.17.00010101. ...(21)
- 从左到右比较,
194.17(16位) 相同。比较第3个八位字节:0001010(7位) 相同,在最后一位不同。 - 因此,共同前缀是
16 + 7 = 23位。 - 聚合后的网络地址是将共同前缀保留,后面全置0,即
194.17.20.0。 - 路由条目2:
目的网络: 194.17.20.0/23,下一跳: 194.17.24.2(R3的地址),接口: S1
- 要聚合的网络:
-
处理直连路由:
- 网络
194.17.20.128/25直接连接在R2的E0接口。 - 这是一个直连路由,下一跳为空。
- 路由条目3:
目的网络: 194.17.20.128/25,下一跳: -,接口: E0
- 网络
- 最终R2路由表:
| 目的网络 | 下一跳 | 接口 |
| :— | :— | :— |
| 153.14.5.0/24 | 153.14.3.2 | S0 |
| 194.17.20.0/23 | 194.17.24.2 | S1 |
| 194.17.20.128/25| - | E0 |
问题2分析:最长前缀匹配
-
目的IP:
194.17.20.200 -
R2拿出这个IP,和自己的路由表(我们在Q1中建立的)逐条匹配:
- 匹配
153.14.5.0/24?194 != 153,不匹配。 - 匹配
194.17.20.0/23?194.17.20.200的前23位是什么?二进制194.17.00010100. ...的前23位是194.17.0001010。- 路由条目的前23位也是
194.17.0001010。 - 匹配! 这是一个候选路由,前缀长度为 23。
- 匹配
194.17.20.128/25?194.17.20.200的前25位是什么?二进制194.17.00010100.11001000的前25位是194.17.20.1。- 路由条目的前25位也是
194.17.20.1。 - 匹配! 这是另一个候选路由,前缀长度为 25。
- 匹配
-
应用法则:
25 > 23,所以选择前缀更长的那条路由。 -
结论: R2选择
194.17.20.128/25这条路由,通过 E0 接口转发该IP分组。
问题3分析:AS间的路由协议
- 判断关系: R1属于AS1,R2属于AS2。它们是两个不同的自治系统。
- 选择协议类型: 在不同自治系统之间交换路由信息,必须使用外部网关协议 (EGP)。
- 确定具体协议: 当今互联网上,标准的、唯一的EGP就是边界网关协议 (BGP),通常指BGP4。
- 确定传输协议:
- BGP是一个非常复杂的协议,需要传递大量的路径属性信息,并且路由信息的交换必须是可靠的。
- 因此,BGP的设计者没有在IP上重新发明一个可靠传输的轮子,而是直接选择了在可靠的传输控制协议 (TCP) 之上运行。BGP使用TCP端口号179。
- BGP报文作为应用层数据,被封装在TCP报文段中进行传输。
- 结论: R1与R2之间利用 BGP 交换路由信息。该协议的报文被封装到 TCP 的分组(报文段)中进行传输。
