注:本文為 “路由基礎 | 路由表 | 路由引入” 相關文章合輯。
未整理去重。
路由基本概念 1—— 路由表信息、路由進表以及轉發流程、最長掩碼匹配原則
靜下心來敲木魚已于 2023-11-26 14:06:22 修改
什么是路由
路由就是指導報文轉發的路徑信息,可以將一個網段的數據包轉發到另外的一個網段
什么是相同的網段:相同的網絡號、相同的子網掩碼
路由轉發涉及的表項
路由轉發涉及到路由表和轉發表兩個表項
其中路由表是控制層面的,描述了路由的發布形式,路由接收的過程等
轉發表真正指導路由轉發,當數據包到達設備后直接通過轉發表轉發(對于華為來說轉發表就是 FIB 表,銳捷轉發表為 Ref 表)
如何實現路由轉發
首先需要有具備路由功能的網絡設備都來進行路由轉發
該網絡設備通過路由表選擇該報文匹配的路由,然后通過轉發表進行路由轉發
路由表包含內容
路由轉發主要是依靠 目的網絡地址 / 掩碼 、下一跳地址、本地出接口來進行轉發
華為設備路由表
Destination/Mask:表示此路由的目的網絡地址與網絡掩碼。
-
將目的地址和子網掩碼 “邏輯與” 后可得到目的主機或路由器所在網段的地址。
-
例如:目的地址為 1.1.1.1,掩碼為 255.255.255.0 的主機或路由器所在網段的地址為 1.1.1.0。
Proto(Protocol):該路由的協議類型,也即路由器是通過什么協議獲知該路由的。
Pre(Preference):路由優先級 (其他廠商叫管理距離 AD)
-
針對同一目的地,可能存在不同下一跳、出接口等多條路由,這些不同的路由可能是由不同的路由協議發現的,也可以是手工配置的靜態路由。
-
優先級最高(數值最小)者將成為當前的最優路由(有外部優先級和內部優先級)
-
外部優先級是我們在路由表中可以看到的優先級
- 內部優先級和外部優先級的值部分一樣,不過不可以修改,當外部優先級一致時,可以使用內部優先級來比較。(例如當靜態的優先級改為 10 時和 OSPF 優先級一樣,這時候比較內部優先級,靜態為 60,ospf 為 10,此時就選擇 ospf 的路由條目)
- 外部優先級能比出來就用外部優先級,外部優先級一樣的就比內部優先級
Cost:路由開銷(cost /metric)
-
當到達同一目的地的多條路由具有相同的路由優先級時(內外部都同時),路由開銷最小的將成為當前的最優路由。
-
不同路由協議計算 Cost 的算法不一樣
NextHop:表示對于本路由器而言,到達該路由指向的目的網絡的下一跳地址(下一個設備)。
Interface:表示此路由的出接口(從本路由器的哪個接口轉發出去)
銳捷設備路由表
路由來源
- C 直連路由
- S 靜態路由
- I IS-IS 路由
- O OSPF 路由
- N1/N2 OSPF NSSA 的外部路由類型 1 路由、外部路由類型 2 路由
- E1/E2 OSPF 外部路由類型 1 路由、外部路由類型 2 路由
- B BGP 路由
管理距離(優先級)—— 管理距離越低越優先選擇
- 直連路由 0
- 靜態路由 1
- EBGP 20
- OSPF 110
- ISIS 115
- IBGP 200
- 不可達路由 255
度量值 —— 也就是開銷
將路由重發布到 isis 中時路由的缺省開銷為 1(并且每傳遞給一個設備都會加上接口的開銷)
將路由重發布到 ospf 中時路由的缺省開銷為 20,并且外部開銷類型為 2
路由表信息的來源
路由信息可以通過直連、靜態、動態路由學習到
直連路由:設備自動生成指向本地直連網絡
注意:
-
使用直連路由進行路由轉發時,報文的目的 IP 和路由器接口 IP 在一個網段之中。
-
并不是所有接口生成的直連路由都會出現在路由表中,直連路由出現在路由表中的前提是該接口的物理狀態、協議狀態都為 UP
靜態路由:管理員手工配置的路由條目
優缺點:配置簡單,對系統要求低。不能自動適應網絡拓撲的變化,需要人工干預
注意:
配置靜態路由時可以配置下一跳,也可以配置出接口
一般對于點到點接口(串口)指定出接口
對于以太網接口和 VT 接口,指定下一跳(如果配置為出接口可能會存在網絡不通的問題 – 配置為出接口表示認為該目的地址和自身是同一網段,對于以太網接口來說同網段需要封裝目的 IP 地址的 MAC,此時沒有該目的 IP 的 MAC,并且由于其實際上是不同網段的,ARP 請求也得不到回應,因此無法到達該目的地址 —— 可以通過在下一跳路由器設備開啟 ARP 代理解決)
靜態路由中有個特殊路由為缺省路由,在路由表中一 0.0.0.0/0 的形式存在。當報文沒有在路由表中找到匹配的具體路由時,使用此路由進行轉發。(一般此路由應用于企業出口)
動態路由:路由設備運行動態路由協議學習到的路由
按照工作區域分類
IGP 內部網關協議: RIPv1、RIPv2、OSPFv2、OSPFv3、IS-IS
EGP 外部網關協議:BGP
按照工作機制及算法分類
DV 距離矢量路由協議: RIPv1、RIPv2
路徑矢量路由協議: BGP
LS 鏈路狀態路由協議: OSPFv2、OSPFv3、IS-IS
目前比較常用的就是 BGP 、OSPF、ISIS 協議
路由進表的規則
不是學到的路由都會加入到路由表中,而是從所學的路由條目中選取最優路由加入到路由表中。具體的選舉規則如下(相同網段通過優先級、開銷比較)
網段 / 掩碼相同的選優先級最高的為最優路由
優先級相同的選度量值最小的為最優路由
如果網段 / 掩碼、優先級、度量值都一致,則這些路由可以實現到達某一目的地負載分擔
路由轉發的規則
路由報文轉發是通過轉發表進行轉發的(對于華為來說就是 FIB 表,銳捷為 Ref 表)
路由表是控制層面的,描述了路由的發布形式,路由接收的過程
真正指導路由轉發的是轉發表,當數據包到達設備后直接通過轉發表轉發
當到達同一目的地址只有一條路由條目時,就通過此路由條目轉發
當到達同一目的地址有多條路由條目時,通過最長匹配原則進行轉發
最長匹配原則介紹:
當路由器收到一個 IP 數據包時,會將數據包的目的 IP 地址與自己本地路由表中的所有路由表項進行逐位(Bit-By-Bit)比對,直到找到匹配度最長的條目,然后通過此路由條目找到對應的轉發表進行轉發,這就是最長前綴匹配機制。
注意事項:
優先級、開銷只是指導路由條目進入路由表中
路由轉發時依據最長匹配原則轉發,不需要路由優先級、開銷這些
路由轉發流程:
路由基本概念 2—— 路由高級特性(路由遞歸、等價路由、路由匯總)
靜下心來敲木魚已于 2023-10-02 13:36:34 修改
路由遞歸
路由必須有直連的下一跳才能夠指導轉發,但是路由生成時的下一跳不一定是直連的,此時就需要計算到達此非直連的路由。這個過程就是路由遞歸
等價路由(負載分擔)
到達同一網段有多條路由(優先級、度量值相同,最長匹配也一致,下一跳不一致)
這多條路由就可以被稱為等價路由,也可稱為負載分擔
浮動路由(路由備份)
配置靜態時為到達同一目的網段指定不同的下一跳路由,并且配置不同的優先級
這些路由就稱為浮動路由(路由備份)
路由匯總
什么是路由匯總
路由匯總是將一組具有相同前綴的路由匯聚成一條路由(采用了 CIDR 的思想),從而減小路由條目的數量,降低設備耗能
我們把匯聚之前的路由稱為明細路由(精細路由),匯總后的路由稱為匯總路由(聚合路由)
CIDR(無類別域間路由)
CIDR 采用 IP 地址 + 掩碼長度來標識網絡和子網,而不是按照傳統的 A、B、C 等類型對網絡地址劃分。因此 CIDR 容許任意長度的掩碼長度,可以將多個連續的前綴網段聚合成一個網段,減少路由表條目數量
路由匯總方法
路由匯總借用了 CIDR 的思想,基于一系列連續的、有規律的 IP 網段,將其進行路由匯總。
只不過與 CIDR 有些不同,為了避免匯總太過粗獷,將不需要匯總的路由也包含進去,所以要精確配置路由匯總,即路由匯總需要確保匯總路由剛好 “囊括 “明細路由。
例子 1:
例子 2:
路由匯總帶來的環路問題
路由基本概念 3—— 路由引入
靜下心來敲木魚已于 2023-10-02 14:49:49 修改
路由引入概念
基本概念
路由引入(import 注入、redistribute 重發布)
為什么需要路引入
由于不同路由協議之間的路由算法、機制、開銷等不同,不同的路由協議之間無法直接分享彼此的路由;此時就需要通過路由引入技術將某個路由協議的路由引入到另一個路由協議中也可以相同路由協議之間引入
路由引入的原則
在執行引入的路由器上將某一個協議的**活動路由(即引入的路由必須存在于路由表中)**引入到另外一個路由協議中
注意事項
執行引入的路由器必須同時運行此兩種 / 多種路由協議,才可以執行引入
負責引入的路由器不會改變自身的路由表,引入是外向的,只改變別人,不改變自己
在進行路由引入時,可能會帶來次優路徑、路由環路等問題(常見的解決方法有修改路由優先級、路由 Cost,路由 Tag 等技術)
假設在設備 1 上將路由協議 A 引入到路由協議 B,哪些路由會被引入 B
設備 1 從 A 協議學習到的路由會被引入 B 協議
設備 1 上啟用了 A 協議的接口所在的網絡路由會被引入 B 協議
路由引入的初始度量值
華為設備
-
將其它協議引入到 OSPF,默認開銷為 1,Type2,路由優先級為 150(可以通過 default cost 修改初始度量值)
-
將其它協議引入到 ISIS,默認開銷為 0,Level-2,路由優先級為 15(可以通過 default cost 修改初始度量值)
-
將其它協議引入到 BGP,默認開銷為 IGP 的度量值,路由優先級為 255(可以通過 default med 修改初始度量值)
路由引入更深入的講解
在 AR10 上做路由引入
將 RIP 的路由引入到 ISIS 中,然后再將 ISIS 引入到 OSPF 中
此時 AR11 可以學習到哪個網段的路由(只可以學習到 30.1.1.0/24 和 13.13.13.13 的路由)
將 RIP 引入到 ISIS,此時使得 AR13 通過 ISIS 學習到了 RIP 的路由;
由于是在 AR10 上做的引入,所以 AR10 在引入后關于 ISIS 的路由與在引入前關于 ISIS 的路由是相同的,都是只有 30.1.1.0/24 和 13.13.13.13 的路由
此時再在 AR10 上將 ISIS 引入到 OSPF,OSPF 只可以學習到 30.1.1.0/24 和 13.13.13.13 的路由,無法學習到 20.1.1.0/24 和 12.12.12.12 的路由
在 AR13 上將將 RIP 的路由引入到 ISIS 中
在 AR10 上然后再將 ISIS 引入到 OSPF 中
此時 AR11 可以學習到那個網段的路由(可以學習到 30.1.1.0/24、20.1.1.0/24、13.13.13.13、12.12.12.12)的路由
在 AR13 上將 RIP 引入到 ISIS,此時 AR10 關于 ISIS 的路由表學習到了 20.1.1.0/24 和 12.12.12.12 的路由
在 AR10 上將 ISIS 引入到 OSPF,此時 AR11 就可以學習到 30.1.1.0/24、20.1.1.0/24、12.12.12.12、13.13.13.13 的路由了
路由引入的方式
單點雙向路由引入
單點單向路由引入(需要下發缺省路由實現互訪)
多點雙向路由引入(此處為雙點雙向)
多點單向路由引入
同單點單向,需要下發缺省路由實現互訪
不同路由引入方式存在的問題**
單點單向引入場景
什么是單點單向
單點單向:在一臺設備上,將某個協議路由引入到另一個協議路由中
單點單向可能造成的問題 —— 次優路徑
在單點單向引入場景中,如果將低路由優先級引入到高路由優先級中,可能會存在次優路徑;將高路由優先級引入到低路由優先級中,則不會存在次優路徑
次優場景
在 AR5 上將 RIP 引入到 ISIS 中
AR4、AR6 通過 ISIS 學習到 7.7.7.7,優先級為 15
由于 AR6 在 AR5 進行路由引入前已經通過 RIP 學習到了 7.7.7.7 的路由,優先級為 100;所以在 AR5 進行路由引入后,發現通過 ISIS 學習到的 7.7.7.7 的路由優先級更高
此時 AR6 訪問 7.7.7.7 會使用 ISIS 學習到的路由(AR6-AR4-AR5-AR7),造成次優路徑
如何解決次優路徑 —— 通過調整路由的優先級或過濾路由來實現
1、在 AR6 上將 AR5 引入的路由的優先級調低(低于 RIP 的路由優先級,即將優先級數值調到高于 100)
2、在 AR6 上將從 RIP 學來的路由優先級調高(高于 ISIS 的路由優先級,即將優先級數值調到小于 15)
3、由于 AR6 已經有 RIP 和 ISIS 的地址了,所以可以對從 AR5 引來的路由做過濾
雙點單向引入
什么是雙點單向
雙點單向:在兩臺設備上,將某個協議路由引入到另一個協議路由中
雙點單向可能造成的問題 —— 會造成次優、路由回饋、環路場景
在雙點單向引入場景中,如果將低路由優先級引入到高路由優先級中,可能會存在次優路徑;將高路由優先級引入到低路由優先級中,則不會存在次優路徑
在雙點單向引入場景中,會有路由回饋的場景(R1 和 AR2 設備同時運行了 A 協議和 B 協議,此時在 AR1 上將 A 引入 B,在 AR2 上將 B 引入 A,將從 A 協議學到的路由又引入到 A 協議中,就稱為路由回饋),如果發生了路由回饋現象可能會引起環路
次優場景
在此場景中,AR5 和 AR6 只有一個會有次優(具體誰會次優要看 AR5 和 AR6 誰先做的引入)
假如 AR5 先將 RIP 引入到 ISIS,然后 AR6 再將 RIP 引入到 ISIS
此時 AR5 將 RIP 引入到 ISIS,造成 AR6 去往 7.7.7.7 次優
此時 AR6 關于 RIP 的路由表就沒有 7.7.7.7 了,所以此時在 AR6 上將 RIP 引入到 ISIS 中時不引入 7.7.7.7
AR5 去往 7.7.7.7 也不會次優
如何解決次優路徑 —— 通過調整路由的優先級或過濾路由來實現
1、在 AR6 上對 AR5 引入的路由修改優先級(高于 ISIS 的路由優先級,即將優先級數值調到小于 15);在 AR5 上對 AR6 引入的路由也修改優先級(高于 ISIS 的路由優先級,即將優先級數值調到小于 15)
2、在 AR6 上對 AR5 引入的路由修改優先級(高于 ISIS 的路由優先級,即將優先級數值調到小于 15);在 AR5 上對 AR6 引入的路由也修改優先級(高于 ISIS 的路由優先級,即將優先級數值調到小于 15)
3、在 AR5 上對 AR6 引入的路由進行過濾,在 AR6 上對 AR5 引入的路由進行過濾
次優與環路同時存在場景
將 8.8.8.8 通過 Type2 方式引入到 OSPF 中,設置 Cost 為 2(默認為 1)
然后在 AR5 上將 OSPF 引入到 ISIS 中,在 AR6 上將 ISIS 引入到 OSPF
將 8.8.8.8 引入到 OSPF 中;此時 AR4、AR5、AR6 學習到 8.8.8.8 的路由,優先級為 150,Cost 為 2;此時 AR4、5、6 訪問 8.8.8.8 去往 AR8,正常
在 AR5 上將 OSPF 引入到 ISIS 中;此時 AR6 學習到 8.8.8.8 的路由,優先級為 15(將之前優先為 150 的替換);此時 AR6 訪問 8.8.8.8 去往 AR7,AR6 訪問 8.8.8.8 就造成次優路徑(單點單向造成次優);AR4 和 AR5 去往 8.8.8.8 還是正常路徑,無次優
在 AR6 上將 ISIS 引入到 OSPF 中(路由回饋);此時 AR6 去往 8.8.8.8 的路由是從 ISIS 學到的,將 ISIS 引入到 OSPF 時,此時 AR4 會從 AR6 學習到 8.8.8.8 的路由,優先級為 150,Cost 為 1,Type 為 2(將之前 Cost 為 2,Type 為 2 的路由替換);此時 AR4 訪問 8.8.8.8 就去往 AR6,AR5 訪問 8.8.8.8 去往 AR4,AR6 訪問 8.8.8.8 去往 AR5;在此場景下就形成了路由環路
如何解決次優與環路問題 —— 通過優先級、過濾或 Tag 解決
1、在 AR6 上將 AR5 引入的路由優先級調低,此時 AR6 去往 8.8.8.8 就走 OSPF,然后在 AR6 上引入 ISIS 時就不會引入 8.8.8.8 的路由了,避免了路由環路與次優
2、在 AR6 上對 AR5 引入的路由進行過濾,此時 AR6 去往 8.8.8.8 就走 OSPF,然后在 AR6 上引入 ISIS 時就不會引入 8.8.8.8 的路由了,避免了路由環路與次優
3、只使用優先級、過濾可以解決次優與環路問題,不過無法解決路由回饋問題,可以使用 tag 技術來避免路由回饋,在 AR5 上將 OSPF 引入 ISIS 時打上 Tag 10,然后在 AR6 上將 ISIS 引入 OSPF 時拒絕引入 Tag 10;在 AR6 上將 ISIS 引入 OSPF 時打上 Tag 20,然后在 AR5 上將 OSPF 引入 ISIS 時拒絕 Tag 20;此時就不存在路由回饋
注意:此場景下 Tag 只可以解決路由回饋問題,無法解決次優路徑問題
單點雙向引入
什么是單點雙向
單點雙向:在一臺設備上,將 A 協議路由引入到 B 協議路由中,然后再將 B 協議路由引入到 A 協議路由中
單點雙向可能引起路由次優,不會引起路由回饋
在單點多向引入場景中,如果將低路由優先級引入到高路由優先級中,可能會存在次優路徑
因為在單點引入,此設備上的路由表不會發生變化,所以在進行引入是不會進行回饋
次優場景
在 AR8 上將 8.8.8.8 宣告進 OSPF,在 AR5 上將 ISIS 引入 OSPF,然后將 OSPF 引入 ISIS
在 AR5 上將 OSPF 引入 ISIS,AR6 通過 ISIS 學到 8.8.8.8 優先級更高,AR6 去往 8.8.8.8 的下一跳為 AR7
在 AR5 上將 ISIS 引入 OSPF,此時 AR5 上 ISIS 的路由表沒有從 OSPF 引入的路由,所以將 ISIS 引入到 OSPF 時,不會發生路由回饋
可以通過通過優先級、過濾解決次優路徑
1、在 AR6 上將 AR5 引入的路由優先級調低
2、在 AR6 上對 AR5 引入的路由進行過濾
雙點雙向引入
什么是雙點雙向
雙點雙向:在一臺設備上,將 A 協議路由引入到 B 協議路由中,然后再將 B 協議路由引入到 A 協議路由中;在另一臺設備上,將 A 協議路由引入到 B 協議路由中,然后再將 B 協議路由引入到 A 協議路由中
雙點雙向可能引起路由次優、路由環路,一定會存在路由回饋
根據做引入的順序,解決方式的應用地點可能發生改變
次優與環路場景
將 8.8.8.8 通過 Type2 方式引入到 OSPF 中,設置 Cost 為 2(默認為 1)
在 AR5 上將 OSPF 引入到 ISIS 中,然后在 AR6 上將 ISIS 引入到 OSPF(先)
在 AR6 上將 OSPF 引入到 ISIS 中,然后在 AR5 上將 ISIS 引入到 OSPF(后)
在 AR5 上將 OSPF 引入到 ISIS 中,然后在 AR6 上將 ISIS 引入到 OSPF;此時會造成次優與環路(就是多點單向)
在 AR6 上將 OSPF 引入到 ISIS 中,然后在 AR5 上將 ISIS 引入到 OSPF;
解決上述問題后,此時在進行引入,又會出現環路和次優的問題(AR4 去往 8.8.8.8 的下一跳為 AR5,AR5 的下一跳為 AR7)
并且由于次優,使得雙點雙向無法實現負載分擔(由于 AR6 關于 8.8.8.8 的路由是走 ISIS,所以在 AR6 將 OSPF 引入 ISIS 后,AR7 沒有從 AR6 學習到 6.6.6.6 的路由;AR7 對于 8.8.8.8 的路由無法負載或沒有備份)
如何解決次優與環路、無備用路徑的問題 —— 通過優先級、過濾或 Tag 解決
1、在 AR6 上將 AR5 引入的路由優先級調低,此時 AR6 去往 8.8.8.8 就走 OSPF;在 AR5 上將 AR6 引入的路由優先級調低,此時 AR6 將 OSPF 引入 ISIS 時 AR6 也不會產生次優
2、在 AR6 上對 AR5 引入的路由進行過濾,此時 AR6 去往 8.8.8.8 就走 OSPF;在 AR5 上對 AR6 引入的路由進行過濾
3、只使用優先級、過濾可以解決次優與環路問題,不過無法解決路由回饋問題,可以使用 tag 技術來避免路由回饋,在 AR5 上將 OSPF 引入 ISIS 時打上 Tag 10,然后在 AR6 上將 ISIS 引入 OSPF 時拒絕引入 Tag 10;在 AR6 上將 ISIS 引入 OSPF 時打上 Tag 20,然后在 AR5 上將 OSPF 引入 ISIS 時拒絕 Tag 20;在 AR6 上將 OSPF 引入 ISIS 時打上 Tag 30,然后在 AR5 上將 ISIS 引入 OSPF 時拒絕引入 Tag 30;在 AR5 上將 ISIS 引入 OSPF 時打上 Tag 40,然后在 AR5 上將 OSPF 引入 ISIS 時拒絕 Tag 40;
以上解決次優、環路的方法不唯一,只是列舉了其中比較常用的方式,具體解決方法根據現場環境進行解決即可。
華為雙點雙向路由引入實驗配置
靜下心來敲木魚已于 2023-05-13 21:49:06 修改
路由底層搭建
AR1、AR2、AR3、AR5 運行 OSPF 協議
AR1
ospf 1
area 0.0.0.0
interface Serial4/0/0
link-protocol ppp
ip address 15.0.0.1 255.255.255.0
ospf enable 1 area 0.0.0.0
interface GigabitEthernet0/0/0
ip address 12.0.0.1 255.255.255.0
ospf enable 1 area 0.0.0.0
interface GigabitEthernet0/0/1
ip address 13.0.0.1 255.255.255.0
ospf enable 1 area 0.0.0.0
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
ospf enable 1 area 0.0.0.0
AR2
ospf 1
area 0.0.0.0
interface GigabitEthernet0/0/0
ip address 12.0.0.2 255.255.255.0
ospf enable 1 area 0.0.0.0
AR3
ospf 1
area 0.0.0.0
interface GigabitEthernet0/0/1
ip address 13.0.0.3 255.255.255.0
ospf enable 1 area 0.0.0.0
AR5—— 在 AR5 上引入 Loop0 地址(為了方便觀察,本次通過路由策略只引入 5.5.5.5 的路由)
ip ip-prefix loop0 index 10 permit 5.5.5.5 32
route-policy loop0 permit node 10
if-match ip-prefix loop0
ospf 1
import-route direct route-policy loop0
area 0.0.0.0
interface Serial4/0/0
link-protocol ppp
ip address 15.0.0.5 255.255.255.0
ospf enable 1 area 0.0.0.0
interface LoopBack0
ip address 5.5.5.5 255.255.255.255
AR2、AR3、AR4 運行 ISIS 協議(level 為 2)
AR2
isis 1
is-level level-2
network-entity 49.0001.2222.2222.2222.00
interface GigabitEthernet0/0/1
ip address 24.0.0.2 255.255.255.0
isis enable 1
AR3
isis 1
is-level level-2
network-entity 49.0001.3333.3333.3333.00
interface GigabitEthernet0/0/0
ip address 34.0.0.3 255.255.255.0
isis enable 1
AR4
isis 1
is-level level-2
network-entity 49.0001.4444.4444.4444.00
interface GigabitEthernet0/0/0
ip address 34.0.0.4 255.255.255.0
isis enable 1
interface GigabitEthernet0/0/1
ip address 24.0.0.4 255.255.255.0
isis enable 1
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
isis enable 1
配置雙點雙向引入
在 AR2 上將 OSPF 引入 ISIS,然后在 AR3 上將 ISIS 引入 OSPF
故障現象
在 AR2 上將 OSPF 引入 ISIS,會使得 AR3 產生次優路徑
此時在 AR3 上將 ISIS 引入 OSPF,AR1 去往 5.5.5.5 的路由下一跳為 AR3,此時產生環路
通過在 AR3 上配置 5.5.5.5 的優先級來解決(將從 OSPF 學來的優先級調到低于 15)
配置前綴列表
ip ip-prefix modify_pre index 10 permit 5.5.5.5 32
配置路由策略修改優先級
route-policy modify_pre permit node 10
if-match ip-prefix modify_pre
apply preference 13
route-policy modify_pre permit node 20
在 OSPF 應用路由策略針對 ase 路由實現優先級的修改
ospf 1
preference ase route-policy modify_pre 150
此時 AR3 和 AR1 去往 5.5.5.5 的路由都回歸正常
在 AR3 上將 OSPF 引入 ISIS,然后在 AR2 上將 ISIS 引入 OSPF
故障現象
在 AR3 上將 OSPF 引入 ISIS,會使得 AR2 產生次優路徑
此時在 AR2 上將 ISIS 引入 OSPF,AR1 去往 5.5.5.5 的路由下一跳為 AR2,此時產生環路
并且此時,AR4 關于去往 5.5.5.5 的路由只有一個下一跳(去往 AR3 - 因為 AR2 上的 5.5.5.5 的路由此時走的是 ISIS,在 AR3 無法從 AR2 上學習到 5.5.5.5 的路由)
通過在 AR2 上配置 5.5.5.5 的優先級來解決(將從 ISIS 學來的優先級調到高于 150)
配置前綴列表
ip ip-prefix modify_pre index 10 permit 5.5.5.5 32
配置路由策略修改優先級
route-policy modify_pre permit node 10
if-match ip-prefix modify_pre
apply preference 151
route-policy modify_pre permit node 20
在 ISIS 應用路由策略實現優先級的修改
isis 1
is-level level-2
preference route-policy modify_pre
此時 AR2 和 AR1 去往 5.5.5.5 的路由都回歸正常
此時 AR4 去往 5.5.5.5 的路由也有多條路徑
通過標簽來避免路由回饋
AR2 在將 OSPF 引入 ISIS 中時,打上標簽 10,拒絕引入標簽 20
AR3 在將 ISIS 引入 OSPF 中時,打上標簽 20,拒絕引入標簽 10
AR2 在將 ISIS 引入 OSPF 中時,打上標簽 30,拒絕引入標簽 40
AR3 在將 OSPF 引入 ISIS 中時,打上標簽 40,拒絕引入標簽 30
AR2
route-policy ospf2isis permit node 10
apply tag 10
route-policy ospf2isis deny node 20
if-match tag 20
isis 1
cost-style wide ISIS 需要攜帶 Tag 時,要把開銷方式配置為寬帶方式,否則不傳遞標簽屬性(Tag 傳遞依靠擴展 TLV)
import-route ospf 1 route-policy ospf2isis
route-policy isis2ospf permit node 10
apply tag 30
route-policy isis2ospf deny node 20
if-match tag 40
ospf 1
import-route isis 1 route-policy isis2ospf
AR3
route-policy isis2ospf permit node 10
apply tag 20
route-policy isis2ospf deny node 20
if-match tag 10
ospf 1
import-route isis 1 route-policy isis2ospf
route-policy ospf2isis permit node 10
apply tag 40
route-policy ospf2isis deny node 20
if-match tag 30
isis 1
cost-style wide
import-route ospf 1 route-policy ospf2isis
via:
-
路由基本概念 1—— 路由表信息、路由進表以及轉發流程、最長掩碼匹配原則 - CSDN 博客
https://blog.csdn.net/m0_49864110/article/details/125718777 -
路由基本概念 2—— 路由高級特性(路由遞歸、等價路由、路由匯總)_銳捷路由優先級 - CSDN 博客
https://blog.csdn.net/m0_49864110/article/details/131384874 -
路由基本概念 3—— 路由引入 - CSDN 博客
https://blog.csdn.net/m0_49864110/article/details/126627749 -
華為雙點雙向路由引入實驗配置_配置雙點雙向 - CSDN 博客
https://blog.csdn.net/m0_49864110/article/details/128679892