OSPF详解-2 区域结构
在小型网络中,路由器链路构成的结构并不复杂,很容易确定前往各个目的地的路径。然而,在大型网络中,路由器链路组成的结构极其复杂,前往每个目的地的潜在路径为数众多。因此对所有可能路由进行比较的SPF算法非常复杂,需要很长时间。
一、区域扩大的问题
1)最短路径优先(SPF)算法的频繁计算:在大型网络中,变化是不可避免的,路由器将大量的CPU周期用来重新计算SPF算法和更新路由表。
2)路由表庞大:默认情况下,OSPF不进行路由汇总,这样路由表可能非常大,这取决于网络的规模。
3)链路状态数据库(LSDB)庞大:LSDB包含有关整个网络的拓扑信息,每台路由器都需要保存前往其所在区域中每个网络的路由,虽然并非所有这些路由都将加入到路由表中。
二、解决OSPF区域扩大的方式
1.减少SPF计算量
链路状态路由协议通常将网络划分成区域如下图所示,以减少SPF算法的计算量。区域内的路由器数量以及在区域内扩散的LSA数量较少,这一位置区域内的LSDB(拓扑数据库)较小。其结果是,SPF算法的计算量更小,需要的时间更短。在这种情况下,仍可进行区域间路由选择,但很多内部路由操作(如SPF计算)实在各个区域内进行的。例如,如果区域1存储链路时好时坏的问题,不会导致其他区域内的路由器不断运行SPF算法,因为它们不受区域1内这种问题的影响。
2.OSPF多区域优点
在使用了正确的IP编址层次结构和OSPF配置的情况下,使用多个OSPF区域具有下述重要优点。
1)SPF计算频率更低:详细的路由信息被限制在区域内,因此无需将所有链路状态的变化扩散到其他区域。这样,当网络拓扑发生变化时,只有受影响的路由器需要重新计算SPF,从而将影响限制在当前区域内。
2)路由表更小:使用很多这个区域时,前往区域内具体网络的路由被限制在区域内。可对路由进行配置,使其将这些细路由打包成汇总信息(细路由LSA1、LSA2,汇总信息LSA3),而不是将它们直接通告到其他区域。通过通告汇总信息,可减少区域间传播的LSA,同时确保所有的网络是可达的。
注意:LSA1和LSA2在跨区域的时候打包为LSA3而减少LSA条目,这里的汇总信息指的是LSA3在思科官方文档中称为Summary LSA。
3)降低了链路状态更新(LSU)开销:LSU可包含多种类型的LSA,其中包括链路状态信息和摘要信息。路由器在区域间通告一条路由或少量路由,而不发送针对区域内每个网络的LSU,从而降低在区域间传输LSU的开销。
三、OPSF的两层次区域结构
1.骨干区域和非骨干区域
1)骨干区域:主要功能为快速、高效地传输IP分组的OSPF区域。骨干区域将其他类型的OSPF区域连接起来,通常没有终端用户。骨干区域也叫OSPF区域0,它是网络核心,其他区域都与它直接相连。
注意:在一些CISCO文档中,将骨干区域称为中转区域。然而在OSPF RFC中,中转区域是一个与虚链路相关的术语。虚链路在后续的文章中介绍。
2)常规(非骨干)区域:主要功能为连接用户和资源的OSPF区域。常规区域通常是根据职能或地理位置划分的。默认情况下,常规区域不允许另一个区域使用其连接将数据流传输到其他区域。默认情况下,来自其他区域的所有数据流都必须经过骨干区域0.常规区域又分为几类,包括标准区域、末节区域、完全末节区域和次末节区域(NSSA)和绝对末节NSSA。文章后续的文章中介绍这些区域类型。
OSPF采用严格的两层区域结构。网络的底层物理连接必须与两层区域结构匹配,即所有非骨干区域都直接与区域0相连。
2.分区域后SPF的特点
使用链路状态路由协议时,所有路由器都必须保存一个LSDB。OSPF路由器及其连接的链路越多,LSDB将越大。在所有的路由器中保存所有信息有它的优点,但这种方法在大型网络中没有可扩展性。区域概念是一种折衷:区域内的路由器保存该区域中所有链路和路由器的详细信息,可以将OSPF配置成只保存有关其他区域中路由器和链路的摘要信息。
正确配置OSPF后,当路由器或链路出现故障时,相应的信息只会被扩散到当前区域中的路由器,区域外的路由器不会受到这种信息。通过采用层次结构并控制区域内的路由器数量,OSPF自治系统(AS)可扩展到非常大。
正如前面指出的,OSPF区域必须构成层次结构,这意味着所有区域都必须与区域0相连。在下图中,区域1中的路由器不能与区域2或3中的路由器直接相连。区域之间传输的数据流必须经过骨干区域0。每个区域包含多少台路由器最合适呢?这随着诸如网络稳定性等因素而异,Cisco的建议如下:
1)每个区域包含的路由器数量不应超过50台;
2)每台路由器所属的区域最多不要超过3个。
这些推荐值旨在避免OSPF计算让路由器不堪重负。当然,网络设计和链路稳定性也会影响路由器的负载。
3.OSPF路由器的角色
OSPF路由器的类型决定了什么样的数据流能够进入和离开区域。下面是4种路由器类型如下图。
1)内部路由器:所有接口都位于同一个区域中的路由器,同一个区域中所有内部路由器的LSDB都相同。
2)骨干路由器:位于骨干区域0边缘的路由器,至少有一个接口与区域0相连。骨干路由器在维护OSPF路由信息时采用的步骤和算法与内部路由器相同。
3)区域边界路由器(ABR):连接多个区域的路由器,为其连接的每个区域维护一个LSDB,并路由器前往/来自其他区域的数据流。ABR将区域0连接到非骨干区域,因此是区域的出口,这意味着前往其他区域的路由信息必须经过当前区域的ABR。ABR将这些路由选择信息通告给骨干,骨干路由器再将其转发给其他的ABR。只能在ABR对其连接的区域的地址进行汇总(对其连接的区域的LSDB种的路由选择信息进行汇总)。ABR分离LSA泛洪区,还可能提供默认路由。一个区域肯能有一台或多台ABR。
理想的设计是只让每个ABR连接两个区域:骨干区域和另一个区域。正如前面指出的,建议ABR最多不要连接3个以上的区域。
4)自治系统边界路由器(ASBR):至少有一个接口与其他域(如另一个OSPF自治区域系统或使用其他网络协议的域)相连。OSPF自治系统由所有OSPF区域及其中的路由器组成。ASBR可将外部路由重分发到OSPF域中,反之亦然。
注意:同一台路由器可属于多种类型。例如,如果路由器同时连接区域0、区域1和一个非OSPF网络,则它既是ABR又是ASBR。
对于它连接的每个区域,路由器都有一个独立的LSDB。因此,ABR有两个LSDB,一个针对的是区域0,另一个针对的是它连接的非骨干区域。属于同一区域的两台路由器中针对该区域的LSDB相同。两台路由器之间建立邻接关系后,它们的LSDB将是同步的,这将在下篇文章中介绍。
转载于:https://blog.51cto.com/zxteach/2124994
OSPF详解-2 区域结构相关推荐
- 详解10G以太网结构、PMD接口及应用的相关知识
详解10G以太网结构.PMD接口及应用的相关知识 现在10Gbps的以太网标准已经由IEEE 802.3工作组于2000年正式制定,10G以太网仍使用与以往10Mbps和100Mbps以太网相同的形式 ...
- DDR3内存详解,存储器结构+时序+初始化过程
转载 DDR3内存详解,存储器结构+时序+初始化过程 2017-06-17 16:10:33 a_chinese_man 阅读数 23423更多 分类专栏: 硬件开发基础 转自:http://www. ...
- CCNP中单区域OSPF详解(第一部分)
1. OSPF特性综述 2. Ospf协议下运行的三种拓补结构 3. 广播型多路访问网络下的OSPF运行 1)路由器ID 2)指定路由器和备份指定路由器 3)DR和BDR ...
- Java虚拟机详解02----JVM内存结构
主要内容如下: JVM启动流程 JVM基本结构 内存模型 编译和解释运行的概念 一.JVM启动流程: JVM启动时,是由java命令/javaw命令来启动的. 二.JVM基本结构: JVM基本结构图: ...
- OSPF详解完全版(HCIP)
一.了解OSPF基础 OSPF协议基础 大型网络的变化: RIP缺陷: 路由协议原理上分类: 工作范围上分类: AS自治系统: 二.了解OSPF邻居建立过程 OSPF三部曲: 一.邻居建立过程(阶段一 ...
- 动态路由 OSPF详解
ospf RFC2328 简介 开放式最短路径优先(Open Shortest Path First,OSPF)是广泛使用的一种动态路由协议,它属于链路状态路由协议,具有路由变化收敛速度快.无路由环路 ...
- OSPF详解(三):OSPF中的网络类型
并不是ospf网络上一定存在DR和BDR,ospf根据链路层媒体不同可以划分为四种网络类型(或者叫接口工作模式). 1. 如果路由器接口连接的是ethernet网络,那么默认ospf网络类型是Bro ...
- 默认优先级值是多少 ospf_OSPF是什么?网工必备技能——OSPF详解
今天来给大家讲讲OSPF协议. OSPF是一种基于SPF算法的链路状态路由协议. 上图是在一个OSPF区域里面添入一台新的路由器的时候,OSPF协议的工作过程,如果你能非常详细的叙述出这张图的话,基本 ...
- 详解MBR分区结构以及GPT分区结构
一.MBR分区结构 MBR磁盘分区是一种使用最为广泛的分区结构,它也被称为DOS分区结构,但它并不仅仅应用于Windows系统平台,也应用于Linux,基于X86的UNIX等系统平台.它位于磁盘的0号 ...
最新文章
- 博客域名改为http://bobli.cnblogs.com
- Chimera 嵌合体
- php简单还是go简单_PHP转Golang一些感想
- EonerCMS——做一个仿桌面系统的CMS(十一)
- 项目实战丨某家具公司机房改造方案
- php yii 表单title,Yii2.0-ActiveForm表单结构自定义教程
- Java中注解学习系列教程-1
- ROS-WIKI——编写简单的发布者和订阅者(C++和Python版本)
- python控制arduino模拟端口_用Python控制Arduino实现Blink
- 关于齐次坐标系的理解
- kafka 查看队列信息
- Python 实现定时任务的八种方案
- HTML5期末大作业:直播网站设计——仿在线媒体歪秀直播官网模板html源码(11个页面) HTML+CSS+JavaScript 期末作业HTML代码...
- 阿里云CTO王坚当选院士,高手的人生都是如此雷同:生命的信仰
- 红米手机root之后 eclipse无法打开data目录
- 第 2-3 课:迭代法计算定积分
- AI for Science年度激辩:AlphaFold成功难以复制,数据人才生态建设都是挑战|MEET2023...
- ibverbs文档翻译
- java 三原色_opencv3_java 提取图像的RGB三原色分割图像Split Core.split
- Java实现堆,最大堆,最小堆,左高树,左低树
热门文章
- python读取文件中的数据为二维数组变量_Numpy 多维数据数组的实现
- 【Android UI设计与开发】第04期:引导界面(四)仿人人网V5.9.2最新版引导界面
- 使用 Truffle Develop 和 console
- iOS 快速定位约束冲突
- Swift4之NSAttributedString的使用
- (001) java后台开发之流程初识
- swift_021(Swift 的方法)
- linux编译树莓派内核,编译树莓派 4B Linux 5.9 内核
- mysql 导入导出 csv_mysql 导出导入数据 -csv
- Mysql使用trigger触发器说明