簡介
本檔案介紹重疊管理通訊協定(OMP)故障情形的疑難排解以及在Cisco SD-WAN中提供網路復原能力的最佳實踐。
必要條件
需求
思科建議您瞭解Cisco Software Defined Wide Area Network(SD-WAN)解決方案。
採用元件
本文中的資訊係根據以下軟體和硬體版本:
- Cisco IOS Catalyst SD-WAN管理器(也稱為vManage)
- Cisco IOS Catalyst SD-WAN驗證器aka vBond
- Cisco IOS Catalyst SD-WAN控制器,又稱vSmart
- vEdge裝置
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
OMP概述
如您所知,Cisco SD-WAN邊緣裝置僅與Catalyst SD-WAN控制器共用路由。要使路由有效並安裝在其轉發表中:
- 下一跳傳輸定位器(TLOC)必須可訪問,即,邊緣裝置必須具有TLOC的有效路由。
- 它指向的活動的TLOC。為了使TLOC處於活動狀態,活動雙向轉發(BFD)會話必須與該TLOC關聯。BFD會話由每台裝置建立,該裝置與每個遠端TLOC建立單獨的BFD會話。如果BFD會話變為非活動狀態,Cisco Catalyst SD-WAN控制器將從轉發表中刪除指向該TLOC的所有OMP路由。
- 必須按照最佳方式計算OMP路由。
雖然所有這些說法都合乎邏輯且直截了當,但在發生故障的情況下,OMP與傳統路由協定(如增強型內部網關路由協定(EIGRP)和開放最短路徑優先(OSPF))之間仍存在顯著差異。
EIGRP故障場景
在下一個網路中,有三個站點,即Site1、Site3和Site4,分別使用具有單個WAN連線的路由器RTR1/RTR2、RTR3和RTR4。傳統的路由協定EIGRP通過IPSec運行,IP1、IP2、IP3和IP4是各自位置的WAN介面IP地址。

現在必須將網路斷開,重點放在RTR3和RTR4上。在RTR3上,通往10.1.4.0/24的路由是通過RTR3-RTR4之間的直接隧道。如果隧道關閉,EIGRP在此情況下如何反應?隧道關閉後,EIGRP將立即運行並向鄰居路由器傳送有關10.1.4.0/24網路的查詢,並根據收到的回複檢查該網路,並在路由表中安裝目標的新路徑,然後執行最佳路徑計算。
這是對傳統路由協定收斂過程的非常簡單的解釋。因此EIGRP等傳統路由協定總體上能夠執行網路重新計算:
- 到達目的地的當前路由關閉時
- 目標沒有可行後繼路由器時
- 當拓撲發生變化時
OMP故障場景
以下將討論OMP的兩個故障場景:
- 直接故障
- 間接失敗
直接故障
在下一個拓撲中,有三個站點具有單個傳輸連線。
站點
|
路由器
|
傳輸定位器(TLOC)
|
系統IP
|
子網
|
SIte1
|
vEdge-1
vEdge-2
|
T1
T2
|
1.1.1.1
2.2.2.2
|
10.1.1.0/24
|
站點3
|
vEdge-3
|
T3
|
3.3.3.3
|
10.1.3.0/23
|
站點4
|
vEdge-4
|
T4
|
4.4.4.4
|
10.1.4.0/24
|

假設Catalyst SD-WAN控制器上的所有內容都設定為預設值。vEdge裝置直接與Catalyst SD-WAN控制器共用路由資訊,並且控制器與所有vEdge裝置共用該資訊。下一個拓撲顯示所有路由器的路由表:

