?

路由引入中次優路徑問題分析與解決

2023-12-25 11:24
長江工程職業技術學院學報 2023年4期
關鍵詞:雙點路由表路由器

柯 躍

(長江工程職業技術學院,武漢 430212)

0 引 言

在IP網絡中如果只使用一種路由協議,顯然無法滿足網絡互聯互通的要求。因此,大型網絡為了提高網絡的健壯性,會采用多種路由協議。而每一種路由協議都有其實現原理,不同路由協議之間不能交換路由信息,為了實現多種路由協議之間的通信,需使用路由重分發技術,又稱為路由引入[1]。路由引入是指在邊界路由器上,將某一種路由協議的路由信息引入到另一種路由協議中的技術[2]。

路由引入主要有三種應用場景:將直連路由引入動態路由協議中,將靜態路由引入動態路由協議中,動態路由協議之間互相引入。其中在動態路由協議之間互相引入時,會產生次優路徑、路由環路等問題[3]。以RIP和OSPF兩種路由協議進行互相重分發為例來分析和解決上述問題。

1 雙點雙向路由引入實驗

1.1 路由優先級

路由優先級又稱為管理距離(administrative distance),是指路由協議的優先級[4]。路由協議有多種,路由器通過不同路由協議學習到多種路由。為了區別這些路由的優先次序問題,人們就對不同來源的路由規定了不同優先級,并約定優先級值越小,路由的優先級別就越高。這樣,當路由器學習到多條去往目標網絡相同的路由時,就會選擇最高優先級的路由將之加入到路由表中(RIB),而將其他路由置于未激活狀態。不同廠家規定的路由協議優先級默認值(默認值可以手動更改)不盡相同,本實驗使用華為設備,華為所定義的路由優先級默認值如表1所示。

表1 路由的優先級

1.2 度量值

度量值(metric)又稱為開銷(cost),用來確定去往目標網絡的最優轉發路徑[4]。不同的路由協議,對度量值的衡量不一樣,比如RIP協議的度量值是指經過路由器的跳數,跳數越小,路由的開銷就越小,此時路徑越優;而OSPF協議的度量值是帶寬,即帶寬越大,開銷值越小,路徑越優。當同一種路由協議學習到多條去往同一目標網絡的路由時,將優先選擇開銷最小的路由當作最優路徑。

1.3 基于RIP與OSPF雙點雙向路由引入實驗

在路由重分發的應用場景中往往會使用雙點雙向路由引入的方式,圖1為雙點雙向路由引入拓撲圖。實驗中使用華為軟件eNSP來進行分析和方案驗證,路由器全部都采用AR2220。

圖1 雙點雙向路由引入拓撲

在圖1中,電腦PC1的IP地址為9.9.9.9,R1至R4的接口及其IP地址都如圖所示,子網掩碼全部為24位。路由器R1、R2、R3運行OSPF協議,同屬于區域0;路由器R2、R3、R4運行RIPv2協議。其中路由器R2和R3作為邊界路由器,同時運行OSPF協議和RIP協議,并在R2和R3上分別配置OSPF協議和RIP協議互相引入。路由器R2的配置如圖2所示。

圖2 R2路由引入配置

路由器R3的配置如圖3所示。

圖3 R3路由引入配置

路由器R1作為連接電腦PC1的路由器,R1的GE0/0/2口所在網段為9.9.9.0,屬于直連路由。因此需要在R1上配置將直連路由9.9.9.0引入OSPF區域0中。路由器R1的配置如圖4所示。

圖4 R1路由引入配置

按照圖1所標注和上述要求配置將路由器R1至R4、PC1配置完成,雙點雙向路由引入實驗已經做完。在此場景中,存在兩臺邊界路由器R2和R3,且都配置路由雙向引入,提高了網絡的可靠性。

在正常情況下,路由器R4去往PC1的路由同時有兩條,即R4-R2-R1-PC1和R4-R3-R1-PC1,這樣即實現了流量的負載均衡和網絡的冗余備份。而路由器R2去往PC1的路由也有兩條,即R2-R1-PC1和R2-R4-R3-R1-PC1,那么該選擇那一條路徑作為最優路徑呢?很顯然根據上文所述,R2去往R1的路由屬于OSPF協議學習到的,其優先級為10;而R2去往R4的路由屬于RIP協議學習到的,其優先級為100,由此可知R2-R1-PC1為最優路徑加入到路由表中。同理,路由器R3去往PC1的最優路徑為R3-R1-PC1。

下面分別查看路由器R2、R3、R4的路由表和數據轉發路徑是否如上述分析一樣。

R2的數據轉發路徑如圖5所示,用tracert命令來跟蹤數據包的轉發過程。

圖5 R2轉發路徑

