OSPF協議原理
開放最短路徑優先協議 OSPF(Open Shortest Path First開放式最短路徑優先)是一個內部閘道器協議(Interior Gateway Protocol,簡稱IGP) ,能夠自行建立網路拓撲圖並獨立計算通向每個網路的最短路徑。 一,OSPF協議基本概念 1.鏈路狀態協議介紹 鏈路狀態路由協議是層次式的,網路中的路由器並不向鄰居傳遞‘路由項’ ,而是通告給鄰居一些鏈路狀態。與距離向量路由協議相比,鏈路狀態協議對;對路由的計算方法有本質的差別。距離向量協議是平面式的,所有的路由學習完全依靠鄰居,交換的是路由項。鏈路狀態協議只是通告給鄰居一些鏈路狀態。執行該路由協議的路由器不是簡單地從相鄰的路由器學習路由,而是把路由器分成區域,收集區域的所有路由器的鏈路狀態資訊,根據狀態資訊生成網路拓撲結構,每一個路由器再根據拓撲結構計算出路由。
2.OSPF協議介紹
OSPF是一種典型的鏈路狀態路由協議,採用OSPF路由協議的路由器彼此交換並儲存整個網路的鏈路資訊,從而掌握全網的拓撲結構。並獨立計算路由。生成鏈路庫。
OSPF特點
①區域劃分:允許AS的網路被劃分成區域來管理,區域間傳送的路由資訊被進一步抽象,從而減少了佔用的網路頻寬。
②無自環:OSPF根據收集到的鏈路狀態用最短路徑樹演算法來計算路由,從演算法本身保證了不會生存自環路由。
③快速收斂:在網路的拓撲結構發生變化後立即傳送更新報文,使這一變化在AS中同步。
④試應範圍廣:支援各種規模的網路,最多可支援幾百臺路由器。
⑤路由分級劃分:使用4類不同的路由,按優先順序來說分別是區域內路由,區域間路由,第一類外部路由,第二類外部路由。
⑥支援驗證:支援基於介面的報文認證,以保證報文互動和路由計算的安全性。
⑦支援組播發送:在某些型別的鏈路上可以以組播地址傳送協議報文,減少對其他裝置的干擾。
3.OSPF協議報文交換過程
① 在OSPF網路中,為了交換路由資訊,鄰居裝置之間首先要建立鄰接關係,鄰居關係和鄰接關係是不同的概念。
鄰居關係:OSPF裝置啟動後,會通過OSPF介面向外傳送Hello報文,收到Hello報文的OSPF裝置會檢查報文中所定義的引數,如果雙方一致就會建立鄰居關係,兩端裝置互為鄰居。
鄰接關係:形成鄰居關係後,如果兩端裝置成功交換DD報文和LSA,才建立鄰接關係。
OSPF通過傳送報文型別進行路由學習
Hello報文:週期性傳送,用來發現和維護OSPF鄰居關係。
DD報文:描述本地LSDBD 的摘要資訊,用於兩臺裝置資料庫同步。
LSR報文:用於向對方傳送請求所需的LSA,裝置只有在OSPF鄰居雙方成功交換DD報文後才會向對方傳送LSR報文。
LSU報文:用於向對方傳送請求所需要的LSA。
LSAck報文:用來對收到的LSA進行確認。
② 裝置建立鄰居關係和鄰接關係
Down:OSPF初始狀態。還沒有開始交換資訊。
Init:交換資訊初期。表示已經收到了鄰居的Hello報文,但是報文中沒有列出本路由的RID(Hello報文中NEIGHBOR欄位),也就說對方還沒有收到本路由發出的Hello報文。
Two-Way:雙向階段。雙方都收到了對方的Hello報文,也就說在收到的報文中含有NEIGHBOR欄位,並且為本路由的 Router ID,此時建立了鄰居關係。在多路訪問的網路中,兩個介面狀態是DR Other的路由器之間將停留在此狀態,其他情況將繼續轉入高階狀態。在此狀態下的路由器是不能共享路由資訊的,想要共享路由資訊,必須建立鄰接關係(注意鄰居關係和鄰接關係的區別)。
Exstart:準備開始交換階段。雙方通過Hello報文決定主從關係,最高Router ID的路由將成為主路由,並最先發起交換。主從關係確立後進入下一個階段。(提示:這個階段也是DR和BDR選舉階段,主要是在多路訪問的網路中,減少相互間建立鄰接關係的通訊流量,後面章節會詳細介紹)。
Exchange:開始交換階段。路由器將本地“路由狀態資料庫(LSDB)”用“資料庫描述(DBD)”報文來描述,然後發給鄰路由。如果這個階段中的路由收到不在其資料庫中有關鏈路的資訊,那麼在下一個階段中將通過“鏈路狀態請求(LSR)”報文,來請求對方傳送該路由條目的完成資訊。
Loading:載入階段。路由器通過傳送“鏈路狀態請求(LSR)”報文,來向鄰居請求一些路由條目的詳細資訊。鄰居則會使用“鏈路狀態更新(LSU)”報文來回復LSR請求,收到鄰居返回的LSU後,再返回LSAck向傳送LSU的路由進行確認。
FULL:完全鄰接狀態。Loading結束後,路由器之間就成了“Full Adjacency”狀態。
4.OSPF協議路由器型別
OSPF定義了四種路由器型別,
①內部路由器(IR):所有介面都處於一個OSPF區域;
②區域邊界路由器(ABR):可以同時屬於兩個以上的區域,但其中一個必須是骨幹區域。ABR用來連線骨幹區域和非骨幹區域,她與骨幹區域之間既可以是物理連線,也可以是邏輯上的連結。
③骨幹路由器(BR):該類裝置至少有一個介面屬於骨幹區域所有的ABR和位於Area0的內部裝置都是骨幹路由器。
④自治系統邊界路由器(ASBR),與其他AS交換路由資訊的裝置稱為ASBR,ASBR並不一定位於AS的邊界,它可能是區域內裝置,也可能是ABR。只要一臺OSPF裝置引入外部路由的資訊,它就成為ASBR. 可以認為是OSPF外部的通訊進入區域的閘道器路由器。
5.OSPF協議網路型別
OSPF根據物理鏈路的型別,定義了幾種網路型別。在每種網路型別中,OSPF的鄰居建立方式、配置命令有所不同。下面簡單介紹一下這些網路型別。
①點到點網路:即Point-to-point(P2P)型網路,是指該介面通過點到點的方式與一臺路由器相連。此型別網路不需要進行OSPF的DR、BDR選舉。
當鏈路層協議是PPP或HDLC時,OSPF預設認為網路型別是P2P。在此型別的網路中,OSPF以組播方式(224.0.0.5)傳送協議報文。
②廣播型多路訪問網路:即Broadcast型網路,網路本身支援廣播功能。當鏈路層協議是Ethernet、FDDI時,OSPF預設認為網路型別是廣播型。此型別網路需要進行OSPF的DR、BDR選舉。在該型別的網路中,OSPF通常以組播方式(224.0.0.5和224.0.0.6)傳送協議報文。
③非廣播型多路訪問網路:即NBMA(Non-Broadcast Multiple Access)型網路,雖然從一個介面可以到達多個目的節點,但是網路本身不支援廣播功能,當鏈路層協議是幀中繼、ATM或X.25時,OSPF預設認為網路型別是NBMA。此時OSPF的鄰居需要管理員手工指定。在該型別的網路中,以單播方式傳送協議報文。
④點到多點網路:即Point-to-multipoint(P2MP)型網路,是指該介面通過點到多點的網路與多臺路由器相連。
P2MP型網路比較特殊,沒有一種鏈路層協議會被預設地認為是點到多點型別。點到多點必須是由其他網路型別強制更改而來。常用做法是將NBMA改為點到多點的網路。在該型別的網路中,預設情況下以組播方式(224.0.0.5)傳送協議報文,也可以根據使用者需要,以單播形式傳送協議報文。
6.DR/BDR的作用
①減少鄰居關係的數量,從而減少鏈路狀態資訊和路由資訊的次數。Drother只與DR/BDR建立完全鄰接關係。DR與BDR之間建立完全鄰接關係。
DR產生網路LSA來描述NBMA網段或者廣播網段資訊。
②DR/BDR選舉規則
DR/BDR由OSPF的Hello協議選舉,選舉是根據埠的路由器優先順序(Router Priority)進行的。
如果Router Priority被設定為0,那麼該路由器將不允許被選舉成DR或者BDR。
Router Priority越大越優先。如果相同,Router ID大者優先。
DR/BDR不能搶佔。
如果當前DR故障,當前BDR自動成為新的DR,網路中重新選舉BDR;如果當前BDR故障,則DR不變,重新選舉BDR。
7.OSPF協議路由擴充套件特性
①路由器的驗證方式
OSPF支援報文驗證功能,只有通過驗證的OSPF報文才能被接收,否則將不能正常建立鄰居。路由器支援兩種驗證方式,區域驗證方式和介面驗證方式。當兩種驗證方式都存在時,優先使用介面驗證方式。
②路由聚合
路由聚合是指ABR可以將具有相同字首的路由資訊聚合到一起,只發布一條路由到其他區域。區域間通過路由聚合,可以減少路由資訊,從而減少路由表的規模,提高裝置的效能。
③虛連線
虛連線是指在兩臺ABR之間通過一個非骨幹區域建立的一條邏輯上的通道,是非骨幹區域邏輯上與骨幹區域相連。為虛連線兩段提供一條非骨幹區域內部路由的區域稱為傳輸區域,傳輸區域不能是末節。