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進程中,這樣做的目的是:主要是出於網絡路由備份的考慮,使在某一個進程下的網絡不通時,對應的路由接口所連接的網絡仍然可以通過其它進程在網絡中進行通信。