今天想和你聊點老網工比較關心的技術問題。
懂的都懂,在需要保證高可靠性的網絡中,如果存在ISIS和OSPF共同部署的場景,為了能夠實現路徑的備份,需要將ISIS和OSPF進行互相引入,但是引入之后,也會帶來一系列的bug。
這種一連串的bug就困擾了不少網工們。
比如說,次優路徑和路由回饋這種類型的問題,就是我想和你今天討論的問題。
今天結合具體拓撲分析,我特地邀請了我的老朋友,老蔡,在華為數通這塊的老專家,來和你聊一聊這檔子技術應用背后的解決方案。
今日文章閱讀福利:《高級網絡技術》
作為華為最新版的高級教材,不少網工都想買一本回家收藏起來,以備不時之需。
私信老楊,發送“高級技術”,即可獲取該教材的pdf版本,導入微信讀書App閱讀,效果更佳。
01 拓撲規劃
現在網絡中左側運行OSPF協議,并且為單區域0,右側運行ISIS協議,ISIS建立level-2的鄰居關系,并且為wide度量值風格。R1上存在一個環回口地址1.1.1.1/32,R4上存在一個環回口地址4.4.4.4/32。
路由器的互聯網段為10.1.x.0/24,x表示路由器的編號的組合。互聯地址為10.1.x.y,y表示路由器編號。例如R1和R2的互聯網段為10.1.12.0/24,R1的G0/0/0接口地址為10.1.12.1/24。
雙點雙向路由引入所帶來的問題
01 OSPF引入到ISIS的次優路徑
1. 次優路徑誕生原因
在R1上將1.1.1.1/32的路由通過路由引入的方式引入到OSPF區域0中,此時R2和R3會產生一條OSPF優先級數值為150的1.1.1.1/32的外部路由,此處以R2的路由表為例,如下圖所示:
然后在R2將OSPF的路由引入到ISIS之后,由于ISIS只有一個優先級數值為15,所以,R3會通過ISIS學習到一條優先級數值為15的1.1.1.1/32的ISIS路由,R3也會通過OSPF學習到一條優先級數值為150的1.1.1.1/32的OSPF外部路由。
這會導致R3在訪問1.1.1.1/32時通過ISIS區域訪問,形成了次優路徑。
在R3上將OSPF引入到ISIS時,也會在R2產生同樣的問題,在此處以R3的路由表為例,如下圖所示:
2. 次優路徑解決方案
在R2和R3上修改外部路由優先級數值為12,使得R2和R3在訪問1.1.1.1/32時優先通過OSPF進行訪問,在此處以R3為例,如下圖所示:
在修改完優先級數值之后,R3通過最優路徑OSPF訪問1.1.1.1/32,如下圖所示:
02 ISIS引入到OSPF的次優路徑和路由回饋
1. 次優路徑誕生原因
將R4的4.4.4.4/32宣告進入ISIS區域,此時R2和R3會產生一條優先級數值為15的ISIS路由4.4.4.4/32,在此處以R3為例,如下圖所示:
在R3上將ISIS的路由引入到OSPF中,由于,R2已經將OSPF的外部路由優先級數值改為12,所以,此時R2會在OSPF區域通過R1學習到優先級數值為12的4.4.4.4/32的外部路由。
R2從R1學習到的OSPF外部路由,優于R2從ISIS區域學習的4.4.4.4/32的路由,所以,R2在訪問4.4.4.4/32時會通過OSPF區域進行訪問,形成了次優路徑,R2的路由表如下圖所示:
由于之前在R2將OSPF的路由引入到ISIS,所以4.4.4.4/32會再次引入到ISIS區域,R4會從R2學習到一條4.4.4.4/32的路由,形成了路由回饋,如下圖所示:
2. 解決方案
(1)路由回饋解決方案
在R2上對于OSPF引入到ISIS的路由打tag 100的標簽,然后在R3上將ISIS引入到OSPF時拒絕攜帶tag 100的路由進行引入,即:從OSPF引入到ISIS的路由不會再引回到OSPF防止路由回饋。
在R3上對于ISIS本區域的路由引入到OSPF時打上tag 200的標簽,在R2上將OSPF引入到ISIS時拒絕tag 200的路由進行引入,即從ISIS引入到OSPF的路由不會再引回到ISIS防止路由回饋,如下圖所示:
在R2上設置路由策略,將OSPF的路由引入到ISIS時,拒絕攜帶tag 200的路由引入,并將本身所屬OSPF區域的路由引入到ISIS時打上tag 100的標簽,路由策略如下圖所示:
R2:
R2在進行OSPF引入到ISIS時調用該策略。
在R3上設置路由策略,將ISIS的路由引入到OSPF時,拒絕攜帶tag 100的路由引入,并將本身所屬ISIS區域的路由引入到OSPF時打上tag 200的標簽,路由策略如下圖所示:
R3:
R3在ISIS引入OSPF時調用該策略:
以上我們就完成了雙點單向的路由引入。
但是要完成雙點雙向路由引入還需在R3上將OSPF引入到ISIS的路由打上tag 300的標簽,在R2上將ISIS引入到OSPF時拒絕攜帶tag 300的路由引入,即從OSPF引入到ISIS的路由不會再引回到OSPF防止路由回饋。
在R2上將ISIS引入到OSPF時打上tag 400的標簽,在R3上將OSPF引入到ISIS時拒絕攜帶tag 400的路由引入,即從ISIS引入到OSPF的路由不會再引回到ISIS防止路由回饋,如下圖所示。
操作和之前的方式類似,在此不做過多贅述。
(2)次優路徑解決方案
由于在解決路由回饋問題時,R3在進行ISIS引入到OSPF時,將本屬于ISIS區域的路由打上了tag 200的標簽。
所以我們可以在R2上設置名稱為“pre”路由策略針對攜帶tag 200標簽的路由,在引入到OSPF之后形成的外部路由的優先級數值改為160。
然而從ISIS本區域學習到的4.4.4.4/32的路由優先級數值為15,那么再訪問4.4.4.4/32的路由時優先通過ISIS區域進行訪問,從而可以通過優先級數值解決次優路徑的問題,在R2上設置名稱為“pre”的路由策略,如下圖所示:
R2:
在R2上設置外部路由優先級數值時調用名稱為“pre”的策略,即符合名稱為“pre”策略的外部路由優先級數值為160,不符合名稱為“pre”策略的外部路由優先級數值為12。
此時R2在訪問ISIS區域的4.4.4.4/32的路由時,優先通過ISIS區域進行訪問,如下圖所示。
同時R3需要針對攜帶tag 400標簽的路由將其優先級數值改為160,操作和R2類似,在此不做過多贅述。
最終R2和R3都能夠使用最優路徑訪問1.1.1.1/32和4.4.4.4/32。
R2的路由表,如下圖所示:
R3的路由表,如下圖所示: