3.3.3 OSPF路由计算基本过程
OSPF设备间建立了完全邻接关系后开始计算路由。
1、OSPF域内路由计算
当网络稳定下来后,根据各自的LSDB采用SPF算法(具体涮发为Dijkstra)独立地计算到达每一个目的网络的路径,并将路径装表。路由表中包含此路由器到每一个可达目的地址、开销和下一跳。域内路由是内部路由器使用最小开销的路径到达目的网络,且域内路由不被聚合。
Dijkstra算法是利用开销计算路由路径性能,开销最小者为最短路径,并装表。开销越小,则链路被选为路由的可能越大。开销是根据链路类型来计算的,不通的链路类型对应的开销值不一样。
2、OSPF域间路由计算
ABR保存了多个区域的LSDB。但是ABR与直连域内路由器及其它域内路由器的通信都是采用聚合路由进行的。
ABR上以Type3 LSA(网络聚合LSA)的方式向域内及域外通告所连区域的网络聚合路由。区域内路由器与ABR及ABR与其他区域的通信都是以网络聚合路由进行的。注意,两个非骨干区之间不能直接进行LSA通告及路由通信,必须借助骨干区域进行转发。 OSPF域间的路由按照以下过程进行:
A、在原区域内部的路由器按照到达最近ABR的开销最小的网络聚合路由进行通信
B、骨干区域按照到达连接到包含目的IP地址所在区域最近ABR的开销最小的网络聚合路由进行通信。
C、包含目的主机IP地址的ABR按照到达目的IP地址开销最小网络聚合路由进行通信。
3、OSPF路由维护
当链路状态发生变化时,OSPF通过泛洪过程广播给网络上的其他路由器。路由器接收到包含有最新信息的链路状态更新报文,将更新自己的链路状态数据库,然后用SPF算法重新计算路由表。在重新计算过程中,路由器继续使用旧路由表,直到SPF完成新的路由表计算。新的链路状态信息将发送给其他路由器。注意:即使链路状态没有发生改变,OSPF路由信息也会自动更新,默认30min
3.3.4 理解OSPF进程
1、不同进程之间不相互交换路由信息,缺省是不通信的。不同进程的路由是可以引入的。
2、路由进程仅对本地路由器有意义,相连路由器的进程可以不同。
3、同一个网络可以配置多个OSPF进程中,这样做的目的是:主要是出于网络路由备份的考虑,使在某一个进程下的网络不通时,对应的路由接口所连接的网络仍然可以通过其它进程在网络中进行通信。