學習日記Day14:OSPF協議工作原理

一、鄰接關係的建立過程。

在這裏插入圖片描述
(1)當一臺OSPF路由器收到其他路由器發來的首個Hello報文時會從初始Down狀態切換爲Init狀態。當OSPF路由器收到的Hello報文中的鄰居字段包含自己的Router ID時,從Init切換2-way狀態。

在這裏插入圖片描述
(2)鄰居狀態機從2-way轉爲Exstart狀態後開始主從關係選舉:

  • R1向R2發送的第一個DD報文內容爲空,其Seq序列號假設爲X。
  • R2也向R1發出第一個DD報文,其Seq序列號假設爲Y。
  • 選舉主從關係的規則是比較Router ID,越大越優。R2的Router ID比R1大,因此R2成爲真正的主設備。主從關係比較結束後,R1的狀態從Exstart轉變爲Exchange。

(3)R1鄰居狀態變爲Exchange後,R1發送一個新的DD報文,包含自己LSDB的描述信息,其序列號採用主設備R2的序列號。R2收到後鄰居狀態從Exstart轉變爲Exchange。
(4)R2向R1發送一個新的DD報文,包含自己LSDB的描述信息,序列號爲Y+1。
(5)R1作爲從路由器需要對主路由R2發送的每個DD報文進行確認,回覆報文的序列號與主路由R2一致。
(6)發送完最後一個DD報文後,R1將鄰居狀態切換爲Loading。

在這裏插入圖片描述

(7)鄰居狀態轉變爲Loading後,R1向R2發送LSR報文,請求那些在Exchange狀態下通過DD報文發現的,但是在本地LSDB中沒有的LSA。
(8)R2收到後向R1回覆LSU。在LSU報文中包含被請求的LSA的詳細信息。
(9)R1收到LSU報文後,向R2回覆LS ACK報文,確認已接收到,確保信息傳輸的可靠性。
(10)此過程中R2也會向R1發送LSA請求。當兩端LSDB完全一致時,鄰居狀態變爲Full,表示成功建立鄰接關係。

             點擊查看更詳細的鄰接關係建立過程可以。

二、OSPF的網絡類型。

      OSPF網絡類型是一個非常重要的接口變量,這個變量將影響OSPF在接口上的操作,例如採用什麼方式發送OSPF協議報文,以及是否需要選舉DR、BDR等。接口默認的OSPF網絡類型取決於接口所使用的數據鏈路層封裝。如圖所示,OSPF的有四種網絡類型,Broadcast、NBMA、P2MP和P2P。
在這裏插入圖片描述
四種網絡類型的說明見下表:

網絡類型 說明
P2P 指的是在一段鏈路上只能連接兩臺網絡設備的環境。典型的例子是PPP鏈路。當接口採用PPP封裝時,OSPF在該接口上採用的缺省網絡類型爲P2P 。
BMA BMA也被稱爲Broadcast,指的是一個允許多臺設備接入的、支持廣播的環境。典型的例子是Ethernet(以太網)。當接口採用Ethernet封裝時,OSPF在該接口上採用的缺省網絡類型爲BMA。
NBMA NBMA指的是一個允許多臺網絡設備接入且不支持廣播的環境。典型的例子是幀中繼(Frame-Relay)網絡。
P2MP P2MP相當於將多條P2P鏈路的一端進行捆綁得到的網絡。沒有一種鏈路層協議會被缺省的認爲是P2MP網絡類型。該類型必須由其他網絡類型手動更改。常用做法是將非全連通的NBMA改爲點到多點的網絡。

      OSPF默認網絡類型的確定:

  • 接口如果是PPP、HDLC(高級數據鏈路控制),則認爲是P2P鏈路。
  • 接口如果是ETH、FDDI(光纖分佈式數據接口),則認爲是broadcast(廣播)鏈路。
  • 接口如果是Frame-Relay、ATM(異步傳輸模式),則認爲是NBMA(非廣播多路訪問)鏈路。
  • 沒有任何一種鏈路層協議被認爲是P2MP(點到多點),需要管理員手動配置。

      一般情況下,鏈路兩端的OSPF接口網絡類型必須一致,否則雙方無法建立鄰居關係。

