PART.01 RIP為啥“過氣”?
如果想好好說說OSPF,那就不得不從最“古老”的路由協議之一—RIP(Routing Information Protocol,路由信息協議)開始講起。
RIP最突出的特性是使用跳數(報文經過路由器的個數)作為路由好壞的度量:跳數最小即認為該路由最優。
隨著網絡的發展,鏈路(設備之間的傳輸通道)的種類和特性不斷升級變化,僅僅考慮跳數已經不能客觀反映路由的優劣了。
例如到達同一個目的地,有兩條路徑:A→B,A→C→D→B。
雖然A→B路徑最短,但是實際應用的時候并不合適,以網絡帶寬和鏈路狀態來衡量網絡質量會更加合理,比如在上圖中采用帶寬更大的A→C→D→B路徑效果更好。
同時,RIP限制最大跳數為15,跳數16就變成了RIP路由協議“不可到達的遠方”~因此RIP無法用于搭建大規模的網絡。
RIP“過氣”不只因為可擴展性差,還有收斂速度慢、易產生環路的缺點,但是在這里就不過多介紹啦~
PART.02 OSPF是如何計算路由的?
接下來,就要隆重介紹下動態路由協議中的當紅炸子雞—OSPF(Open Shortest Path First,開放最短路徑優先)啦!
與RIP不同,OSPF是一種鏈路狀態路由協議,它可以收集路由器周邊的拓撲變化,并形成一個靠譜的路由結構。
如果說RIP提供的是路標,只告訴你下一步該怎么走,轉來轉去還是容易迷路(產生環路)。那么OSPF提供的就是地圖了,每個運行OSPF協議的路由器上都有一張完整的網絡圖。地圖在手,迷路不再有!
OSPF的花費(cost)可以是路由距離、鏈路的吞吐量或鏈路的可靠性,這種路由度量相比于RIP協議的跳數更加靈活和準確,并且適用于更大更復雜的網絡。
以下圖所示的網絡為例,說明OSPF計算出路由的過程。
下圖是由四臺路由器組成的網絡,連線旁邊標注了從一臺路由器到另一臺路由器所需要的花費(cost)。為簡化問題,我們假定同一鏈路連接的兩臺路由器之間互相發送報文所需花費是相同的。
首先,每臺路由器都根據自己周圍的網絡拓撲結構生成一條LSA(鏈路狀態廣播),并通過相互之間發送OSPF協議報文將這條LSA發送給網絡中其他所有的路由器。這樣每臺路由器都收到了其他路由器的LSA。將所有的LSA放在一起稱作LSDB(鏈路狀態數據庫)。顯然,這四臺路由器的LSDB都是相同的。
其次,由于一條LSA是對一臺路由器周圍網絡拓撲結構的描述,那么LSDB則是對整個網絡拓撲結構的描述。路由器將LSDB轉換成一張矢量權重圖,這張圖便是對整個網絡拓撲結構的真實反映。那么,這四臺路由器得到的是一張完全相同的圖。
最后也是最重要的是,每臺路由器都會以自己為根節點,使用最短路徑優先(SPF)算法計算出一顆最短路徑樹(選擇cost值最小的那條路徑),通過最短路徑樹生成到網絡中其他路由器的最短路由,形成路由表。這4臺路由器各自得到的路由表是不同的。
從上面的分析可以得出,OSPF協議計算出路由主要有以下3個主要步驟。
描述本路由器周邊的網絡拓撲結構,并生成LSA。
將自己生成的LSA在自治系統里傳播,并同時收集所有的其他路由器生成的LSA。
根據收集的所有LSA計算出路由。
OSPF計算路由的方法就是這么簡單~~
那為什么說OSPF更適合大型網絡呢?
PART.04 OSPF如何適應大型網絡的?
我們一起來看看OSPF適應大型網絡有哪些高招!
回想我們上學的時候,老師是怎么管理一個班的學生呢?
文檔君替你回答:當然是分小組、選組長啦!
分小組:劃分網絡區域
OSPF應用于大型網絡時,比如網絡中可能有幾十臺或者上百臺路由器。
當這些路由器運行OSPF協議,并傳遞、收集LSA時,網絡中會充斥著這些協議報文,這樣的LSDB容量會很大,運行SPF算法會很慢,不利于路由的正常計算和轉發。
OSPF中通過設置區域來解決這個問題。如圖所示,將一個大型網絡分割成若干個小網絡,每個小網絡稱為一個區域(Area),用一個數字來對區域編號。其中,區域0稱為骨干區域,其他非0編號的區域稱之為非骨干區域,并規定非骨干區域必須和骨干區域相連。
經過這樣的處理后,OSPF有以下優點。
只有同一區域內路由器的LSDB會保持同步,路由的變化首先在本區域內更新。
路由更新信息在傳遞給別的區域時,可在區域邊界路由器(ABR)上進行路由聚合,以減少通告到其他區域的LSA數量,可將網絡拓撲變化帶來的影響最小化。
這樣可以很好地解決路由計算和轉發速度慢的問題。當然,在實際組網應用時,OSPF還根據不同的區域特點,定義了很多計算路由的優化方法,這里就不一一展開描述了。
我們知道在OSPF協議中要求每個區域與骨干區域(Area 0)必須直接相連,但是實際組網中,網絡情況非常復雜,有時候在劃分區域時,無法保證每個區域都滿足這個要求。這時候就需要虛鏈接技術來解決這個問題。
虛鏈接是指在兩臺ABR之間,穿過一個非骨干區域(也稱為轉換區域,Transit Area),建立的一條邏輯上的連接通道(需在兩端的ABR上同時配置)。
如上圖所示,在路由器C和路由器E之間建立了一條虛鏈接,使Area3和骨干區域Area0之間有了邏輯連接,Area1為轉換區域。 “邏輯通道”是指兩臺ABR之間的其他運行OSPF的路由器只是轉發報文,相當于在兩個ABR之間形成了一個點到點的連接,因此在這個連接上,與物理口一樣可以配置接口的各類參數。
選組長:OSPF選舉
在廣播和NBMA(Non-Broadcast Multiple Access,非廣播多路訪問)類型的網絡上,任意兩臺路由器都需要傳遞路由信息。如果網絡中有N臺路由器,那么則要建立“N×(N-1)/2”次的傳遞。這是沒有必要的,而且浪費了寶貴的帶寬資源。
為了解決這個問題,OSPF協議指定一臺路由器作為“組長”——DR(Designated Router,指定路由器)來負責傳遞信息。所有的路由器都只將路由信息發送給DR,再由DR將路由信息發送給本網段內的其他路由器。
兩臺不是DR的路由器(DR Other)之間不再建立鄰接關系,也不再交換任何路由信息。這樣在同一個網段之間只需要建立N-1個鄰接關系,每次路由變化只需要進行2×(N-1)次的傳遞即可。
選組長的方法雖然非常有效,但是萬一組長不在,整個組的同學誰來負責管理呢?
所以OSPF也定義了“副組長”—BDR(Backup Designate Router,備用指定路由器)。
BDR是DR的一個備份。在選舉DR的同時也選舉出BDR,BDR也和本網段內的所有路由器建立鄰接關系并交換路由信息。
一旦DR失效,BDR會立即變成DR。由于不需要重新選舉,而且鄰接關系事先已經建立,所以BDR替代DR的過程非常短暫。BDR成功“上位”為DR后,還需要再重新選舉出一個新的BDR,但是這個選舉過程不會影響路由的計算。
通過前面對OSPF的介紹,不知道粉絲們是否有所收獲呢?
審核編輯:劉清
-
路由器
+關注
關注
22文章
3744瀏覽量
114470 -
OSPF
+關注
關注
0文章
80瀏覽量
14917 -
ABR
+關注
關注
1文章
11瀏覽量
9705 -
RIP協議
+關注
關注
0文章
5瀏覽量
1085
原文標題:誰懂啊!OSPF路由協議看這篇就夠了!
文章出處:【微信號:ztedoc,微信公眾號:中興文檔】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論