目录
一、OSPF是开放式的最短路径优先协议
二、OSPF采用的算法
三、OSPF协议基本原理
1.建立邻居关系
2.条件匹配
3.建立邻接关系
4.完成收敛
四、OSPF的数据包
1.Hello包
2.DBD包
3.LSR包
4.LSU包
5.LSACK包
五、OSPF的状态机
一、OSPF是开放式的最短路径优先协议
是一种链路状态路由协议。通过收发拓扑信 息(LSA),然后根据特定算法计算得出路由条目。
目前针对IPv4协议使用的是OSPF Version 2。OSPF直接工作在IP层之上,IP协议号89,OSPF以组播方式发送协议包.
二、OSPF采用的算法
spf算法:是以自身为根节点计算出一棵最短路径树,在这棵树上由根到各节点的累计开销最小
即由根到各节点的路径在整个网络中都是最优的,这样也就获得了由根去往各个节点的路由。
ospf引入router id概念,ospf区域内的每台路由器的行为都能很好的被跟踪。
三、OSPF协议基本原理
1.建立邻居关系
启动配置完成后,OPSF将向本地所有运行了OSPF协议的接口,以组播224.0.0.5周期性的发送hello包,hello包中将携带自己本地的RID,邻居接收到这些信息会将信息存储在邻居表。
2.条件匹配
DR—指定路由器——在一个广播域内和其他所以的路由器都必须建立邻接关系。
BDR—备份指定路由器——在一个广播域内和其他所以的路由器都必须建 立邻接关系。为了第一时间当DR故障,从而顶替DR行使相应的功能。
DRother—其他路由器
Priority: 为了选出DR和BDR,比较优先级的数值,数值越大的成为 DR。默认情况下数值为1(若数值为零则相当于放弃选举)
在TWO-WAY状态下会进行条件匹配
1.先比较参选接口的优先级0-255数值大优先,为0表示放弃选举。
2.若优先级相同,比较参选设备的RID值,数值大的优先。
3.DR选举是非抢占的。
3.建立邻接关系
在主从设备选举完成之后,由主设备优先共享自己的数据库摘要信息。同时也由主设备优先共享自己的LSA信息,之后使用LSR/LSU/LSACK获取本地未知的LSA信息,完成本地LSDB数据库的建立,形成本地链路数据库表。
4.完成收敛
基于自己本地的链路状态数据库,依靠OSPF算法形成有向图,最终计算得出路由,加载到自己本地的路由表中。 收敛完成后,将使用hello包周期保活,每30min进行周期更新。
四、OSPF的数据包
1.Hello包
用来周期性的发现建立和保活邻居关系。(每10s一个hello包)。
2.DBD包
链路数据库描述包,用来发送链路数据库摘要
3.LSR包
再经过对比过链路数据库摘要后,请求自己没有的链路信息,即一条条LSA信息
4.LSU包
链路状态更新包。其中携带着一条条LSA信息
5.LSACK包
确认收到LSA信息。
五、OSPF的状态机
1.Down 状态机
服务处于关闭状态
2.init 状态机
初始状态,发送hello包后进入two-way状态
3.Two-Way 状态机
双向通信状态,在收到包含自己信息的hello包后,建立邻居关系,同时进行条件匹配,若匹配成功则进入下一状态,若匹配失败,则保持Two-Way状态,每10s发送一次hello包,维持邻居关系。
4.Exstart 状态
预启动状态,发送假DBD包(不携带数据)进行主从选举,主设备优先进入下一个状态。
5.Exchange 状态
预交换状态,主从选举完成,发送携带LSA摘要信息的DBD包时进入该状态。
6. Loading 状态
发送LSR用来请求自己没有的链路状态信息,并且回复LSU。
7.Full 状态
表示以及收敛完成。