三、DR與BDR。

      MA(Multi-Access)多路訪問網絡有兩種類型:廣播型多路訪問網絡(BMA)及非廣播型多路訪問網絡(NBMA)。以太網(Ethernet)是一種典型的廣播型多路訪問網絡。在MA網絡中,如果每臺OSPF路由器都與其他的所有路由器建立OSPF鄰接關係,便會導致網絡中存在過多的OSPF鄰接關係,增加設備負擔,也增加了網絡中泛洪的OSPF報文數量。當拓撲出現變更,網絡中的LSA泛洪可能會造成帶寬的浪費和設備資源的損耗。
      爲優化MA網絡中OSPF鄰接關係,OSPF指定了三種OSPF路由器身份DR(Designated Router,指定路由器)、BDR(Backup Designated Router,備用指定路由器)和DRother路由器。只允許DR、BDR與其他OSPF路由器建立鄰接關係。DRother之間不會建立全毗鄰的OSPF鄰接關係,雙方停滯在2-way狀態。BDR會監控DR的狀態,並在當前DR發生故障時接替其角色。
在這裏插入圖片描述
      DR和BDR要監聽兩個組播地址:224.0.0.5,224.0.0.6,DRother僅監聽224.0.0.5。DRother使用地址224.0.0.6將自己的LSA發送給DR,之後DR會將其通過地址224.0.0.5發送給其他的路由器。其實BDR也會受到DRother的LSA但是它不做處理。關於DR和BDR的選舉主要遵循下面這兩條規則:

  • 選DR:通過接口的優先級選舉DR,優先級越大,優先成爲DR;如果優先級相同則比較Router ID,Router ID越大,優先成爲DR。
  • 選BDR:優先級次高的成爲BDR;如果優先級相同則比較Router ID,Router ID次高的成爲BDR。

      另外優先級的取值範圍是0~255,優先級等於0只能成爲DRouther。DR如果失效,BDR會成爲新的DR,然後重新選舉BDR。BDR如果失效,會在DRother之間重新選舉BDR。而且DR/BDR還不具備搶奪性,當一個網絡中新加入了一臺擁有更高優先級或更大Router ID的路由器時不會搶奪現存網絡中的DR/BDR的身份,這樣做的目的是爲了儘可能的維護網絡的穩定性。

四、OSPF的多區域。

      OSPF域(Domain)是指,一系列使用相同策略的連續OSPF網絡設備所構成的網絡。OSPF路由器在同一個區域(Area)內網絡中泛洪LSA。爲了確保每臺路由器都擁有對網絡拓撲的一致認知,LSDB需要在區域內進行同步。如果OSPF域僅有一個區域,隨着網絡規模越來越大,OSPF路由器的數量越來越多,這將導致諸多問題。

      OSPF單區域的弊端:

  1. LSDB維護的LSA的數量過多,消耗資源,路由表項增加。
  2. 網絡不穩定時,全網路由器都要通過SPF算法進行路由的重新計算。
  3. 網絡性能優化手段比較少,無法進行路由彙總。

      OSPF引入區域(Area)的概念,將一個OSPF域劃分成多個區域,可以使OSPF支撐更大規模組網。OSPF多區域的設計減小了LSA泛洪的範圍,有效的把拓撲變化的影響控制在區域內,達到網絡優化的目的。在區域邊界可以做路由彙總,減小了路由表規模。多區域提高了網絡擴展性,有利於組建大規模的網絡。關於OSPF多區域有以下幾個重要的優勢:

  1. 整個OSPF的網絡,分爲骨幹區域(area 0)和非骨幹區域,兩層區域結構。
  2. 區域0有且只有一個並且連續。
  3. 非骨幹區域必須和骨幹區域直接相連。
  4. 多區域可以進行故障隔離,增強網絡整體的穩定性。

五、OSPF路由器的類型。

  • IR(區域內路由器,Internal Router):所有接口都在同一個區域的路由器。
  • ABR(區域邊界路由器,Area Border Router):連接2個以上區域,至少有一個活動的接口屬於區域0的路由器。
  • BR(骨幹路由器,Backbone Router):區域0中的IR和ABR。
  • ASBR(自治系統邊界路由器ASBR,AS Boundary Router):引入其他協議的路由或者其他OSPF進程的路由的路由器。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章