OSPF 操作概述
OSPF 路由器通过以下通用的链路状态路由过程,创建并维护路由信息,以达到收敛状态。
建立邻居邻接关系
OSPF路由器必须与其邻居建立邻接关系之后才能共享信息。OSPF 路由器从所有启用OSPF的接口发送Hello包,用来确定这些链路上是否有OSPF邻居。如果发现了邻居,OSPF 路由器会尝试与该邻居建立邻接关系。
交换链路状态通告
邻接关系建立后,路由器交换LSA(链路状态通告)。LSA 包含每条直连链路的状态和开销。路由器将LSA 泛洪给邻接的邻居。接收到LSA的邻接邻居立即将LSA泛洪给其他的直连邻居,直到区域中的所有路由器都有相同的LSA为止。
构建拓扑表
收到LSA之后,OSPF路由器会基于收到的LSA构建LSDB(拓扑表)。此数据库中最终会拥有网络拓扑的所有信息。对于区域中所有路由器,LSDB中一定都要有相同的信息。
执行SPF 算法
路由器执行SPF 算法。SPF 算法构建SPF 树。
构建拓扑表
路由器把SPF树中的最优路径放入到路由表中,并基于路由表中的条目作出路由决策。