没有合适的资源?快使用搜索试试~ 我知道了~
首页OSPF协议详解:从入门到实践
OSPF协议详解:从入门到实践
需积分: 9 1 下载量 119 浏览量
更新于2024-07-23
收藏 912KB PDF 举报
"OSPF(Open Shortest Path First,开放最短路径优先)协议详解是一份详细的文档,旨在为初学者全面介绍OSPF协议的工作原理和操作流程。该文档涵盖了以下几个关键知识点: 1. 协议概述:OSPF是一种内部网关协议(IGP),用于在IP网络中发现并维护最优的路由路径。它采用链路状态算法,通过路由器之间交换信息来构建一个最短路径树,以确定最佳路由。 2. 连接状态数据库:文档解释了如何组织和计算连接状态数据库,包括路由器和网络的表示方法,非广播网络的特殊处理,以及最短路径树的构建。此外,还讨论了外部路由信息的使用和等值多路径策略。 3. 区域划分:OSPF将网络划分为多个逻辑区域,如骨干区域、区域间路由和不同类型路由器的角色。配置一个简单区域的例子,以及IP子网化支持和存根区域的概念也被详细阐述。 4. 功能概览:功能部分概述了OSPF的主要特性,如区域间路由、自制系统外部路由、路由协议包的发送和接收,以及协议实现的基本需求和可选项。 5. 协议数据结构:这部分介绍了OSPF的各种数据结构,如邻接关系、接口状态、邻居状态等,这些是协议通信和路由决策的基础。 6. 路由表结构:最后,文档还涉及路由表的设计和查询机制,这是决定网络流量路径的关键组成部分。 整个文档以易于理解的方式逐步讲解,从基础概念到实际操作,适合那些希望深入了解OSPF协议的读者。无论是初次接触还是进阶学习者,都能从中收获丰富的知识。"
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/7329065/bg10.jpg)
-
11
-
在图 2 中,RT5 和 RT7 都宣告了外部路径:网络 N12。对 RT6 来说,会首选 RT7,因为从
RT7 到达 N12 的距离是 10(8+2),要比 RT5 的 14(6+8)小。表 3 显示了加上外部路由的路由
表。
目标 下一跳 距离
表 3:路由器 RT6 路由表,外部路由部分
处理外部距离类型 2 要简单些。将选择 ASBR 所宣告的较小距离,而不管到达 ASBR 的内部
距离。假设例子中的 RT5 和 RT7 宣告类型 2 的距离。所 有通往网络 N12 的流量都将由 RT7 转发,
因为 2 < 8 。 当 有 多 条 等值的类型 2 路径存在时,将比较 AS 内部到达宣告路由器的距离来作出
选择。
在一个 AS 中,类型 1 和类型 2 的外部距离可以同时存在。这时,类型 1 将始终被优先选
择。
本节中假设,通往外部目标的数据包始终通过 ASBR 来转发,而事实不尽如此。例如,假
设图 2 中的 N6 上还接入了一台路由器 RTX。RTX 不参与 OSPF 路由,但与 ASBR RT7 交换 BGP 信
息。这样 RT7 将无法宣告需通过 RTX 转发的目标为 OSPF 外部路径。这些数据包将首先被转发
到 RT7(宣告路由器),从而增加了额外的一跳。
为了解决这个问题,OSPF 协议允许 ASBR 在 AS-external-LSA 中增加“转发地址/forward
address”。在上面的例子中,为使需要的数据包被直接转发到 RTX,RT7 将 RTX 的 IP 地址填
入那些路径的“转发地址”中。
“转发地址”还有另一个应用。能够使 AS 内部的路由器作为一台“路由服务器/route
server”。例如,图 2 中的 RT6 可以成为路由服务器,通过静态配置和外部路由协议收集外部
路由信息。RT6 通过宣告自己为 ASBR,生成一系列 AS-external-LSA。RT6 使用 LSA 中的“转
发地址”为目标设定正确的 AS 出口点。
2.4 等值多路径
上面的描述都简化为到达任何目标时,都只考虑一条路径。事实上,当有多条等值路径到
达一个目标时,这些路径都会被发现并使用。这不需要修改算法的概念,在下面讨论树生成过
程时,我们会再仔细研究。
当存在等值多路径时,路由器会有到达指定目标的多个可用下一跳。
3 将自制系统划分为区域
在 OSPF 中允许将一系列连续的网络和主机组合在一起。这样的组合,以及至少有一个接
口接入这些网络的路由器,称为区域/area。每个区域独立地运行一套连接状态路由算法。正
如在前面所解释的,这意味着每个区域有其自己的连接状态数据库和相应的图表。
区域内的拓扑结构对于区域外来说是不可见的。反过来,在给定区域内的路由器也不知道
区域外的拓扑细节。这种隔绝与将整个 AS 作为单一的连接状态域相比,可以使协议极大地减
少路由流量。
![](https://csdnimg.cn/release/download_crawler_static/7329065/bg11.jpg)
-
12
-
随着区域的引入,AS 中的路由器不再有完全相同的连接状态数据库。事实上路由器为它所
连接的每个区域建立单独的连接状态数据库。(连接多个区域的路由器被称为区域边界路由器
(ABR))。两台属于同一区域的路由器,为该区域建立完全相同的区域连接状态数据库。
在 AS 内部的转发有两个层次,取决于数据包的源及目标地址是在同一个区域内(使用区
域内路由/intra-area routing),或 者 不 同 的区域间(使用区域间路由/ inter-area routing)。
在使用区域内路由时,数据包仅根据从该区域内得到的信息来转发,而不使用从区域外得到的
信息。这可以保护区域内路由,避免错误路由信息。在第 3.2 节中讨论区域间路由。
3.1 自制系统的骨干区域
OSPF 的骨干区域是 OSPF 的特殊区域 0(由于 OSPF 的区域号是按 IP 地址的格式,所以经
常被写为区域 0.0.0.0)。OSPF 骨干区域始终包含所有的 ABR。骨干区域负责发布其他区域之
间的路由信息。骨干区域必须是连续的,虽然不一定是物理上连续。骨干区域的连续性可以通
过配置虚拟通道/virtual link 来建立和维持。
虚拟通道可以在任何两台拥有同一非骨干区域接口的骨干路由器之间建立。虚拟通道属于
骨干区域。协议将通过虚拟通道所连接的两台路由器,视为通过骨干区域内的无编号点对点网
络连接。在骨干区域的图表中,这样两台路由器通过数值上等于路由器之间区域内距离的标记
连接。在虚拟通道内的路由协议流量只包含区域内路由。
3.2 区域间路由
当数据包在两个非骨干区域之间转发时,使用骨干区域。数据包所经过的路径可以被分为
三段连续的过程:从源到 ABR 的区域内路径;从源区域到目标区域的骨干路径;到达目标的另
一个区域内路径。算法用来发现拥有最小距离值的路径。
换一个角度看,区域间路由可以被理解为一个星形配置的 AS,骨干区域是中心,每个非骨
干区域是分支。
骨干区域的拓扑结构决定了区域间的骨干路径。骨干区域的拓扑结构可以通过增加虚拟通
道来增强。这可以使系统管理员控制区域间流量。
选择恰当的 ABR 作为离开源区域出口的方法,与选择宣告外部路径的路由器的方法完全相
同。区域内的每个 ABR 计算到达区域外所有网络的距离。在计算了本区域的最短路径树以后,
路由器到达外部目标的距离值等于该数值加上到达 ABR 所需的距离。
3.3 路由器的分类
在引入区域之前,路由器的唯一特殊功能是宣告外部路由信息,如图 2 中的路由器 RT5。
当把 AS 划分为 OSPF 区域以后,根据功能,可以将路由器进一步分为以下功能重叠的四类:
内部路由器/Internal routers(IR):
路由器所直接连接的网络都属于同一个区域。这些路由器只运行路由算法的一个副本。
区域边界路由器/Area border routers(ABR):
接入多个区域的路由器。ABR 运行路由算法的多个副本,每个接入的区域一个。ABR 将所
接入区域的拓扑信息汇聚后发布到骨干区域。骨干区域再将这些信息发布到其他区域。
骨干路由器/Backbone routers:
有至少一个接口在骨干区域的路由器。这包括所有接入多个区域的路由器(即 ABR)。但
骨干路由器不一定是 ABR,所有接口都在骨干区域的路由器也是骨干路由器。
自制系统边界路由器/AS boundary routers(ASBR):
![](https://csdnimg.cn/release/download_crawler_static/7329065/bg12.jpg)
-
13
-
与属于其他 AS 的路由器交换路由信息的路由器。这样的路由器在 AS 内宣告 AS 外部路由
信息。到达各台 ASBR 的路径要被 AS 中的每台路由器所知晓。该分类与前面的分类完全独立:
ASBR 可能是内部路由器或 ABR,也可能在或可能不在骨干区域中。
3.4 一个简单区域配置
图 6 显示了一个简单的区域配置。第一个区域包含网络 N1-N4,以及接入的路由器 RT1-RT4。
第二个区域包括网络 N6-N8,以及接入的路由器 RT7、RT8、RT10 和 RT11。第三个区域包括网
络 N9-N11 和主机 H1,以及接入的路由器 RT9、RT11 和 RT12。第三个区域中的配置把 N9-N11
和 H1 对外宣告为一条单一路径(其细节见第 3.5 节)。
在图 6 中,路由器 RT1、RT2、RT5、RT6、RT8、RT9 和 RT12 是 IR。路由器 RT3、RT4、RT7、
RT10 和 RT11 是 ABR。如前所述路由器 RT5 和 RT7 是 ASBR。
图 7 显示了区域 1 连接状态数据库的结果。此 图完整地描述了区域内路由。也显示了内部
路由器 RT1 和 RT2 对整个网络的理解。ABR RT3 和 RT4 的工作,就是将所有外部目标到本区域
的路径距离,向区域 1 内宣告。这些在图 7 中表示为虚线存根路径(译注:实 际 图 中 没 有 分 别 )。
同时,RT3 和 RT4 必须向区域 1 内宣告 ASBR RT5 和 RT7 的位置。最后,由 RT5 和 RT7 产生的
AS-external-LSA 被洪泛到整个 AS 中,包括区域 1。这些描述了到达网络 N12-N15 路径的 LSA,
被包含在区域 1 的数据库中。
路由器 RT3 和 RT4 必须将区域 1 的拓扑结构汇总,并发布到骨干区域中。这些骨干 LSA 在
表 4 中显示,这些信息概要的显示了区域 1 中所包含的网络(即网络 N1-N4),以 及 分 别从 RT3
和 RT4 到达这些网络的距离。
骨干区域的连接状态数据库在图 8 中显示。其中显示的路由器是骨干路由器。路由器 RT11
因为属于两个区域而成为骨干路由器。为了使骨干区域连续,在 RT10 与 RT11 之间配置了一条
虚拟通道。
ABR RT3、RT4、RT7、RT10 和 RT11 将其所接入的非骨干区域的信息汇聚后,通过骨干区域
发布;这些在图 8 中表示为虚线存根路径(译注:实际图中没有分别)。其中第三个区域的配
置将网络 N9-N11 和主机 H1 精简为一条路径。所以网络 N9-N11 和主机 H1 在图 8 中表示为一行。
路由器 RT5 和 RT7 是 ASBR,来源于外部的信息在图 8中表示为存根。
ABR 通过骨干区域交换汇总信息。每个 ABR 从其他 ABR 获得区域汇总。并通过检查所收集
到的 LSA 来获取区域外网络距离的描述,并加上到达各自宣告路由器的骨干距离。
再次以路由器 RT3 和 RT4 为例子,处理过程如下:首先计算骨干区域的最短距离优先树。
这给出了到达其他所有 ABR 的距离。同时注意到达网络(Ia 和 Ib)和 ASBR(RT5 和 RT7)的距
离也属于骨干区域。计算的结果在表 5 中。
然后,通过查看从 ABR 获取的区域汇总,RT3 和 RT4 可以决定到达所有区域外网络的距离。
这些距离可以由 RT3 和 RT4 向区域内宣告。RT3 和 RT4 向区域 1 内宣告的信息在表 6 中显示。
注意,表 6 假设在骨干区域的配置中,Ia 和 Ib 被组合进一个 LSA 中。
网络 RT3 宣告 RT4 宣告
表 4:路由器 RT3 和 RT4 向骨干区域所宣告的网络
![](https://csdnimg.cn/release/download_crawler_static/7329065/bg13.jpg)
-
14
-
这些由 RT3 和 RT4 输入到区域 1 中的信息,可以使 IR,如 RT1,灵活的选择 ABR。路由器
RT1 将使用 RT4 到达网络 N6、使用 RT3 到达网络 N10、并使用两台路由器作负载均衡来到达网
络 N8。
图 6 一个简单的 OSPF 区域配置
![](https://csdnimg.cn/release/download_crawler_static/7329065/bg14.jpg)
-
15
-
图 7 区域 1 的数据库
图 8 骨干数据库
剩余103页未读,继续阅读
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
ypc_csdn2
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 构建Cadence PSpice仿真模型库教程
- VMware 10.0安装指南:步骤详解与网络、文件共享解决方案
- 中国互联网20周年必读:影响行业的100本经典书籍
- SQL Server 2000 Analysis Services的经典MDX查询示例
- VC6.0 MFC操作Excel教程:亲测Win7下的应用与保存技巧
- 使用Python NetworkX处理网络图
- 科技驱动:计算机控制技术的革新与应用
- MF-1型机器人硬件与robobasic编程详解
- ADC性能指标解析:超越位数、SNR和谐波
- 通用示波器改造为逻辑分析仪:0-1字符显示与电路设计
- C++实现TCP控制台客户端
- SOA架构下ESB在卷烟厂的信息整合与决策支持
- 三维人脸识别:技术进展与应用解析
- 单张人脸图像的眼镜边框自动去除方法
- C语言绘制图形:余弦曲线与正弦函数示例
- Matlab 文件操作入门:fopen、fclose、fprintf、fscanf 等函数使用详解
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)