王娜
(西安郵電大學,西安710121)
OSPF即開放最短路徑優先協議,它是IETF開發的一個基于鏈路狀態算法的自治系統內部路由協議。鏈路狀態路由選擇協議的每臺路由器與它的相鄰路由器之間建立鄰接關系,并向它的鄰居發送鏈路狀態通告(LSA)[1][2]。每臺路由器在數據庫中保存一份收到的LSA備份,構成鏈路狀態數據庫。路由器使用Dijkstra算法對相同的拓撲數據庫進行計算,得出最優路徑。OSPF協議具有支持大規模網絡、網絡收斂速度快、無自環、支持可變長子網掩碼、支持多區域劃分、支持路由驗證等特點[3][4]。
為了解決大規模網絡內部的拓撲頻繁變化導致LSA通告過多,OSPF路由長時間無法收斂等問題,通常將大型的OSPF網絡分隔為多個較小的、可管理的區域(area)。在區域邊界可以進行路由匯總,減小了路由器維護的路由表,減少了LSA泛洪的范圍,有效地把拓撲變化產生的影響控制在區域內,提高了網絡的穩定性[5]。劃分區域后的OSPF網絡,包括骨干區域、標準區域、Stub區域、完全Stub區域、NSSA區域和完全NSSA區域。區域之間不能直接交換路由信息,區域間的路由交換必須通過Area 0,即OSPF的骨干區域進行。其它區域必須和骨干區域Area 0直接連接[6]。
仿真基于GNS3,路由器平臺為CISCO3640,IOS文件為c3640-js-mz.122-13b.image,模擬三個區域的OSPF網絡,分別為區域0、區域1和區域2,area0與area1通過R3相連,area0與area2通過R2相連,網絡拓撲如圖1所示。

圖1 多區域OSPF網絡拓撲圖
OSPF路由器的鏈路狀態數據庫同步后,運行SPF算法來計算到達目的的最佳路由。通常在OSPF的路由表中會看到直連路由、區域內部路由、區域間路由以及外部路由等[9]。在R1上使用sh ip rout可以看到如下信息:

R1是區域0的區域內部路由器,可以看到R1的路由表包含了兩條直連路由192.168.1.0和192.168.2.0,這是因為這兩個網絡是R1有物理接口直接相連的網絡。R1的路由表還包含了三條OSPF區域間路由192.168.4.0、192.168.5.0和192.168.3.0,這三個目的網絡分別位于不同的區域,因此需要區域間路由來實現數據包的轉發。
在R4上做4個環回接口地址分別為172.16.0.1/24~172.16.3.1/24,并通過OSPF發布相關網絡的鏈路狀態信息,在R1上顯示路由表可以看到多了四條區域間路由:


在區域邊界路由器R3上使用路由匯總:R3(configrouter)#area 1 range 172.16.0.0 255.255.252.0,此時,在 R1上顯示路由表可以看到4條區域間路由匯總為一條路由,顯著減少了路由表條目。

從上述仿真結果分析可以看出,將OSPF網絡劃分成多個區域后,區域內部路由器可以只維護本區域的鏈路狀態數據庫。當OSPF網絡內部有大量節點時,可以在區域邊界進行適當的路由匯總,或者適當的使用末節區域,一方面可以使本區域的鏈路狀態變化不會影響到其它區域,另一方面可以顯著減小OSPF路由器維護的路由表的大小[10]。
[1]黃向農,曾毅夫,譚永欣.關于OSPF路由優化技術的探討[J].實驗技術與管理,2012,29(2):104-108.
[2]王中武,李大雙,胡薇.OSPF向移動Ad Hoc網絡擴展的一種新方法[J].通信技術,2013,46(2):35-38.
[3]蔡步凱,曹敏,戴錦友,楊萍.OSPF協議在多主控系統中的同步設計探究[J].網絡與信息工程,2014,1:97-99.
[4]孔令晶,曾華燊,李耀.等級OSPF網的安全保護方案[J].計算機應用,2013,33(8):2212-2217.
[5]楊思杰,徐明偉,王文東.基于OSPF的保護隧道實現研究[J].微計算機應用,2011,32(1):1-8.
[6]徐國天.基于OSPF路由欺騙的“黑洞”攻擊及防御措施研究[J].信息網絡安全,2012,11:10-12.
[7]余正紅,鐘偉,楊華勇.基于擴展的OSPF新型光傳輸設備的設計和實現[J].光通信技術,2013,9:32-34.
[8]楊子江,張興明,張建輝.利用區域劃分算法降低OSPF路由表計算開銷[J].微計算機信息,2005,21(9):92-94.
[9]商榮亮,張曉哲,酈蘇丹.面向IP快速路徑切換的OSPF冗余路徑算法[J].計算機技術與發展,2011,21(6):1-8.
[10]馬世佳,董平,張宏科.一體化標識網絡下OSPF路由協議的實現[J].計算機技術與發展,2012,22(11):22-26.