Cisco 300-410: MPLS、VRFs 與第三層 VPN 服務 — 學習指南
屬於 Cisco CCNP Enterprise 300-410 ENARSI — 學習指南. 使用經過驗證的解答練習: Cisco 考試中心, 或參加限時模擬考試: ExamRoll.io.
概觀
多協定標籤交換 (MPLS) Layer 3 VPN 將客戶路由分隔到虛擬路由轉送執行個體 (VRF) 中,同時使用共享的供應商核心進行傳輸。供應商邊緣 (PE) 路由器會加上和移除標籤堆疊,讓供應商 (P) 路由器純粹根據標籤進行轉送,從而保持擴展性和隔離性。MP-BGP 使用路由識別碼 (RD) 來分發 VPN 路由 (VPNv4/VPNv6) 以確保唯一性,並使用路由目標 (RT) 來控制匯入/匯出策略。適當的設計要求明確劃分客戶和供應商的角色、謹慎的標籤分發,以及針對路由洩漏和共享服務的明確策略。維運需要可預測的控制平面狀態 (IGP、LDP/RSVP、MP-BGP) 和確定性的資料平面行為 (標籤堆疊、PHP),並在 CE–PE–核心邊界之間進行嚴格的驗證和故障隔離。
MPLS 轉送與標籤分發
標籤格式與堆疊
- 一個 MPLS shim 標頭包含一個 20 位元的標籤、3 位元的流量類別 (TC/EXP)、1 位元的堆疊底部 (S) 和 8 位元的 TTL。
- 封包帶有一個堆疊:外部的「傳輸」標籤用於 PE 到 PE 的 LSP,內部的「VPN」標籤則用於識別出口 PE 的 VRF (或服務)。
- 倒數第二跳彈出 (PHP) 會在倒數第二個 P 路由器上移除頂層標籤,以減少出口 PE 的負載;可以使用 explicit-null 來保留頂層標籤,以維持到出口的 QoS/TTL 語意。
LDP 基礎
- P 和 PE 路由器通常會執行內部閘道協定 (IGP) 來建立可達性,並執行標籤分發協定 (LDP) 來將轉送等價類別 (FEC) 映射到標籤。
- LDP 透過 UDP/646 的 hello 封包發現鄰居,並在 TCP/646 上建立標籤會話,提供可靠的標籤信令。目標 LDP (tLDP) 可以為特定的 FEC 建立非直接連結的會話。
- 標籤分配/傳播風格:
- 獨立控制 vs 有序控制:路由器可以在一知道路由時就為 FEC 分配標籤 (獨立),或者只有在從其下一跳收到標籤後才分配 (有序)。
- 自由標籤保留 vs 保守標籤保留:保留所有收到的標籤,或只保留來自最佳下一跳的標籤,這是記憶體與收斂靈活度之間的權衡。
- LDP 路由器 ID 預設為最高的 loopback 位址 (如果存在的話),否則為最高的活動介面位址。穩定它 (以及傳輸層) 以避免會話抖動;考慮 LDP-IGP 同步以防止在收斂期間發生黑洞。
P 路由器的控制平面範疇
- 核心 P 路由器不承載 VPN 路由;它們只執行底層 (IGP) 和標籤信令 (LDP 或 RSVP-TE)。RSVP-TE 可以用來取代 LDP 或與 LDP 一起使用,以進行流量工程。
資料平面路徑
- 入口 PE 推入 VPN 和傳輸標籤;P 路由器僅交換外部標籤;倒數第二個 P 彈出傳輸標籤 (除非使用 explicit-null);出口 PE 彈出 VPN 標籤,選擇 VRF,並透過正常的 IP 查詢進行轉送。
實用設定啟用方式 (IOS/IOS XE)
- 在面向核心的介面上:mpls ip
- 全域設定:mpls label protocol ldp
- 驗證:show mpls ldp neighbor, show mpls ldp bindings, show mpls forwarding-table
L3VPN 架構:角色、VRF、RD、RT 與 MP-BGP
角色與分界
- CE (Customer Edge):執行面向 PE 的協定 (靜態、eBGP、OSPF、EIGRP) 並持有客戶路由;對 MPLS 無感知。
- PE (Provider Edge):持有每個租戶的 VRF,參與 MP-BGP (VPNv4/VPNv6),並加上/剝除標籤。
- P (Provider Core):僅進行標籤交換;沒有 VRF 狀態。
- 客戶:CE 和租戶路由策略的管理所有者。
VRF 與位址重疊
- 每個租戶都有一個 VRF (獨立的 RIB/FIB)。允許不同租戶之間有重疊的 IPv4/IPv6 位址空間。
- 路由識別碼 (RD) 透過在字首前加上「RD:」來形成 VPNv4/VPNv6 NLRI,使每個 VRF 的路由成為全域唯一;RD 不是一種安全機制,也不控制策略。
- 路由目標 (RT) 是 BGP 擴充社群屬性,用於在匯出時標記路由,並選擇一個 VRF 要匯入哪些路由。RT 策略是權威的匯入/匯出控制機制。
MP-BGP 位址家族
- VPNv4:AFI 1,SAFI 128。MP_REACH_NLRI 攜帶下一跳和每個路由的 VPN 標籤。VPNv4 路由僅在 PE 節點 (以及路由反射器) 之間分發。
- VPNv6 (6VPE):AFI 2,SAFI 128。允許在 IPv4 MPLS 核心上實現 IPv6 VPN。BGP 下一跳可以保持為 IPv4;PE 會為每個 IPv6 路由分配 VPN 標籤。
- 在 PE–PE BGP 會話上啟用擴充社群屬性,以便攜帶 RT。
簡化設定模式 (PE)
定義 VRF 和 CE 附掛:
undefined
-
undefined
用於 VPNv4 的 MP-BGP:
undefined
每個 VRF 的位址家族:
undefined
-
undefined
用於 6VPE:
undefined
- 驗證
- show ip route vrf CUST-A
- show bgp vpnv4 vrf CUST-A
- show bgp vpnv6 vrf CUST-A
- show bgp vpnv4 all summary
策略、路由洩漏、共用服務與網路區隔
RT 匯入/匯出策略
- 匯出:從一個 VRF 為路由加上一個或多個 RT 的標籤。匯入:一個 VRF 會匯入任何其 RT 符合其匯入列表的路由。
- 透過每個 VRF 的 route-map (匯出/匯入圖) 來達成精細的控制,這些 route-map 會比對前綴並設定/操作 RT。這能限制非預期的路由擴散。
路由洩漏方法
- 基於 RT 的洩漏 (建議作法):定義一個共用服務 VRF,用 RT SVC 匯出服務前綴,並將 RT SVC 匯入到選定的租戶 VRF 中。在租戶端使用匯出圖 (export map) 來限制哪些租戶路由會被匯出回服務端。
- 本地 VRF 到 VRF 的洩漏:在某些平台上,靜態路由可以指向其他 VRF 中的介面,或者 BGP 可以在同一個 PE 上的 VRF 之間建立對等關係。請謹慎使用;這種方式會繞過 RT 策略,且可能更難稽核。
- 安全性權衡:
- 過於寬鬆的匯入會導致任意對任意 (any-to-any) 的連通性,並可能造成橫向移動。
- 沒有過濾器的對稱洩漏可能會產生回饋迴圈,或暴露管理/基礎設施的前綴。
- 偏好採用軸輻式 (hub-and-spoke) 的共用服務模型,搭配明確的允許清單 (route-map) 和防火牆連鎖機制。
分段路由 (Segmented routing) 概念與遷移
- 企業網路區隔始於在園區和資料中心內部使用 VRF-Lite。MPLS L3VPN 將這些區隔延伸跨越廣域網路 (WAN),無需 NAT,並保留重疊的 IP。
- 遷移方法:
- 將每個地端的 VRF-Lite 區隔對應到一個供應商的 RT 配對。
- 使用 CE–PE 路由 (偏好使用 eBGP) 以確定性的方式交換每個區隔的路由。
- 導入一個共用服務 VRF 以提供 DNS/AD/網際網路出口,並選擇性地將其匯入。
- 支援未來的底層網路 (underlay):
- 基於 LDP 或 RSVP-TE 的 LSP 已被廣泛部署。Segment Routing MPLS (SR-MPLS) 可以在底層網路 (underlay) 中取代 LDP/RSVP,同時保持 L3VPN 服務模型完全相同;唯一的差別是傳輸標籤來自 SR 而非 LDP/RSVP。
Operations: 控制平面、資料平面、驗證與故障隔離
端對端封包流程
- CE 將一個 prefix 通告給 ingress PE,並匯入 VRF X。
- Ingress PE 將其安裝到 VRF X 的 RIB/CEF 中,用 export RTs 加上標籤,建立一個 VPNv4/v6 NLRI (RD:prefix) 並分配一個 VPN label。
- MP-BGP 將路由通告給遠端的 PE (或透過 route reflectors),並攜帶 next hop (ingress PE 的 loopback) 和 VPN label。
- IGP 和 LDP/RSVP 建立一個朝向 egress PE next hop 的 transport LSP。
- 資料平面:ingress PE 推入 VPN label (內層) 和 transport label (外層);P 路由器交換外層 label;penultimate P 彈出外層 label (PHP);egress PE 使用內層 label 來選擇 VRF 並轉送到 egress CE。
常見的故障模式與權衡取捨
- Underlay 連線能力或 LDP 中斷:MP-BGP 可能仍然是 up 的狀態,但若沒有 transport LSP,ingress PE 無法推入有效的外層 label;封包會被丟棄。使用 LDP-IGP sync 來防止黑洞 (blackholing)。
- 缺少 VPN label:VPNv4 路由存在但沒有 label (或 label 3 帶有非預期的語意) 會中斷轉送。確認 egress PE 為每個 VRF 分配 label;檢查是否有政策抑制了 label 的通告。
- RT 不匹配:路由存在於傳送端的 VRF,但未被接收端匯入。驗證 RTs 以及 extended communities 是否有被交換 (send-community extended)。
- MTU/分片:label 堆疊會增加額外負擔。確保核心和 PE 介面支援足夠的 MPLS MTU 以避免丟包;如有需要,調整 MSS。
- QoS 與 PHP:如果頂層 label 被彈出,在 egress 端的 EXP-to-QoS 對應關係可能會遺失。在 egress hop 上使用 explicit-null 以實現 QoS 透明度。
- VPNv4 中的 iBGP 路徑選擇:如果沒有設定
maximum-paths ibgp N,即使核心網路中有 ECMP,也可能只會使用一條路徑;啟用 multipath 以進行負載分擔。
驗證工作流程
- CE–PE 邊界:
undefined
,
undefined
, 或
undefined
- MP-BGP:
undefined
;
undefined
- Labels:
undefined
;
undefined
;
undefined
- 資料平面:
undefined
;
undefined
或到 egress PE loopback;如果 QoS 在範圍內,則驗證 EXP/TC 標記
健全狀態:考慮在 CE–PE 和 PE–PE 的鄰接關係上使用 BFD 來保護路由會話。
跨 CE、PE 和供應商核心的故障隔離
- 驗證 ingress PE 上存在 CE–PE 鄰居關係和 VRF 路由。
- 確認路由已匯出至 VPNv4,並帶有預期的 RT,且 egress PE 上存在 VPN label。
- 確保從 ingress 到 egress PE 存在 transport LSP (LDP/RSVP 鄰居和朝向 egress PE loopback 的 label)。
- 使用從 PE loopback 發出的 ping/traceroute 測試 PE–PE 的連線能力;驗證 ECMP 的一致性。
- 在 egress PE 上,檢查 VPN label 是否解析到正確的 VRF 和 CE 介面。
- 如果所有控制平面檢查都通過,則擷取資料平面的計數器並驗證 MTU 和 QoS 行為。
實務問題情境
Contoso 製造公司計劃從 VRF-Lite WAN 遷移到供應商的 MPLS L3VPN,同時導入一個用於 Internet 和 DNS 的中央 Shared-Services VRF。租戶 A 和 B 內部都使用 10.10.0.0/16,並且必須保持隔離,除非有選擇性地存取 Shared-Services 的需求。
方法
- 在 PE 上定義 VRF 和 RT 政策
設定:
undefined
undefined
undefined
undefined
-
undefined
undefined
undefined
undefined
-
undefined
undefined
undefined
undefined
- 原理說明:RDs 確保重疊的 10.10.0.0/16 路由之間的唯一性。RTs 定義了分段邊界。為 Shared-Services 使用一個獨特的 RT 提供了一個可控的中心樞紐。
- 將 CE 介面附加到正確的 VRF 並啟動 CE–PE 路由
設定範例:
undefined
undefined
undefined
-
undefined
undefined
undefined
undefined
- 原理說明:CE–PE eBGP 提供了清晰的政策邊界和每個租戶的控制,而不會在租戶之間洩漏屬性。
- 在 PE 之間啟用 MP-BGP 並傳播 RTs 和 VPN labels
設定:
undefined
undefined
undefined
undefined
undefined
undefined
undefined
- 原理說明:VPNv4 通告同時攜帶 RTs 和每個路由的 VPN labels;啟用 iBGP multipath 為跨多個 RR/PE 路徑的 ECMP 做好準備。
- 在核心網路中建立並驗證 transport LSPs
設定:
undefined
-
undefined
undefined
undefined
- 原理說明:LDP 為外層 label 建立 PE-to-PE 的 LSPs。IGP 中的 ECMP 加上 LDP 支援擴展性和收斂性。使用
undefined
和
undefined
進行驗證。
- 實作 Shared-Services 的選擇性路由洩漏
設定 (在租戶上):
undefined
undefined
-
undefined
undefined
-
undefined
undefined
undefined
undefined
-
undefined
undefined
-
undefined
- 原理說明:租戶只匯入 Shared-Services 的路由;Shared-Services 匯入租戶的路由,但只將核准的 prefix 匯出回去,以防止租戶透過這個中心樞紐學習到彼此的路由。
- 驗證控制/資料平面和 MTU/QoS
指令:
undefined
-
undefined
-
undefined
-
undefined
-
undefined
- 原理說明:確認 VRF 路由、label 綁定和端對端連線能力。檢查介面 MTU 以容納 label 堆疊並保留 QoS 標記;如果 egress 需要 EXP 可見性,則啟用 explicit-null。
- 使用 6VPE 導入 IPv6 VPN
設定:
undefined
undefined
undefined
-
undefined
undefined
- 原理說明:在同一個 IPv4 MPLS 核心網路上提供 IPv6 分段,使用每個路由的 VPN labels 和相同的基於 RT 的政策模型。
這個分階段的計劃保留了分段,實現了受控的共享存取,透過核心網路中的 label 交換來擴展,並為快速故障隔離提供了清晰的驗證點。
← 路由重分佈與策略式路由 · 所有領域 · 多點傳播路由與分發 →
練習這些題目 → · 在 ExamRoll.io 上限時練習 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
通過考試 →