前言算法
上一章介紹了RIP動態路由協議,知道了RIP是基於距離矢量的路由協議。知識卡片|最全RIP動態路由協議技術詳解。數據庫
從今天開始咱們介紹下另外一個動態路由協議——OSPF。開放式最短路徑優先OSPF(Open Shortest Path First)協議是IETF定義的一種基於鏈路狀態的內部網關路由協議。網絡
爲何會出現OSPF?:由於RIP是一種基於距離矢量算法的路由協議,存在着ide
收斂慢;設計
易產生路由環路;blog
可擴展性差,最大隻能支持15跳。接口
OSPF的出現很好地解決了上述3個問題,那麼OSPF是如何解決上述3個問題的呢?咱們一塊兒來看下。路由
正文it
1 OSPF是如何保證無路由環路的?class
OSPF是一種基於鏈路狀態的路由協議,它從設計上就保證了無路由環路。
那麼什麼是鏈路狀態協議?
若是說距離矢量路由協議提供的是路標,那麼鏈路狀態路由協議提供的就是地圖。每一個運行鏈路狀態協議的路由器上都有一張完整的網絡圖。
就比如你有一張地圖怎麼還會迷路?運行鏈路狀態協議的每一臺路由器都會有一張地圖庫從而避免了環路。
鏈路狀態協議工做原理:
每臺運行鏈路狀態路由協議的路由器都瞭解整個網絡的鏈路狀態信息(地圖),這樣才能計算出到達目的地的最優路徑。
一、LSA泛洪:
運行鏈路狀態路由協議的路由器都會進行鏈路狀態公告LSA (Link State Advertisement)泛洪,LSA中包含了路由器已知的接口狀態、接口IP地址、掩碼、開銷和網絡類型等信息。
通俗點講就是每臺路由器都會將一些關於本身,關於本地直連鏈路以及這些鏈路的狀態和關於全部直連鄰居的信息傳送給相鄰的其餘路由器。
二、創建LSDB:
收到LSA的路由器均可以根據LSA提供的信息創建本身的鏈路狀態數據庫LSDB(Link State Database)。
通俗點講就是每臺路由器都會收到網絡中其餘的路由器發送過來的LSA信息,這些全部的LSA信息構成了LSDB。這裏須要注意的是當網絡穩定後,網絡中的全部設備應該是有相同的LSDB的。
三、創建最短路徑樹:
運行OSPF協議的路由器在LSDB的基礎上使用SPF算法進行運算,創建起到達每一個網絡的最短路徑樹。
四、路由計算:
經過最短路徑樹得出到達目的網絡的最優路由,並將其加入到IP路由表中。
常見的鏈路狀態協議有:
OSPF:開放式最短路徑優先協議
IS-IS:中間系統到中間系統協議
OSPF支持區域的劃分,區域內部的路由器使用SPF最短路徑算法保證了區域內部的無環路
爲何劃分區域?
劃分OSPF區域能夠縮小路由器的LSDB規模,減小網絡流量。
區域內的詳細拓撲信息不向其餘區域發送,區域間傳遞的是抽象的路由信息,而不是詳細的描述拓撲結構的鏈路狀態信息。
每一個區域都有本身的LSDB,不一樣區域的LSDB是不一樣的。路由器會爲每個本身所鏈接到的區域維護一個單獨的LSDB。因爲詳細鏈路狀態信息不會被髮布到區域之外,所以LSDB的規模大大縮小了。
OSPF是如何劃分區域的呢?
一、路由器的每一個接口能夠被劃分在一個區域,一個路由器能夠同時屬於多個區域。
二、Area 0爲骨幹區域,其餘區域爲非骨幹區域。每一個非骨幹區域都必須鏈接到骨幹區域。
三、運行在區域之間的路由器叫作區域邊界路由器ABR(Area Boundary Router),它包含全部相連區域的LSDB。
自治系統邊界路由器ASBR(Autonomous System Boundary Router)是指和其餘AS中的路由器交換路由信息的路由器,這種路由器會向整個AS通告AS外部路由信息。
爲何SPF算法能夠保證區域內無環路?
SPF算法將每個路由器做爲根(ROOT)來計算其到每個目的地路由器的距離,每個路由器根據一個統一的數據庫會計算出路由域的拓撲結構圖,該結構圖相似於一棵樹,在SPF算法中,被稱爲最短路徑樹。樹形是無環路的。
OSPF利用區域間的鏈接規則保證了區域之間無路由環路。
爲了不區域間路由環路,非骨幹區域之間不容許直接相互發布路由信息,全部的非骨幹區域間通訊都須要藉助骨幹區域。所以,每一個區域都必須鏈接到骨幹區域。
2 OSPF是如何實現快速收斂的?
OSPF支持觸發更新,可以快速檢測並通告自治系統內的拓撲變化。觸發更新就是當路由有變化馬上發送路由更新信息。
3 OSPF是如何保證擴展性的?
OSPF能夠解決網絡擴容帶來的問題。當網絡上路由器愈來愈多,路由信息流量急劇增加的時候,OSPF能夠將每一個自治系統劃分爲多個區域,並限制每一個區域的範圍。OSPF這種分區域的特色,使得OSPF特別適用於大中型網絡。
總結