圖5表明,R2路由正常,符合上文分析結果。接著查看R3的數據轉發路徑如圖6所示。

圖6 R3轉發路徑

R3的數據包轉發選擇了R3-R4-R2-R1-PC1這條非最優路徑進行路由,并且去往9.9.9.0/24所在網絡的路由下一跳指向了192.168.34.4這個IP地址,此IP地址為路由器R4的接口GE0/0/1的IP地址,此路由是通過RIP協議學習到,這顯然不符合預期。這表明R3的路由表選擇了次優路徑。

最后再來看R4的數據轉發路徑如圖7所示。

圖7 R4轉發路徑

R4的路由表如圖8所示。

圖8 R4的路由表(部分)

由圖7和圖8可以看到,R4去往目標網絡9.9.9.0/24的路徑只有一條,即R4-R2-R1-PC1,與前文中的結論不符,還缺少了一條路徑R4-R3-R1-PC1。

2 次優路徑問題分析

在圖1的實驗中,有RIP協議和OSPF協議兩個路由域,兩個路由域的邊界設備R2和R3作為路由引入的節點。在路由器R2和R3中分別進行雙點雙向路由引入后,R3到達目標網絡9.9.9.0/24的路由沒有選擇通過OSPF路由域的最優路徑R3-R1-PC1,而是選擇了通過RIP路由域的次優路徑R3-R4-R2-R1-PC1進行數據轉發,此現象就是次優路徑問題,路徑R3-R4-R2-R1-PC1稱為次優路徑。次優路徑會對網絡造成嚴重影響,增加數據包轉發延遲。

次優路徑問題是路由選擇原理導致的,路由器通過不同路由協議會學習到去往目標網絡的最佳路徑,然后將其添加到路由表中[5]。當路由器學習到多條可到達同一個目標網絡的路由時,路由器會先比較這些路由所屬路由協議的優先級值,優先級值越小的路由優先級就越高。若同一種路由協議中學習到多條路由,則比較開銷。

在華為產品上,RIP協議的優先級為100,而OSPF協議中有兩個優先級,分別是域內優先級,值為10;域外優先級,值為150。根據華為路由選路原理,分析圖1中次優路徑產生的原因。

(1)R1中引入了直連路由,R1會通過OSPF協議將直連路由9.9.9.0/24以5類LSA的方式通告到OSPF域中,這樣R2和R3都會學習到一條去往網絡9.9.9.0/24的外部路由,其優先級為150,并且下一跳指向R1,將該路由保存到路由表中。R2的路由表如圖9所示。

圖9 R2的路由表(部分)

(2)其次由于R2配置了將OSPF路由引入到RIP中,因此R2會將通過OSPF協議學習到路由發布到RIP域中,R4就學習到了去往網絡9.9.9.0/24的路由,并保存到路由表中。如圖10所示。

圖10 R4的路由表

(3)最后由于路由器R4與R3同屬于一個RIP路由域,R3會通過RIP協議從R4那里學習到去往網絡9.9.9.0/24的路由。與此同時,R3與R1同屬于一個OSPF域,因此R3也會從R1的通告中學習到去往網絡9.9.9.0/24的路由。即R3會同時收到來自R1和R4的去往網絡9.9.9.0/24的兩條路由信息,R3就會根據路由選路原理來選擇最優路徑。這時問題就出現了,R3從R4那里學習到的去往網絡9.9.9.0/24的路由是通過RIP協議學習到的,這條路由的優先級默認值就是100;而R3從R1那里學習到的去往網絡9.9.9.0/24的路由是通過OSPF協議學習到的,且屬于外部路由(O_ASE),該條路由的優先級默認值為150。所以R3會將R3-R1-PC1這條路由置于未激活狀態,而將R3-R4-R2-R1-PC1這條路由加入到路由表中,置于激活狀態。事實上從R3去往PC1的路由最優路徑是R3-R1-PC1,可是在本實驗中R3卻選擇了次優路徑R3-R4-R2-R1-PC1,這就是次優路徑問題產生的過程。

R3的路由表信息如圖11和圖12所示。

圖11 R3的路由表

圖12 R3的OSPF路由表

(4)同理在路由器R2上也會出現去往目標網絡9.9.9.0/24的次優路徑。

3 次優路徑問題解決方法

雙點雙向路由引入場景中很容易出現次優路徑問題,通過前文的分析提出了兩種解決方法。

方法一:修改OSPF域外部路由的優先級默認值來避免出現次優路徑問題。其主要思想是在路由器R2和R3上將9.9.9.0/24這條OSPF域外路由的優先級默認值修改為小于100的值即可。因為只有這條域外路由的優先級值小于RIP協議的優先級默認值100,R3就不會將從RIP協議學習到的路由作為最優路徑寫到路由表中。