目前,所有BFD會話均已啟動。
vEdge-DC1# show bfd sessions
SOURCE TLOC REMOTE TLOC DST PUBLIC DST PUBLIC DETECT TX
SYSTEM IP SITE ID STATE COLOR COLOR SOURCE IP IP PORT ENCAP MULTIPLIER INTERVAL(msec) UPTIME TRANSITIONS
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.1.1.1 1 up mpls mpls 60.1.1.1 20.1.1.1 12346 ipsec 7 1000 0:00:03:12 0
2.2.2.2 1 up mpls mpls 60.1.1.1 10.10.20.2 12406 ipsec 7 1000 0:06:28:51 0
4.4.4.4 2 up mpls mpls 60.1.1.1 30.1.1.1 12386 ipsec 7 1000 0:00:00:51 0
vEdge-DC1# show omp routes vpn 20 | t
Code:
C -> chosen
I -> installed
Red -> redistributed
Rej -> rejected
L -> looped
R -> resolved
S -> stale
Ext -> extranet
Inv -> invalid
Stg -> staged
IA -> On-demand inactive
U -> TLOC unresolved
PATH ATTRIBUTE
VPN PREFIX FROM PEER ID LABEL STATUS TYPE TLOC IP COLOR ENCAP PREFERENCE
--------------------------------------------------------------------------------------------------------------------------------------
20 10.1.1.0/24 2.2.2.2 43 1005 C,I,R installed 1.1.1.1 mpls ipsec -
2.2.2.2 37 1006 C,I,R installed 2.2.2.2 mpls ipsec -
20 10.1.3.0/24 0.0.0.0 66 1005 C,Red,R installed 3.3.3.3 mpls ipsec -
20 10.1.4.0/24 2.2.2.2 45 1006 C,I,R installed 4.4.4.4 mpls ipsec -
如果vEdge3和vEdge4之間的連線被禁用,則當隧道關閉時,vEdge3和vEdge4的BFD會話也將關閉。這會導致它們將各自的路由標籤為「無效」和「TLOC未解析」。 您可以在下一個輸出中看到這一點:
vEdge3# show bfd sessions
SOURCE TLOC REMOTE TLOC DST PUBLIC DST PUBLIC DETECT TX
SYSTEM IP SITE ID STATE COLOR COLOR SOURCE IP IP PORT ENCAP MULTIPLIER INTERVAL(msec) UPTIME
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.1.1.1 1 up mpls mpls 60.1.1.1 20.1.1.1 12386 ipsec 7 1000 0:05:57:27
2.2.2.2 1 up mpls mpls 60.1.1.1 10.10.20.2 12426 ipsec 7 1000 0:05:57:27
4.4.4.4 4 down mpls mpls 60.1.1.1 30.1.1.1 12406 ipsec 7 1000 NA
vEdge3# show omp routes vpn 20 | t
Code:
C -> chosen
I -> installed
Red -> redistributed
Rej -> rejected
L -> looped
R -> resolved
S -> stale
Ext -> extranet
Inv -> invalid
Stg -> staged
IA -> On-demand inactive
U -> TLOC unresolved
PATH ATTRIBUTE
VPN PREFIX FROM PEER ID LABEL STATUS TYPE TLOC IP COLOR ENCAP PREFERENCE
--------------------------------------------------------------------------------------------------------------------------------------
1 10.1.1.0/24 2.2.2.2 43 1005 C,I,R installed 1.1.1.1 mpls ipsec -
2.2.2.2 37 1006 C,I,R installed 2.2.2.2 mpls ipsec -
1 10.1.3.0/24 0.0.0.0 66 1005 C,Red,R installed 3.3.3.3 mpls ipsec -
1 10.1.4.0/24 2.2.2.2 45 1006 Inv,U installed 4.4.4.4 mpls ipsec -
間接失敗
為了瞭解「間接故障」,假設已定義控制策略,通過vEdge2更改路由10.1.4.0/24在vEdge3上的下一跳,在vEdge4上,10.1.3.0/24的下一跳更改為vEdge1。換句話說,對於vEdge 3和4之間的流量,vEdge 2和1被插入為中間跳。您可以在下一個圖表中看到:

如果存在導致vEdge2和vEdge4之間連線丟失的網路故障,而T2-T4之間的重疊隧道關閉,vEdge3仍具有通過T2的10.1.4.0的有效路由。因此,它會將流量傳送到vEdge2。vEdge2沒有使用vEdge4的有效隧道,因此路由不再處於活動狀態,因此丟棄了流量。

