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包含的主要信息如下:
l Ls id:該ASBR的Router ID。
l Adv rtr:產生此四類LSA的ABR的Router ID。
l Metric:從該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中包含的主要信息如下:
l Ls id:目的網段地址。
l Adv rtr:產生此五類LSA的ASBR的Router ID。
l Net mask:目的網段的網絡掩碼。
l Metric:ASBR到達目的網絡的開銷值,默認值為1。
l Tag:外部路由信息可以攜帶一個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是在什么角色的路由器上產生的?它的基本作用是什么?
A:ASBR Summary LSA是在ABR路由器上產生的。ASBR Summary LSA的基本作用是告訴其他路由器應該如何去往ASBR路由器。
Q:OSPF外部路由類型有哪兩種?哪一種的優先級更高?
A:OSPF外部路由類型有External Type-1和External Type-2。External Type-1的優先級高於External Type-2。