前言算法
上一章介绍了RIP动态路由协议,知道了RIP是基于距离矢量的路由协议。知识卡片|最全RIP动态路由协议技术详解。数据库
从今天开始咱们介绍下另外一个动态路由协议——OSPF。开放式最短路径优先OSPF(Open Shortest Path First)协议是IETF定义的一种基于链路状态的内部网关路由协议。网络
为何会出现OSPF?:由于RIP是一种基于距离矢量算法的路由协议,存在着ide
收敛慢;设计
易产生路由环路;blog
可扩展性差,最大只能支持15跳。接口
OSPF的出现很好地解决了上述3个问题,那么OSPF是如何解决上述3个问题的呢?咱们一块儿来看下。路由
正文it
1 OSPF是如何保证无路由环路的?class
OSPF是一种基于链路状态的路由协议,它从设计上就保证了无路由环路。
那么什么是链路状态协议?
若是说距离矢量路由协议提供的是路标,那么链路状态路由协议提供的就是地图。每一个运行链路状态协议的路由器上都有一张完整的网络图。
就比如你有一张地图怎么还会迷路?运行链路状态协议的每一台路由器都会有一张地图库从而避免了环路。
链路状态协议工做原理:
每台运行链路状态路由协议的路由器都了解整个网络的链路状态信息(地图),这样才能计算出到达目的地的最优路径。
一、LSA泛洪:
运行链路状态路由协议的路由器都会进行链路状态公告LSA (Link State Advertisement)泛洪,LSA中包含了路由器已知的接口状态、接口IP地址、掩码、开销和网络类型等信息。
通俗点讲就是每台路由器都会将一些关于本身,关于本地直连链路以及这些链路的状态和关于全部直连邻居的信息传送给相邻的其余路由器。
二、创建LSDB:
收到LSA的路由器均可以根据LSA提供的信息创建本身的链路状态数据库LSDB(Link State Database)。
通俗点讲就是每台路由器都会收到网络中其余的路由器发送过来的LSA信息,这些全部的LSA信息构成了LSDB。这里须要注意的是当网络稳定后,网络中的全部设备应该是有相同的LSDB的。
三、创建最短路径树:
运行OSPF协议的路由器在LSDB的基础上使用SPF算法进行运算,创建起到达每一个网络的最短路径树。
四、路由计算:
经过最短路径树得出到达目的网络的最优路由,并将其加入到IP路由表中。
常见的链路状态协议有:
OSPF:开放式最短路径优先协议
IS-IS:中间系统到中间系统协议
OSPF支持区域的划分,区域内部的路由器使用SPF最短路径算法保证了区域内部的无环路
为何划分区域?
划分OSPF区域能够缩小路由器的LSDB规模,减小网络流量。
区域内的详细拓扑信息不向其余区域发送,区域间传递的是抽象的路由信息,而不是详细的描述拓扑结构的链路状态信息。
每一个区域都有本身的LSDB,不一样区域的LSDB是不一样的。路由器会为每个本身所链接到的区域维护一个单独的LSDB。因为详细链路状态信息不会被发布到区域之外,所以LSDB的规模大大缩小了。
OSPF是如何划分区域的呢?
一、路由器的每一个接口能够被划分在一个区域,一个路由器能够同时属于多个区域。
二、Area 0为骨干区域,其余区域为非骨干区域。每一个非骨干区域都必须链接到骨干区域。
三、运行在区域之间的路由器叫作区域边界路由器ABR(Area Boundary Router),它包含全部相连区域的LSDB。
自治系统边界路由器ASBR(Autonomous System Boundary Router)是指和其余AS中的路由器交换路由信息的路由器,这种路由器会向整个AS通告AS外部路由信息。
为何SPF算法能够保证区域内无环路?
SPF算法将每个路由器做为根(ROOT)来计算其到每个目的地路由器的距离,每个路由器根据一个统一的数据库会计算出路由域的拓扑结构图,该结构图相似于一棵树,在SPF算法中,被称为最短路径树。树形是无环路的。
OSPF利用区域间的链接规则保证了区域之间无路由环路。
为了不区域间路由环路,非骨干区域之间不容许直接相互发布路由信息,全部的非骨干区域间通讯都须要借助骨干区域。所以,每一个区域都必须链接到骨干区域。
2 OSPF是如何实现快速收敛的?
OSPF支持触发更新,可以快速检测并通告自治系统内的拓扑变化。触发更新就是当路由有变化马上发送路由更新信息。
3 OSPF是如何保证扩展性的?
OSPF能够解决网络扩容带来的问题。当网络上路由器愈来愈多,路由信息流量急剧增加的时候,OSPF能够将每一个自治系统划分为多个区域,并限制每一个区域的范围。OSPF这种分区域的特色,使得OSPF特别适用于大中型网络。
总结