《重识云原生系列》专题索引:

OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。著名的迪克斯彻(Dijkstra)算法被用来计算最短路径树。OSPF支持负载均衡和基于服务类型的选路,也支持多种路由形式,如特定主机路由和子网路由等。
(1)OSPF 适合在大范围的网络:OSPF 协议当中对于路由的跳数,它是没有限制的,所以 OSPF 协议能用在许多场合,同时也支持更加广泛的网络规模。只要是在组播的网络中,OSPF协议能够支持数十台路由器一起运作。
(2)组播触发式更新:OSPF 协议在收敛完成后,会以触发方式发送拓扑变化的信息给其他路由器,这样就可以减少网络宽带的利用率;同时,可以减小干扰,特别是在使用组播网络结构,对外发出信息时,它对其他设备不构成其他影响
(3)收敛速度快:如果网络结构出现改变,OSPF 协议的系统会以最快的速度发出新的报文,从而使新的拓扑情况很快扩散到整个网络;而且,OSPF 采用周期较短的 HELLO 报文来维护邻居状态。
(4)以开销作为度量值:OSPF 协议在设计时,就考虑到了链路带宽对路由度量值的影响。OSPF 协议是以开销值作为标准,而链路开销和链路带宽,正好形成了反比的关系,带宽越是高,开销就会越小,这样一来,OSPF 选路主要基于带宽因素。
(5)OSPF 协议的设计是为了避免路由环路:在使用最短路径的算法下,收到路由中的链路状态,然后生成路径,这样不会产生环路。
(6)应用广泛:广泛的应用在互联网上,其他会有大量的应用实例。证明这是使用最广泛的IGP 之一。
OSPF简单地说就是两个相邻的路由器通过发报文的形式成为邻居关系,邻居再相互发送链路状态信息形成邻接关系,之后各自根据最短路径算法算出路由,放在OSPF路由表,OSPF路由与其他路由比较后优的加入全局路由表。整个过程使用了五种报文、三个阶段、四张表。
OSPF报文封装在IP报文头部,协议号为89。


更新方式:
OSPF报文类型有5种,每种报文都使用相同的OSPF报文头部。分别是:

注意:DD、LSU、LSR、LSACK。只有LSU携带LSA的详细信息,其他都只是头部信息。



扩展


总结:八种状态,除了Attempt有点特殊,我们作为了解。其他的我们来看一下。首先路由器开启了OSPF之后,最开始处于down状态,然后到2-Way状态这段过程种,路由器都处于邻居的关系中,这个阶段只发送Hello报文。之后三个状态,路由器都处于形成邻接状态的路上。然后到最后Full状态的时候,完成邻接状态。(具体邻居、邻接关系后面还会详细讲到)
概念:OSPF路由器在本AS(自治系统)内的唯一标识(不能重复,重复则一直报错,不能建立邻居关系)。
组成:32个比特,写法与IP地址相同(点分十进制),但是Router ID可以是路由器没有的ID
配置:可手动配置;若不手动配置则自动配置。(通常建议手动配置,以防因为地址改变发生的id改变)
自动配置规则:
在实际情况中,Router ID的变化采取稳定大于一些的原则:在设置好了Router ID之后,再去修改,不生效。
邻居(Neighbor)
概念:相连的路由器,互相知道对方的存在
状态2-Way的时候建立成邻居关系
邻接(Adjacency)
概念:相连的路由器,LSDB进行了同步
只有当双方成功交换DD报文,并同步LSDB后,才形成真正意义上的邻接关系。
LSA(链路状态广播,Link State Advertisement)是链接状态协议使用的一个分组,它包括有关邻居和通道成本的信息,是路由器之间链路状态信息的载体,被路由器接收用于维护它们的路由选择表,也就是说LSDB由一条条LSA构成的。

所有的LSA都有相同的头部,关键字段的含义如下:


OSPF 中划分区域的目的就是在于控制链路状态信息LSA 泛洪的范围、减小链路状态数据库LSDB的大小、改善网络的可扩展性、达到快速地收敛。
当网络中包含多个区域时,OSPF 协议有特殊的规定,即其中必须有一个 Area 0,通常也叫做骨干区域(Backbone Area),当设计 OSPF 网络时,一个很好的方法就是从骨干区域开始,然后再扩展到其他区域。骨干区域在所有其他区域的中心,即所有区域都必须与骨干区域物理或逻辑上相连,这种设计思想的原因是 OSPF 协议要把所有区域的路由信息引入骨干区,然后再依次将路由信息从骨干区域分发到其它区域中。
OSPF 将区域划分为几种类型:


OSPF协议介绍_zzjieee的博客-CSDN博客_ospf协议
OSPF(一)OSPF协议简介_Skye_Zheng的博客-CSDN博客_ospf协议
OSPF(二)DR与BDR选举_Skye_Zheng的博客-CSDN博客_ospf中dr和bdr的选举
OSPF(三)OSPF域内路由_Skye_Zheng的博客-CSDN博客_ospf域内路由
OSPF(四)OSPF域间路由_Skye_Zheng的博客-CSDN博客_ospf域间路由
OSPF(五)OSPF外部路由_Skye_Zheng的博客-CSDN博客_ospf外部路由优先级
OSPF(六)OSPF特殊区域之Stub和Totally Stub区域详解及配置_Skye_Zheng的博客-CSDN博客_stub区域
OSPF(七)OSPF特殊区域之NSSA和Totally NSSA详解及配置_Skye_Zheng的博客-CSDN博客_nssa totally
OSPF(八)OSPF的LSA总结_Skye_Zheng的博客-CSDN博客
OSPF(九)OSPF的其他特性:区域间路由汇总、外部路由汇总、OSPF更新、认证机制_Skye_Zheng的博客-CSDN博客_ospf区域间路由汇总