根據早期的日誌和測試,可以得出結論:
- 使用OMP時,不會自動發現路由對等體和下一跳
- 當通道關閉時,不會重新計算拓撲
- 當隧道關閉時,OMP路由至目的地字首不會更改。發生的唯一變化是到下一躍點(即TLOC)的可達性。
- 在直接重疊失敗的情況下,必須提供到同一目的地的多通道隧道冗餘。
- 在重疊路徑中引入中間躍點/躍點時必須特別小心,並且必須提供隧道冗餘以避免缺少流量。
現在您已經知道,預設情況下,OMP不會在重疊失敗時重新計算或重新路由。為了解決此問題,您可以通過控制策略啟用名為「TLOC-Action」的功能。
TLOC-Action
- 在Cisco SD-WAN中,控制策略內的「TLOC操作」允許插入中間躍點(TLOC)以用於流量轉發,同時保持對從源到目的地的完整路徑的可視性。這意味著設定TLOC操作選項可使Cisco Catalyst SD-WAN控制器執行到最終目標裝置的路徑的端到端跟蹤。如果該路徑關閉,控制器將通知收到此OMP路由的WAN邊緣路由器。
- 它提供在主鏈路發生故障時的備份路徑,從而增強了SD-WAN重疊網路中的網路彈性和容錯能力。這是一種通過控制用於到達目的地的TLOC來控制流量如何通過網路路由的方法。
- 在策略中定義TLOC操作時,會指示SD-WAN控制器將中間TLOC插入路由計算,這意味著流量將首先到達此指定的「備份」位置,然後根據需要到達最終目的地。
- 這在您希望通過自動重新路由流量通過不同路徑(通過指定的TLOC)來保證連通性(即使主鏈路斷開)的場景中尤其有用。
在下一個拓撲中,讓我們重點看看vEdge2、vEdge3和vEdge4,以更好地理解它。目前,未定義任何策略,並且vEdge3上的10.1.4.0/24的資料流量正在通過T3和T4之間的直接通道傳輸。

為了提供容錯和網路彈性,將控制策略配置為通過不同路徑(通過指定的TLOC)重新路由流量。

- vEdge4將帶有下一跳T4的直連網路10.1.4.0/24的OMP更新作為「通過T4的10.1.4.0/24」傳送到Catalyst SD-WAN控制器。
- 此路由匹配在SD-WAN控制器上配置的控制策略,並根據其上定義的策略設定新的TLOC和TLOC-Actions,即插入新的「中間TLOC」。
- 控制器現在使用兩個下一跳(中繼TLOC(T3,3.3.3)和最終的TLOC(原始路由的下一跳T4)向vEdge1通告OMP路由。 這使得vEdge1可以知道目的地字首10.1.4.0/24可以通過T2和T4訪問。
現在,基於定義的TLOC-Action的vEdge1轉發10.1.4.0/24的流量。因此,可以在控制平面策略中定義以下四種型別的TLOC-Actions:
- 嚴格(預設) — 「TLOC-Action strict」定義了vEdge1和vEdge4之間的流量必須通過T3(中間躍點),並且如果vEdge1和vEdge4之間的隧道關閉,流量必須丟棄。
- 主要 — 「TLOC-Action primary」定義了vEdge1和vEdge4之間的流量通過中間躍點T3(3.3.3.3),如果此重疊隧道關閉,SD-WAN控制器將通知vEdge1以及通過直接隧道路由到T4的流量。
- 備份 — 「TLOC-Action backup」定義了vEdge1和vEdge4之間的流量直接到達最終的LOC(原始路由的下一跳 — T4),如果vEdge1和vEdge4之間的直接重疊隧道關閉,SD-WAN控制器會通知vEdge1,流量通過中間跳T3。
- 等價多重路徑(ECMP) — 「TLOC-Action ECMP」指定,在正常情況下,vEdge1和vEdge4之間的通訊會透過中間躍點T3和最終躍點T4進行負載平衡。