配置方法:先在R2和R3上創建一條ACL用來匹配9.9.9.0/24這個網絡,然后在路由策略(route policy)中調用該ACL,將匹配到的去往目標網絡9.9.9.0/24的路由優先級默認值設置為70(低于100即可)。最后在OSPF視圖模式下使用命令preference調用route-policy,并使之生效。配置命令如下:

R2的配置:

[R2]acl 2000

[R2-acl-basic-2000]rule 5 permit source 9.9.9.0 0

[R2-acl-basic-2000]quit

[R2]route-policy test permit node 5

[R2-route-policy]if-match acl 2000

[R2-route-policy]apply preference 70

[R2-route-policy]quit

[R2]ospf 1

[R2-ospf-1]preference ase route-policy test

[R2-ospf-1]quit

R3的配置:

[R3]acl 2000

[R3-acl-basic-2000]rule 5 permit source 9.9.9.0 0

[R3-acl-basic-2000]quit

[R3]route-policy test permit node 5

[R3-route-policy]if-match acl 2000

[R3-route-policy]apply preference 70

[R3-route-policy]quit

[R3]ospf 1

[R3-ospf-1]preference ase route-policy test

[R3-ospf-1]quit

結果驗證:在路由器R2和R3上按上述方法配置完成后,再來查看路由表驗證是否達到效果。R3的路由表如圖13所示。

圖13 R3的路由表

再來看R4的路由表如圖14所示。

圖14 R4的路由表

從圖13可以看到,R3去往目標網絡9.9.9.0/24的路由是最優路徑R3-R1-PC1;從圖14可以看到,R4去往目標網絡9.9.9.0/24的路由有兩條等價路徑,分別是R4-R2-R1-PC1和R4-R3-R1-PC1,實現了負載均衡和冗余備份。但方法一有弊端:須提前知道目標網絡才能配置,且在實際應用中目標網絡也不止一個;還有網絡變化和路由匯聚可能導致通過ACL進行精準匹配的方法變得繁瑣。

第二種方法:使用路由策略(route-policy)設置路由標記,然后過濾帶標記的路由來解決次優路徑問題和避免路由環路。路由標記(tag)是指路由所攜帶的一種標記信息,常用的動態路由協議都支持路由標記的方式。在邊界路由器上通過對不同路由進行標記,然后使用路由策略將帶有標記的路由過濾掉,放行其他路由。這樣可以避免邊界路由器因路由優先級不同而產生次優路徑的問題。

邊界路由器R2的配置如下:

[R2]route-policy rip-to-ospf deny node 10

[R2-route-policy]if-match tag 10

[R2]route-policy rip-to-ospf permit node 20

[R2-route-policy]apply tag 20

[R2]ospf 1

[R2-ospf-1]import-route rip 1 route-policy rip-to-ospf

[R2]rip 1

[R2-rip-1]import-route ospf 1

同理,路由器R3的配置跟R2相同即可。

結果驗證:在路由器R2和R3上按上述方法配置完成后,再來查看路由表驗證是否達到效果。R2的路由表如圖15所示。

圖15 R2的路由表

R4的路由表如圖16所示。

圖16 R4的路由表

從圖15可以看到,R2去往目標網絡9.9.9.0/24的路由是指向下一跳R1的最優路徑,R3同理;從圖16可以看到,R4去往目標網絡9.9.9.0/24的路由有兩條等價路徑,分別是R4-R2-R1-PC1和R4-R3-R1-PC1,實現了負載均衡和冗余備份。方法二與方法一相比的優勢在于:當域外網絡環境發生變化時,比如R1再接入新的網絡或加入新的路由,都不需要再進行大量修改配置。

4 結 語

在大型網絡環境中,雙點雙向路由引入是實現不同路由協議相互通信的一種常見技術,然而路由引入不可避免會帶來次優路徑問題。通過華為模擬器建立環境復現了次優路徑,分析了產生次優路徑的原因,最后提出了兩種解決次優路徑的方法,并通過實驗對這兩種方法進行了驗證和對比。結果表明能有效避免次優路徑問題,并且能實現鏈路冗余備份和流量的負載均衡,對實際應用中相似的網絡結構具有參考意義。

猜你喜歡
雙點路由表路由器
買千兆路由器看接口參數
直升機雙點吊掛應用研究
路由器每天都要關
基于OSPF特殊區域和LSA的教學設計與實踐
無線路由器的保養方法
雙點蝕缺陷管道剩余強度分析*
雙點壓力機抗偏載能力分析與解決方案
雙點蝕缺陷管道剩余強度計算方法
基于新路由表的雙向搜索chord路由算法
無線路由器輻射可忽略
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合