OSPF-开放最短路径优先协议,路由信息传递与路由计算分离,基于SPF(Dijkstra)算法,以累计链路开销作为选路参考值。
工作方式:
OSPF路由器之间相互通告LSA,每台路由器收集自己所在区域的LSA放入LSDB,基于LSDB,使用SPF算法生成路由表。(生成一颗以自己为根到达区域内各个网络节点无环的最短路径树)
OSPF报文
1.统一头部
①. 版本
②. 类型
③. 报文长度
④. Router-ID
⑤. Area-ID
⑥. 校验和
⑦. 认证类型
⑧. 认证数据
版本不一致、Router-ID重复、直连链路区域ID不一致、认证不通过将导致
邻居关系无法建立

2.Hello报文---发现、建立、维护邻居关系
①. 接口掩码
②. hello间隔
③. 可选项
④. DR优先级
⑤. dead时间
⑥. DR-ip
⑦. BDR-ip
⑧. 邻居
MA网络接口掩码、hello和dead时间、区域类型不一致导致无法建立邻居关系

3.DD报文
用于协商主从关系(Master、Slave),描述LSDB(LSA头部信息)
使用一个不包含任何LSA信息的DD报文来协商主从(Router-ID大的为主)
从路由器发送的DD序列要和主路由器发送的DD序列号一致
主->111-从 从->111-主 主->112-从 …直到LSDB全部描述完毕
①. MTU--缺省时该接口发送的DD报文中,该值为0
②. 可选项
③. I--协商主从时该值为1,协商完成后为0
④. M--1表示后面还有DD报文、0表示这是最后一个
⑤. MS--主路由器置为1、从路由器置为0
⑥. DD序列号-交互过程序列号逐次+1(确保交互有序且可靠)
⑦. LSA头部
MTU不一致邻居状态将卡在exstart状态,即无法协商主从

4.LSR报文
交互完DD报文后开始发送LSR请求所需要LSA的完整数据
①. 链路状态类型--指本条LSA的类型
②. 链路状态标识--不同类型LSA对该字段定义不同
③. 通告路由器--产生该LSA的路由器的Router-ID

5.LSU报文
收到邻居的LSR会以LSU回应,在感知到网络发生变化,也会泛洪LSU
DRother用224.0.0.6发送LSU报文
①. LSA个数
②. LSA

6.LSAck报文
对邻居发送过来的LSU中的LSA进行确认。
LSAck报文包含路由器所确认的LSA的头部(每个头部20Byte)
①. LSA头部