簡介
本文說明在提供商邊緣(PE)和客戶邊緣(CE)路由器之間運行開放最短路徑優先(OSPF)路由協定時的環路預防功能和最低配置步驟。它提供一個網路情景,說明向下位元(DN)的使用,這是連結狀態通告(LSA)和網域標籤中的選項。
必要條件
需求
思科建議您瞭解OSPF和多協定標籤交換(MPLS)第3層VPN。
採用元件
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
背景資訊
服務提供商(SP)和CE路由器使用SP和客戶共同同意的路由協定交換路由。本文的範圍是描述使用OSPFv2時的環路預防機制。
在屬於特定虛擬路由和轉發(VRF)或VPN的PE-CE鏈路上使用OSPFv2時,PE路由器:
- 將通過VPN的OSPF接收的路由重新分配到多協定邊界網關協定(MP-BGP)中,並將其通告給其他PE路由器。
- 通過MP-BGP將安裝在VPN中的BGP路由重分佈到該VPN的OSPF例項中,並將其通告給CE路由器。
設定
網路圖表
請考慮使用以下網路拓撲,以瞭解環路預防技術。
在此設定中,可能存在環路。例如,如果CE1將OSPF LSA型別1通告給PE1,PE1將路由重新分發到VPNv4並將其通告給PE2,則PE2將彙總LSA通告給CE2。CE2接收的此路由可以通告回PE3。第三台PE路由器獲知OSPF路由,該路由優於BGP路由,並將該路由重新通告到BGP作為本地路由給客戶站點2。 PE3從未獲知通告的路由並非源自客戶站點2。
為了克服這種情況,當路由從MP-BGP重分發到OSPF時,會在LSA第3、5或7類中標籤DN位,並具有第5和7類LSA的域標籤。
組態
以下是PE路由器上的配置示例。此配置包括VRF配置、在PE-CE路由器之間運行的OSPF進程2、在MPLS核心中作為內部網關協定(IGP)運行的OSPF進程1,以及MP-BGP配置。
DN位
OSPF LSA Options欄位中以前未使用的位稱為DN位。當MP-BGP路由重分發到OSPF時,在型別3、5和7 LSA上設定此位。當另一台PE路由器收到來自已設定DN位的第3、5或7類CE路由器的LSA時,該LSA的資訊不會用於OSPF路由計算。
PE2根據網路拓撲設定重分佈的LSA的DN位,並且PE3上的OSPF進程2從未考慮此LSA進行路由計算。因此,PE3從未將此路由重分佈回MP-BGP。
以下是OSPF報頭的一個示例,其中顯示DN位設定,當PE路由器為第3類LSA通告路由時:
Open Shortest Path First
OSPF Header
Version: 2
Message Type: LS Update (4)
Packet Length: 56
Source OSPF Router: 10.10.23.3 (10.10.23.3)
Area ID: 0.0.0.0 (0.0.0.0) (Backbone)
Checksum: 0x4034 [correct]
Auth Type: Null (0)
Auth Data (none): 0000000000000000
LS Update Packet
Number of LSAs: 1
Summary-LSA (IP network)
.000 1110 0001 0000 = LS Age (seconds): 3600
0... .... .... .... = Do Not Age Flag: 0
Options: 0xa2 (DN, DC, E)
1... .... = DN: Set
.0.. .... = O: Not set
..1. .... = DC: Demand Circuits are supported
...0 .... = L: The packet does NOT contain LLS data block
.... 0... = NP: NSSA is NOT supported
.... .0.. = MC: NOT Multicast Capable
.... ..1. = E: External Routing Capability
.... ...0 = MT: NO Multi-Topology Routing
域標籤
域標籤僅適用於OSPF第5類和第7類LSA。當VPNv4路由從MP-BGP重分發到PE路由器上的OSPF時,會為OSPF外部路由設定域標籤。可以在OSPF Process下使用domain-tag命令手動設定標籤,也可以自動生成32位值:
根據網路拓撲,PE2在將VPNv4路由重分發到OSPF時設定第5類和第7類LSA的域標籤。從未將此LSA考慮用於路由計算,因為DN位已經設定,但它也設定了域標籤,因此LSA被忽略,因為域標籤與VPN/VRF標籤匹配。因此,該路由絕不會重分佈到OSPF中。
此示例顯示從CE3收到的LSA型別5被忽略,其域標籤集與PE3上的本地VRF域標籤集相同:
*Jan 31 00:29:23.947: OSPF-2 EXTER: adv_rtr 10.10.57.5, age 3, seq 0x80000001,
metric 10, metric-type 2, fw-addr 0.0.0.0
*Jan 31 00:29:23.947: OSPF-2 EXTER: Tag equals to VPN Tag, ignoring the LSA
*Jan 31 00:29:23.947: OSPF-2 EXTER: Process partial nssa spf queue
PE3#show ip ospf database external 192.168.5.5
OSPF Router with ID (10.3.3.3) (Process ID 1)
OSPF Router with ID (10.10.68.6) (Process ID 2)
Type-5 AS External Link States
LS age: 38
Options: (No TOS-capability, DC)
LS Type: AS External Link
Link State ID: 192.168.5.5 (External Network Number )
Advertising Router: 10.10.57.5
LS Seq Number: 80000001
Checksum: 0x89A3
Length: 36
Network Mask: /32
Metric Type: 2 (Larger than any link state path)
MTID: 0
Metric: 10
Forward Address: 0.0.0.0
External Route Tag: 3489725928
驗證
用於發現是否為LSA設定了DN位以及應用了域標籤的命令與用於檢查LSA資料庫的命令相同。
此輸出顯示了OSPF第3類和第5類LSA的示例,並突出顯示了當VPNv4路由重新分發到PE2上的OSPF時設定的DN位和標籤:
附註:MPLS VPN OSPF PE-CE總是包含環路預防機制來處理問題。在舊版Cisco IOS®中,按原始IETF草案第3類LSA使用LSA中的DN位,第5類LSA使用標籤。較新的RFC 4576要求為第3類和第5類LSA使用DN位。
這是透過思科錯誤ID CSCtw79182提交的。
具有修復此缺陷的Cisco IOS映像的PE路由器將發起具有DN位和標籤的5類外部LSA,作為環路預防機制。先前的Cisco IOS版本通告了外部路由的唯一用於此目的的標籤。
行為發生變化是因為標籤可以重寫(通過更改VPN域ID或通過路由對映),但DN位不是使用者可控制的。在某些角落案例設計中,某些客戶可能故意禁用了環路預防機制,並覆蓋外部LSA的標籤,以便PE路由器優先使用OSPF路由而非BGP路由。
在較新版本的Cisco IOS中,這是不可能的。絕大多數在教科書配置中使用PE-CE OSPF的客戶不會受到影響。覆蓋標籤的客戶可能會看到行為上的變化。
疑難排解
目前尚無適用於此組態的具體疑難排解資訊。