OSPF的建立过程
1、三张表
1)邻居表:存放邻居的相关信息
当发送的hello报文被对方发现并确认之后,则将其加入到邻居表中
条件:地址以及掩码要一致、hello time、dead time要一致、区域要一样、认证类型要一样、特殊区域要一样
这个时候邻居关系为two-way状态
设备通过了hello报文的交互,但可能并未开始交互LSA信息,只有当邻居之间交换LSA信息之后,邻居关系才为full状态
2)拓扑表:存放每台设备对整个拓扑的认知(称为链路状态数据库--LSDB)
3)路由表:存放从拓扑表中通过SPF计算出来的最优路径
2、OSPF的状态机,OSPF状态机有哪些稳定状态
①down:没有收到其他的hello报文 稳定
②init:初始化状态(单向通信)
接口刚启用OSPF,往组播224.0.0.5发送hello报文,接收到邻居发送的hello报文,但邻居并未收到自己发送的hello报文
③two-way:邻居状态(双向通信)稳定
在组播地址中收到邻居发送的hello报文并且对方已经添加了自己网段RID的hello报文(即邻居之间均收到对方发送的hello报文),这时候进行DR/BDR的选举
④exstart:预启动状态
选举主从关系为了确定在exchange状态有序发送DBD报文
(若两端的MTU不一致会卡在这个状态)
⑤exchange:交换状态
互相交换机DBD(数据库摘要信息),建立各自的拓扑表
⑥loading:加载状态
请求对方的LSA全部信息,交互LSR、LSU、LSAck
⑦full:邻接状态 稳定
建立邻居关系,达到LSDB同步
⑧attempt(特殊):尝试状态
只有可能出现非广播多路访问环境中,想要建立OSPF的邻居关系,但不知道发数据包发给谁