OSPF路由協議的相關定義
OSPF這個協議相信學習組網的朋友都不是很陌生。那么為了能讓大家明確這個協議的定義我們在此再來鞏固一下OSPF路由協議的知識。OSPF(Open Short Path First)最優路徑算法路由協議。OSPF路由協議的Distance值為110,它擁有一個Metric值,此值是OSPF路由協議用來衡量鏈路好壞的,當一條鏈路的Metric值越小,則證明此條鏈路越好,反之此條鏈路越差。
路由協議按數據傳輸方式分,分為有類(Classfull)和無類(Classless)兩種,有類路由協議是指傳輸可達性路由信息(NLRI)時不帶子網掩碼;無類路由協議是指傳輸可達性路由信息(NLRI)時帶子網掩碼。路由協議按數據傳輸類型分,分為距離向量(Distance Vector)和鏈路狀態(Link State)兩種,距離向量(DV)路由協議沒有路由器ID(Router-ID),并且只傳遞可達性路由信息(NLRI);鏈路狀態(LS)路由協議限制每一臺路由器必須要有一個未被使用過的路由器ID(Router-ID),而且它無條件轉發任何從鄰居傳來的可達性路由信息(NLRI)。
距離向量路由協議:
此時,假如RouterA后面有一個1.0網段,RouterB后面有一個2.0網段,RouterA告訴RouterB通過我(RouterA)可以到達1.0網段,RouterB告訴RouterC通過我(RouterB)可以到達1.0網段,此時,RouterA到達1.0網段的路斷了,那么,他會查找它的鄰居RouterB,而此時RouterC也要到1.0網段,他也會去查找它的鄰居RouterB,這時RouterB的路由表里有1.0網段的路由,RouterA和RouterC都會將數據發到RouterB,可是,RouterB到不了1.0網段,這樣就形成了路由環路。各種距離向量路由協議都有它自己解決路由環路的方法,在此暫不討論。
鏈路狀態路由協議:
在這里,我們用上面的例子繼續討論OSPF路由協議,因為在之前我曾提到過鏈路狀態路由協議無條件轉發任何從鄰居傳來的可達性路由信息(NLRI),所以,RouterA告訴RouterB我(RouterA)可以到達1.0網段后,RouterB將告訴RouterC從RouterA那里可到達1.0網段,RouterC將一個數據包發往1.0網段時,會查找路由表,得知從RouterA那里可以到達1.0網段,此時RouterC查找鄰居表,得知到RouterA那里要經過RouterB,這樣,數據包就可以從RouterC發到1.0網段。當RouterA到達1.0網段的路斷了,那么,因為RouterB和RouterC的路由表中都是知道通過RouterA才能到達1.0網段,所以,此時就不會出現路由環路。
鏈路狀態路由協議有四種網絡結構:
1、有廣播多層訪問(Broadcast Multi Access):
Hello包間隔:10秒;Down判定40秒。每10秒發一次Hello包,當40秒還未收到回應時認為路由器Down掉。
2、無廣播多層訪問(None Broadcast Multi Access):
Hello包間隔:30秒;Down判定120秒。每30秒發一次Hello包,當120秒還未收到回應時認為路由器Down掉。
3、點對點(Point-toPoint):
Hello包間隔:10秒;Down判定40秒。每10秒發一次Hello包,當40秒還未收到回應時認為路由器Down掉。
4、點對多點(Point-to-Multi Point):
Hello包間隔:30秒;Down判定120秒。每30秒發一次Hello包,當120秒還未收到回應時認為路由器Down掉。
OSPF路由協議號:89。
OSPF協議要想連通,需要經歷兩個階段,第一個階段是建立鄰居關系,第二個階段是建立鄰接關系。
OSPF有三個表,他們分別是鄰居表(Neighbor Table),它的作用是幫助路由器找鄰居;第二個表是鏈路狀態數據庫(Link State Database,LSDB),它的作用是幫助路由器找到最優路徑;第三個表是路由表(Route Table),它的作用是存放最優路徑。
運行OSPF路由協議的網絡需要一臺路由器專門進行計算路由,這臺路由器在OSPF路由協議的域內叫做DR(Design Router),在OSPF域內,還有一臺備用的DR叫做BDR,OSPF路由協議會自動選擇DR和BDR。首先,路由器先比優先級(Priority),優先級高的就成為DR,次高的為BDR,優先級為0的為DROther,不能成為DR和BDR,DROther與DROther之間只能到達Two-Way關系。如果,優先級相同,那么就比較路由器ID(Router-ID),路由器ID大的為DR,次大的為BDR。