1. 程式人生 > 其它 >OSPF動態路由協議筆記之(六) : 外部路由和計算原理

OSPF動態路由協議筆記之(六) : 外部路由和計算原理

本節筆記,主要介紹OSPF外部路由的引入方法和計算原理(涉及第四類LSA:ASBR-Summary-LSA和第五類LSA:AS-External-LSA),理解次優外部路由的產生原因。

OSPF動態路由協議筆記之(六) : 外部路由和計算原理

  除了內部通訊外,企業還需要與外部網路進行通訊,不同企業網路之間存在互訪需求。

  本節筆記,主要介紹OSPF外部路由的引入方法和計算原理(涉及第四類LSA:ASBR-Summary-LSA和第五類LSA:AS-External-LSA),理解次優外部路由的產生原因。

  外部路由引入

  假設A公司網路部署OSPF協議實現內部通訊,因業務發展,需要訪問B公司的一臺WEB伺服器。那麼作為A公司的網路工程師,如何操作才能使本公司獲取B公司的路由資訊呢?

  

  本例中,RTA上配置了一條靜態路由,目的網路是10.1.60.0/24,下一跳是RTF。

  RTA的OSPF程序下,將配置的靜態路由重發布到A公司的OSPF網路中,其中引入外部路由的OSPF路由器叫做ASBR(裝置間互訪需要路由雙向可達,這裡僅介紹OSPF網路內獲取外部路由的過程)。

  引入外部路由條目後,RTA會生成一條AS-External-LSA(五類LSA),用於描述如何從ASBR到達外部目的地;RTB和RTC會生成一條ASBR-Summary-LSA(四類LSA),用於描述如何從ABR到達ASBR。

  命令import-route XXX

  這條命令可以將本路由器上的路由表項重發布到OSPF的程序中,XXX的引數可選項為static,direct,ospf,rip等。

  四類LSA和五類LSA,將被OSPF路由器用來計算外部路由

  第四類LSA:ASBR-Summary-LSA

  這是由RTB在Area 1內生成的ASBR-Summary-LSA(四類LSA)

  

  命令display ospf lsdb asbr self-originate

  ABR(也就是路由器RTB)Area 1泛洪一條五類LSA,告訴Area 1的路由器:應該如何通過訪問ASBR(也就是路由器RTA)去往外部網路

  RTB同時向Area 1泛洪一條四類LSA,告訴Area 1的路由器:應如何才能訪問路由器RTA,花銷(cost)是多少

  該四類LSA包含的主要資訊如下

  lLs id:該ASBR的Router ID。

  lAdv rtr:產生此四類LSA的ABR的Router ID。

  lMetric:從該ABR到達此ASBR的OSPF開銷值。

  四類LSA只能在一個區域內泛洪。五類LSA每泛洪到一個區域,相應區域的ABR都會生成一條新的四類LSA來描述如何到達ASBR。

  因此描述到達同一個ASBR的四類LSA可以有多條,其Adv rtr是不同的,表示是由不同的ABR生成的。

  第五類LSA:AS-External-LSA

  這是由RTA生成的五類LSA,將被泛洪到所有OSPF區域

  

  命令display ospf lsdb ase self-originate

  

  五類LSA中包含的主要資訊如下

  lLs id:目的網段地址。

  lAdv rtr:產生此五LSA的ASBR的Router ID。

  lNet mask:目的網段的網路掩碼。

  lMetricASBR到達目的網路的開銷值,預設值為1。

  lTag:外部路由資訊可以攜帶一個Tag標籤,用於傳遞該路由的附加資訊,通常用於路由策略,預設值為1

  外部路由計算

  

  ① Area 0中RTB的外部路由計算為例

  RTB收到五類LSA後,根據Adv rtr欄位1.1.1.1發現,ASBR與自己同屬於一個區域(Area 0),再根據Ls id、Net mask、Metric欄位最終生成目的網路10.1.60.0/24, cost=1,下一跳為RTA的路由。

  ② Area 1中RTD的外部路由計算為例

  RTD收到五類LSA後,根據Adv rtr欄位1.1.1.1發現,ASBR與自己不同屬於一個區域,再查詢Ls id為1.1.1.1的四類LSA,發現此四類LSA的Adv rtr為2.2.2.2。再根據五類LSA中的LS id、Net mask、Metric欄位最終生成目的網路10.1.60.0/24, cost=1,下一跳為RTB的路由。

  RTB、RTD最終計算出的路由條目cost都為1,根據物理拓撲可知,RTD開銷值明顯大於RTB,那麼問題出在哪裡呢?

  外部路由型別

  

  OSPF引入外部路由,共有兩種型別可選:

  ① 第一類外部路由的AS外部開銷值被認為和AS內部開銷值是同一數量級的,因此第一類外部路由的開銷值為AS內部開銷值(路由器到ASBR的開銷)與AS外部開銷值之和;這類路由的可信程度高一些,所以計算出的外部路由的開銷與自治系統內部的路由開銷是相當的,並且和OSPF自身路由的開銷具有可比性。

  Type 1 = AS內部開銷+AS外部開銷

  ② 第二類外部路由的AS外部開銷值被認為遠大於AS內部開銷值,因此第二類外部路由的開銷值只包含AS外部開銷,忽略AS內部開銷(預設為第二類),這類路由的可信度比較低。

  Type 2 =AS外部開銷

  預設情況下,OSPF外部路由採用的是第二類外部路由,但第一類外部路由優先順序高於第二類

  次優外部路由的產生

  (1)次優外部路由產生的原因

  

  如上圖所示,RTA、RTB、RTC同處於一個MA網路,RTA和RTB之間執行OSPF,RTB和RTC之間執行RIP。

  RTB將通過RIP學來的路由重發布到OSPF,RTA通過OSPF學習到RIP中192.168.3.0/24的外部路由,但是下一跳是RTB。所以RTA訪問192.168.3.0/24的流量先發送給RTB,RTB收到後又轉發給RTC。在RTA上這條路由是次優的,最優的下一跳應當為RTC。

  OSPF通過設定Forwarding Address來解決這個問題。

  (2)Forwarding Address

  通常情況下,ASBR引入外部路由產生的五類LSA中Forwarding Address欄位設定為0.0.0.0

  

  對於圖中的場景,RTB路由表中到達192.168.3.0/24的下一跳地址為10.1.123.3。10.1.123.3所屬網段10.1.123.0/24執行OSPF,所以RTB生成的五類LSA中,Forwarding Address被設定為10.1.123.3。

  當RTA收到五類LSA時,發現Forwarding Address欄位非0,其值為10.1.123.3,所以RTA按照Forwarding Address計算下一跳。

  Tips:擴充套件知識

  Q:AS External LSA是在什麼角色的路由器上產生的?它的基本作用是什麼?

  A:AS External LSA是在ASBR路由器上產生的。AS External LSA的基本作用是用來向OSPF網路宣告外部路由。一條AS External LSA只能宣告一條外部路由

  Q:ASBR Summary LSA是在什麼角色的路由器上產生的?它的基本作用是什麼?

  AASBR Summary LSA是在ABR路由器上產生的。ASBR Summary LSA的基本作用是告訴其他路由器應該如何去往ASBR路由器。

  Q:OSPF外部路由型別有哪兩種?哪一種的優先順序更高?

  AOSPF外部路由型別有External Type-1和External Type-2。External Type-1的優先順序高於External Type-2