一、OSPF 消息数据包
- Hello : 为建立邻居进而建立邻接关系提供保障(维持邻居关系)数据非常小
周期10s 死亡40s - DBD : 数据库描述,发送LSA 目录
- LSR : 链路状态请求,请求某些LSA信息
- LSU : 链路状态更新,发送LSA信息
- LSACK : 链路状态确认,进行确认
二、OSPF状态机
如图,在R1 R2之间运行OSPF协议,首先激活R1 与R2之间的接口,接口一激活将周期性的发送Hello报文,周期时间10s或30s,发送的周期间隔与接口封装无关,主要与OSPF接口网络类型(工作模式)有关。
只要接口一旦发送Hello报文,接口将进入第一个正常状态Init初始化状态,Hello报文包含很多信息,其中有Router ID(路由器标识符,确保本路由器在OSPF中的唯一性),R1发送包含自己Router ID的Hello 报文,对端R2收到后开始检测收到的Hello报文中所包含的信息与自己的OSPF信息是否匹配,检测成功后R2也将发送Hello报文(因为接口一激活就会发送Hello报文,所以检测不成功也会发送Hello报文),R2同意接受R1 发来Hello包中的条件信息,则在Hello包中加入R1与R2的Router ID (R1的Router ID是以Active neighbor 的形式写入)。
此时R2进入Init 状态,R1收到的Hello报文包含R2的Router ID 还包含了自己的Router ID,路由器检测到Hello包中含有自己的Router ID时,将立刻从Init转为Two-way 双向通信状态(邻居关系建立)。
R1再次给R2发送Hello包,包含了R2与R1的Router ID,R2收到后检测到Hel