1. 程式人生 > 實用技巧 >OSPF協議-外部路由(LSA-4和LSA-5)

OSPF協議-外部路由(LSA-4和LSA-5)

外部路由引入

RTA上配置了一條靜態路由,目的網路是10.1.60.0/24,下一跳是RTF 在RTA的OSPF程序下,將配置的靜態路由重發布(或者叫做翻譯/路由引入)到A公司的OSPF網路中,其中引入外部路由的OSPF路由器叫做ASBR
自治系統邊界路由器ASBR(AS Boundary Router)與其他AS交換路由資訊的裝置稱為ASBR,ASBR並不一定位於AS的邊界,它可能是區域內裝置,也可能是ABR。只要一臺OSPF裝置引入了外部路由的資訊,它就成為ASBR
RTA會生成一條AS-External-LSA(五類LSA),用於描述如何從ASBR到達外部目的地;
RTB和RTC會生成一條ASBR-Summary-LSA(四類LSA),用於描述如何從ABR到達ASBR

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

檢視五類LSA的資訊

<RTA>display ospf lsdb ase self-originate 
     OSPF Process 1 with Router ID 1.1.1.1
         Link State Database
  Type      : External      //LSA型別
  Ls id     : 10.1.60.0     //目的網段地址
  Adv rtr       : 1.1.1.1           //產生此五類LSA ASBR的Router ID
  Ls age        : 1340 
  Len       : 36 
  Options       :  E  
  seq#      : 80000004 
  chksum        : 0xb5cc
  Net mask  : 255.255.255.0      //網路掩碼
  TOS 0     Metric: 1            //開銷值
  E type        : 2
  Forwarding Address    : 0.0.0.0 
  Tag       : 1 
  Priority      : Low

 這是由RTA生成的五類LSA,將被泛洪到所有OSPF區域
 五類LSA中包含的主要資訊如下:
① Ls id:目的網段地址
② Adv rtr:ASBR的Router ID
③ Net mask:目的網段的網路掩碼
④ Metric:ASBR到達目的網路的開銷值,預設值為1
⑤ Tag:外部路由資訊可以攜帶一個Tag標籤,用於傳遞該路由的附加資訊,通常用於路由策略,預設值為1
檢視四類LSA的資訊

<RTB>display ospf lsdb asbr self-originate 
                 Area: 0.0.0.1
         Link State Database 
  Type      : Sum-Asbr       //LSA型別
  Ls id     : 1.1.1.1       //ASBR的Router ID
  Adv rtr       : 2.2.2.2       //產生此四類LSA ABR的Router ID
  Ls age        : 15 
  Len       : 28 
  Options       :  E  
  seq#      : 80000005 
  chksum        : 0xf456
  Tos 0     metric: 1      //從RTB到達此ASBR的開銷

 這是由RTB在Area 1內生成的ASBR-Summary-LSA(四類LSA)RTB向Area 1泛洪一條五類LSA時,同時生成一條四類LSA向Area 1泛洪
 該四類LSA主要包含下列資訊:
① Ls id:該ASBR的Router ID
② Adv rtr:該產生此四類LSA的ABR的Router ID
③ Metric:從該ABR到達此ASBR的OSPF開銷值
 四類LSA只能在一個區域內泛洪,五類LSA每泛洪到一個區域,相應區域的ABR都會生成一條新的四類LSA來描述如何到達ASBR
 因此描述到達同一個ASBR的四類LSA可以有多條,其Adv rtr是不同的,表示是由不同的ABR生成的
以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外部開銷值之和
② 第二類外部路由的AS外部開銷值被認為遠大於AS內部開銷值,因此第二類外部路由的開銷值只包含AS外部開銷,忽略AS內部開銷(預設為第二類)預設情況下,OSPF外部路由採用的是第二類外部路由

實戰演練如下

R7和R8之間跑RIP協議,version 2 並且把R8上面的loop口8.8.8.8/32 網段路由宣告到rip中

在R7上面檢視通過rip協議學習的路由條目,並在R7的OSPF程序下敲import-route
命令


在R7上檢視LSDB的資訊

LSA-5是在整個OSPF domain內進行泛洪的 並且Adv router 是不會變 永遠都是ASBR的router id


華為這邊預設情況下為type-2的,在計算開銷成本的時候,是不會把內部開銷的成本加進去的 所以R6R2、R1到8.8.8.8的cost是1



在R7上面修改引入rip的type型別為type-1

在R6上檢視LSA-5的內容,外部成本還是1 但是在路由表中的話 得加上內部得成本

修改為type-1型別後,R6、R2、R1路由表中到達外部路由的開銷值還得把內部的成本計算進來



畫出R6的有向圖,發現R2無法計算出到達ASBR的開銷是多少?發現R3無法計算出到達ASBR的開銷是多少?

LSA-4是由ABR產生的,除了在area 1之外在其他區域都會存在





在R2上檢視到達ASBR的開銷是多少?並且tracert一下到達ASBR的路徑是怎麼樣的?


R2到達外部路由8.8.8.8的開銷是多少?並且R2到達8.8.8.8的路徑是怎麼走的?
結論:在FA地址為0.0.0.0的時候,外部路由的選路得看LSA-4,LSA-4怎麼選路 LSA-5就怎麼選路

小結一下:可以補充下R6的有向圖了

在R1上面檢視達到8.8.8.8的路由,並tracert一下到達8.8.8.8的路徑

在R4上看檢視OSPF的LSDB內容


LSA-4是R4產生的,經過R2和R3的ABR後會發現什麼樣的變化沒?


OSPF選路規則(面試題)

 區域內的(LSA-1和LSA-2)>區域間的(LSA-3)>ASE TYPE 1>ASE TYPE2
 OSPF選路 區域內優於區域間 LSA1和LSA2優於LSA3 LSA3優於LSA5 LSA5優於LSA7
 對於LSA5的話 type1優於type2 對於LSA7的話 type1優於type2的 NSSA type1的優於LSA5的type 2的
① 外部路由type 1的不用想 直接算出端到端的成本出來 最小的最優
② 外部路由type 2的不用想 直接看外部成本 內部成本不用看的 最小的最優 如果外部成本一樣的話在比較內部成本 誰小誰好 然後勝出 如果內部成本一樣 外部成本一樣的話 負載分擔

次優外部路由的產生

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

設定FORWARDING ADDRESS

 FA的作用:解決次優路徑問題(FA只在LSA-5和LSA-7裡面有)
 FA地址非0的情況:
① 網路型別不是P2P
② 網路型別不是P2MP
③ 介面要enable 並且要宣告到OSPF
④ 介面不能slient掉
 如果FA地址非0的話,LSA-5和LSA-7走哪一條路完全看LSA-3
通常情況下,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計算下一跳