在小型网络中,路由器链路构成的结构并不复杂,很容易确定前往各个目的地的路径。然而,在大型网络中,路由器链路组成的结构极其复杂,前往每个目的地的潜在路径为数众多。因此对所有可能路由进行比较的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 区域结构相关推荐

  1. 详解10G以太网结构、PMD接口及应用的相关知识

    详解10G以太网结构.PMD接口及应用的相关知识 现在10Gbps的以太网标准已经由IEEE 802.3工作组于2000年正式制定,10G以太网仍使用与以往10Mbps和100Mbps以太网相同的形式 ...

  2. DDR3内存详解,存储器结构+时序+初始化过程

    转载 DDR3内存详解,存储器结构+时序+初始化过程 2017-06-17 16:10:33 a_chinese_man 阅读数 23423更多 分类专栏: 硬件开发基础 转自:http://www. ...

  3. CCNP中单区域OSPF详解(第一部分)

    1. OSPF特性综述 2. Ospf协议下运行的三种拓补结构 3. 广播型多路访问网络下的OSPF运行      1)路由器ID      2)指定路由器和备份指定路由器      3)DR和BDR ...

  4. Java虚拟机详解02----JVM内存结构

    主要内容如下: JVM启动流程 JVM基本结构 内存模型 编译和解释运行的概念 一.JVM启动流程: JVM启动时,是由java命令/javaw命令来启动的. 二.JVM基本结构: JVM基本结构图: ...

  5. OSPF详解完全版(HCIP)

    一.了解OSPF基础 OSPF协议基础 大型网络的变化: RIP缺陷: 路由协议原理上分类: 工作范围上分类: AS自治系统: 二.了解OSPF邻居建立过程 OSPF三部曲: 一.邻居建立过程(阶段一 ...

  6. 动态路由 OSPF详解

    ospf RFC2328 简介 开放式最短路径优先(Open Shortest Path First,OSPF)是广泛使用的一种动态路由协议,它属于链路状态路由协议,具有路由变化收敛速度快.无路由环路 ...

  7. OSPF详解(三):OSPF中的网络类型

    并不是ospf网络上一定存在DR和BDR,ospf根据链路层媒体不同可以划分为四种网络类型(或者叫接口工作模式). 1.  如果路由器接口连接的是ethernet网络,那么默认ospf网络类型是Bro ...

  8. 默认优先级值是多少 ospf_OSPF是什么?网工必备技能——OSPF详解

    今天来给大家讲讲OSPF协议. OSPF是一种基于SPF算法的链路状态路由协议. 上图是在一个OSPF区域里面添入一台新的路由器的时候,OSPF协议的工作过程,如果你能非常详细的叙述出这张图的话,基本 ...

  9. 详解MBR分区结构以及GPT分区结构

    一.MBR分区结构 MBR磁盘分区是一种使用最为广泛的分区结构,它也被称为DOS分区结构,但它并不仅仅应用于Windows系统平台,也应用于Linux,基于X86的UNIX等系统平台.它位于磁盘的0号 ...

最新文章

  1. 博客域名改为http://bobli.cnblogs.com
  2. Chimera 嵌合体
  3. php简单还是go简单_PHP转Golang一些感想
  4. EonerCMS——做一个仿桌面系统的CMS(十一)
  5. 项目实战丨某家具公司机房改造方案
  6. php yii 表单title,Yii2.0-ActiveForm表单结构自定义教程
  7. Java中注解学习系列教程-1
  8. ROS-WIKI——编写简单的发布者和订阅者(C++和Python版本)
  9. python控制arduino模拟端口_用Python控制Arduino实现Blink
  10. 关于齐次坐标系的理解
  11. kafka 查看队列信息
  12. Python 实现定时任务的八种方案
  13. HTML5期末大作业:直播网站设计——仿在线媒体歪秀直播官网模板html源码(11个页面) HTML+CSS+JavaScript 期末作业HTML代码...
  14. 阿里云CTO王坚当选院士,高手的人生都是如此雷同:生命的信仰
  15. 红米手机root之后 eclipse无法打开data目录
  16. 第 2-3 课:迭代法计算定积分
  17. AI for Science年度激辩:AlphaFold成功难以复制,数据人才生态建设都是挑战|MEET2023...
  18. ibverbs文档翻译
  19. java 三原色_opencv3_java 提取图像的RGB三原色分割图像Split Core.split
  20. Java实现堆,最大堆,最小堆,左高树,左低树

热门文章

  1. python读取文件中的数据为二维数组变量_Numpy 多维数据数组的实现
  2. 【Android UI设计与开发】第04期:引导界面(四)仿人人网V5.9.2最新版引导界面
  3. 使用 Truffle Develop 和 console
  4. iOS 快速定位约束冲突
  5. Swift4之NSAttributedString的使用
  6. (001) java后台开发之流程初识
  7. swift_021(Swift 的方法)
  8. linux编译树莓派内核,编译树莓派 4B Linux 5.9 内核
  9. mysql 导入导出 csv_mysql 导出导入数据 -csv
  10. Mysql使用trigger触发器说明