4.4 【2014统考真题】


好的,这是一道关于 OSPF 协议的经典综合题。它深入考察了如何从链路状态信息(LSI)反推网络拓扑、构建路由表、进行路由聚合,并模拟数据包的转发过程。
我们来详细地解析这道题。
首先,附上题目原文:
题目原文
(5)【2014统考真题】某网络中的路由器运行 OSPF 路由协议,下表是路由器 R1 维护的主要链路状态信息 (LSI), 下图是根据该表及 R1 的接口名构造的网络拓扑。请回答下列问题:
-
设路由表结构如下表所示, 给出图中 R1 的路由表, 要求包括到达图中子网
192.1.x.x的路由, 且路由表中的路由项尽可能少。
| 目的网络 | 下一跳 | 接口 |
| :— | :— | :— | -
当主机
192.1.1.130向主机192.1.7.211发送一个 TTL = 64 的 IP 分组时, R1 通过哪个接口转发该 IP分组? 主机192.1.7.211收到的 IP 分组的 TTL 是多少? -
若 R1 增加一条 Metric 为 10 的链路连接 Internet, 则表中 R1 的 LSI 需要增加哪些信息?
综合解析
一、运用了什么知识点?
-
OSPF (开放最短路径优先) 协议:
- 链路状态协议: 每个路由器都学习到整个网络的完整拓扑结构图(就像一张地图)。
- LSI (链路状态信息) / LSA (链路状态通告): 路由器之间交换的“地图碎片”,用于构建完整的网络拓扑。题目中的表格就是R1收集到的信息汇总。
- Dijkstra 最短路径算法: OSPF的核心。每个路由器基于完整的网络地图,以自己为根节点,计算到所有其他目的地的、成本 (Metric) 最低的路径。
- Metric (成本/度量): OSPF中衡量路径“好坏”的值,可以是带宽、延迟等,本题中直接给出。成本越小,路径越优。
-
路由表构建与路由聚合:
- 路由表是Dijkstra算法计算结果的直接体现。
- 为了提高效率,需要将具有相同下一跳的、连续的子网地址合并成一个更大的网络(超网)。
-
IP分组转发与TTL:
- 路由器根据最长前缀匹配原则查找路由表来转发分组。
- TTL (Time-To-Live, 生存时间): IP首部中的一个字段,其值每经过一个路由器就减1。当TTL减为0时,分组被丢弃。这是为了防止分组在网络中无限循环。
-
默认路由:
- 用于访问外部网络(如Internet)的特殊路由。目的地址为
0.0.0.0,掩码为0.0.0.0(或/0)。 - 在OSPF中,连接到外部网络的路由器可以向区域内通告一条默认路由。
- 用于访问外部网络(如Internet)的特殊路由。目的地址为
二、考了什么?为什么这么考?
- 第1问:考察的是OSPF的核心应用。它要求考生扮演路由器R1的角色,先通过OSPF的逻辑(计算最短路径)确定去往各个目的地的最优路径,然后将这些路径(路由)填入路由表。最后,还考察了网络优化的关键技能——路由聚合,来减少路由表的条目。
- 第2问:考察的是路由表的使用。路由表不是摆设,是用来转发数据包的。这道题通过一个具体的数据包,检验考生是否会根据自己构建的路由表进行正确的转发决策,并是否理解TTL在转发过程中的变化。
- 第3问:考察的是OSPF如何与外部世界(Internet)交互。一个OSPF网络不是孤岛,它需要一个出口。这道题检验考生是否知道如何使用默认路由来代表“所有未知网络”,以及如何在OSPF的链路状态信息中表示这条特殊路由。
为什么这么考? 因为这三个问题完整地覆盖了OSPF路由器的工作流程:学习路由 (看LSI) -> 计算并建立路由表 (Q1) -> 使用路由表 (Q2) -> 通告特殊路由 (Q3)。这道题从原理到应用,再到扩展,全面地检验了考生对现代主流路由协议的掌握程度。
三、解题思路与详细分析 (为什么怎么样?)
问题1分析:构建R1的路由表
我们必须站在R1的视角,计算到所有 192.1.x.x 网络的最低成本路径。
-
列出所有目标网络:
192.1.1.0/24(连接在R1上)192.1.5.0/24(连接在R3上)192.1.6.0/24(连接在R2上)192.1.7.0/24(连接在R4上)
-
计算最短路径:
- To
192.1.1.0/24: 这是R1的直连网络,通过E0接口。成本=1。 - To
192.1.5.0/24: 必须经过R3。路径是R1 -> R3。成本 =Metric(R1-R3)= 2。下一跳是R3的接口IP10.1.1.10,从R1的L1接口出去。 - To
192.1.6.0/24: 必须经过R2。路径是R1 -> R2。成本 =Metric(R1-R2)= 3。下一跳是R2的接口IP10.1.1.2,从R1的L0接口出去。 - To
192.1.7.0/24: 需要经过R4。有两条路可选:- 路径A:
R1 -> R2 -> R4。总成本 =Metric(R1-R2) + Metric(R2-R4)=3 + 4 = 7。 - 路径B:
R1 -> R3 -> R4。总成本 =Metric(R1-R3) + Metric(R3-R4)=2 + 6 = 8。 - 因为
7 < 8,所以R1选择路径A。下一跳是R2的接口IP10.1.1.2,从R1的L0接口出去。
- 路径A:
- To
-
进行路由聚合:
- 我们发现,去往
192.1.6.0/24和192.1.7.0/24的下一跳和接口完全相同(都是10.1.1.2和 L0)。因此,可以尝试将它们聚合。 - 二进制计算:
192.1.6.0->192.1.00000110.0192.1.7.0->192.1.00000111.0
- 从左到右比较,它们的前23位是相同的 (
192.1.0000011)。 - 因此,可以聚合成一个更大的网络
192.1.6.0/23。
- 我们发现,去往
-
写出最终路由表:
| 目的网络 | 下一跳 | 接口 |
| :— | :— | :— |
| 192.1.1.0/24 | - | E0 |
| 192.1.5.0/24 | 10.1.1.10 | L1 |
| 192.1.6.0/23 | 10.1.1.2 | L0 |
问题2分析:分组转发与TTL
-
查找路由: R1收到一个目的IP为
192.1.7.211的分组。它会用这个地址去匹配Q1中我们建立的路由表。192.1.7.211匹配192.1.6.0/23这条聚合路由。- 该路由条目指示,应通过 L0 接口转发。
-
计算TTL:
- 初始TTL: 64
- 路径:
H_130 -> ... -> R1 -> R2 -> R4 -> H_211 - 分组每经过一个路由器,TTL减1。
- 经过 R1 后,TTL变为
64 - 1 = 63。 - 经过 R2 后,TTL变为
63 - 1 = 62。 - 经过 R4 后,TTL变为
62 - 1 = 61。 - 分组到达主机
192.1.7.211时,TTL的值就是61。
- 结论: R1通过 L0 接口转发;主机
192.1.7.211收到的分组TTL是 61。
问题3分析:连接Internet
- 概念: Internet包含了无数个网络,不可能在LSI中为它们一一列出。因此,必须使用默认路由 (
0.0.0.0/0) 来代表“所有其他网络”。 - LSI的含义: LSI是路由器对自己状态的“自我描述”。当R1增加了一条连接Internet的链路时,它就必须在自己的LSI中告诉所有OSPF邻居这个新情况。
- 如何描述: 对R1来说,这个连接就像是又多了一个“直连网络”,只不过这个“网络”非常特殊。
- 网络前缀 (Prefix):
0.0.0.0/0 - 成本 (Metric): 题目给出是
10
- 网络前缀 (Prefix):
- 增加的信息: R1需要在它自己的LSI(即表格中“R1 of LSI”那一列)中,增加一条新的
Net信息。
- 结论: R1的LSI需要增加一条关于直连网络的信息,其网络前缀(Prefix)为
0.0.0.0/0,成本(Metric)为10。
