存在5个类型的数据包:
1)Hello 组播周期发送,用于邻居、邻接关系的发现、建立、周期保活;
在hello包中存在本地已知邻居的RID,用于保活这些邻居; hello time 10s或者 30s
Dead time 为hello time 的4倍;
2)DBD:数据库描述包
3)LSR 链路状态请求
4)LSU 链路状态更新 --携带具体的LSA信息
5)LSack 链路状态确认
状态机
Down 一旦接收到hello包,进入下一个状态机
Init 初始化 接收到的hello包中,若存在本地的RID,进入下一个状态
2way 双向通讯 邻居关系建立的标志
条件匹配:
Exstart 预启动: 使用不携带信息的DBD包进行主从关系选举,RID数值大为主,优先进入下一个状态机;
Exchange准交换:使用DBD进行数据库目录的共享,需要ACK确认;
Loading加载:基于对端的数据库目录,对照本地,然后使用LSR来获取未知的LSA信息;对端使用LSU来共享LSA,需要ACK确认;
Full转发:邻接关系建立的标志
卡在down状态:OSPF没有运行;
卡在init状态:没有收到对方的包;
卡在2-way状态:MA网络没法选举;
卡在exstart状态:MTU不匹配;
卡在exchange状态:包交互有问题,发出DBD后没有收到ACK;
卡在loading状态:LSA加载不完全、包交互有问题;