ospf工作原理
每个路由器回周期性的向相邻路由器发送探测报文(Hello报文),检测其是否可达。如果邻站给予应答,说明链路正常;否则说明链路出现故障。
如果一个路由器检测到某条链路状态协议发生变化,该路由器就发送链路状态更新报文,采用泛洪操作对全网更新链路状态。
泛洪指某个路由器收到更新报文后都将这个报文发送给自己的相邻路由器,直到报文送到整个网络\n即使链路状态没有发生变化,每隔 30min 路由器要向网络中的其他路由器广播链路状态信息,以保证链路状态数据库和全网保持一致。
每个路由器收到其他路由器的链路状态信息后,更新链路状态数据库,构建整个网络的拓扑图,利用 Dijkstra 的最短路径算法计算出到达每个网络的最短路径(就是路由表中的内容)。
邻居发现:路由器之间通过运行OSPF互相发现邻居关系。在运行OSPF时,每一台路由器都会有一个Router-ID来唯一标识,路由器之间会互相发送Hello报文来发现邻居,并形成邻居关系。信息交换:在邻居之间交换设备上的各项信息,例如IP地址、路由的网络号、接口的开销信息等,以达到信息更新和同步。这个过程包括主/从关系协商、DD报文和LSA信息的交换等步骤,最终完成链路状态数据库的同步。
路由计算:路由器根据链路状态数据库中的信息,使用SPF算法计算最短路径树,找到到达目标网络的最短路径,并将得到的最优路径放入到路由表中