本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本檔案介紹頻內訊號VRF MLDP,其是用於下一代透過VPN進行多點傳送(mVPN)的設定檔6。 它使用範例和Cisco IOS中的實作來說明行為。
組播標籤分發協定(MLDP)帶內信令,使MLDP核心能夠建立(S,G)或(*,G)狀態,而不使用帶外信令,如邊界網關協定(BGP)或協定無關組播(PIM)。
支援MLDP的組播VPN(MVPN)允許通過VPN特定的樹聚合VPN組播流。
在MLDP核心中未建立客戶狀態,只有預設和資料組播分發樹(MDT)的狀態。
在某些場景中,為VPN流建立的狀態是有限的,看起來不是風險或限制因素。在這些情況下,MLDP可以構建作為傳輸標籤交換路徑(LSP)的帶內MDT。
VPN空間中使用的樹是MDT。全域性表中使用的樹是中轉點到多點(P2MP)或多點到多點(MP2MP)LSP。
在這兩種情況下,單個組播流(VPN或不連線)與MPLS核心中的單個LSP相關聯。流資訊在LSP的轉發等價類(FEC)中編碼。這是帶內信令。
與目前用於在核心中傳輸客戶流量的GRE核心隧道相比,LSM具有優勢,它利用MPLS基礎設施傳輸IP組播資料包,為單播和多播提供公共資料平面。
MLDP信令提供兩種功能:
「型別化萬用字元FEC元素」是指滿足約束條件的指定型別的所有FEC。 它指定「FEC元素型別」和可選約束,旨在提供其他資訊。
鍵入的萬用字元FEC元素的格式為:
鍵入的萬用字元:一個八位組FEC元素型別(0x05)。
LDP [RFC5036]分配用於轉發等價類(FEC)的標籤。 LDP使用LDP消息中的FEC TLV來指定FEC。
LDP FEC TLV包括一個或多個FEC元件。 FEC元素包括FEC型別和可選的、與型別相關的值。
RFC 5036指定兩個FEC型別(首碼和萬用字元),其他檔案指定其他FEC型別;例如,請參閱[RFC4447]和[MLDP]。
如RFC 5036所指定,萬用字元FEC元素是指與可選約束有關的所有FEC。
唯一的約束RFC 5036指定的約束是將萬用字元FEC元素的範圍限製為「繫結到給定標籤的所有FEC」的約束。
萬用字元FEC元素的RFC 5036規範具有以下缺陷,限制了其實用性:
步驟1.在核心節點中啟用MPLS MLDP。
# mpls mldp logging
步驟2.在核心中啟用MLDP帶內信令。
在PE1、PE2和PE3上
# ip multicast vrf INBAND-MLDP mpls mldp
# ip pim vrf INBAND-MLDP mpls源環回0
步驟3.在所有CE介面和PE VRF介面中啟用PIM SM。
在CE1、CE2、CE3和所有VRF介面PE1、PE2和PE3上
# interface x/x
# ip pim sparse-mode
# interface loopback x/x
# ip pim sparse-mode
附註:僅在提供商邊緣路由器上面向CE的介面中啟用PIM-Mode;在核心中不需要。
步驟4.在VRF中啟用組播。
在PE1、PE2和PE3上
# ip multicast-routing vrf INBAND-MLDP
步驟5.在PE路由器的PE-CE介面x/x上啟用VRF。
# interface x/x
# ip vrf forwarding INBAND-MLDP
步驟6.在CE和PE節點中配置模式SSM(僅限VRF)。
在CE節點上
# ip pim ssm default
在VRF下的PE1、PE2、PE3上
# ip pim vrf INBAND-MLDP ssm預設值
步驟7.配置IGMP組SSM 232.1.1.1(接收器)。
在接收器2和3上
CE #interface x/x
# ip pim join-group 232.1.1.1 source 10.1.0.2
IGP、MPLS LDP、BGP在我們的網路端到端運行良好。
在本節中,驗證是為了檢查核心/匯聚網路中的VPN AF鄰接關係。檢查CE-PE之間的鄰接關係,並且還會檢查控制平面以及資料平面,以便通過MPLS網路進行VPN流量。
要驗證本地和遠端客戶邊緣(CE)裝置是否可以通過多協定標籤交換(MPLS)核心進行通訊,請執行以下任務:
任務1:檢驗物理連線。
任務2:驗證BGP地址系列VPNv4單播。
任務3:驗證端到端組播流量。
PE1、PE2和PE3上的PE VRF mRIB條目
任務4:驗證MPLS核心。
驗證PE路由器根據IP報頭轉發並在進入MPLS網路時向資料包新增MPLS標籤時是否發生標籤施加的控制平面。
在標籤施加的方向上,路由器根據CEF表查詢來交換資料包以查詢下一跳,並為目的地新增儲存在FIB中的相應標籤資訊。當路由器在MPLS資料包的核心中執行標籤交換時,路由器會執行MPLS表查詢。路由器從CEF表和標籤資訊庫(LIB)中的資訊匯出此MPLS表(LFIB)。
當PE路由器收到MPLS資料包,根據MPLS標籤做出轉發決策,刪除標籤,並傳送IP資料包時,就會發生標籤處置。PE路由器使用LFIB來確定資料包在該方向上的路徑。如前所述,特殊的iBGP會話有助於在PE路由器之間通告VPNv4字首及其標籤。在廣告PE,BGP為本地學習的VPN字首分配標籤,並將它們安裝在LFIB(即MPLS轉發表)中。
步驟1.在核心中配置MLDP後,這些消息將交換。
MLDP: P2MP Wildcard label request sent to 11.11.11.11:0 success MLDP: MP2MP Wildcard label request sent to 11.11.11.11:0 success MLDP-MFI: Enabled MLDP MFI client on Lspvif0; status = ok LDP Peer 11.11.11.11:0 re-announced MLDP-NBR: 11.11.11.11:0 UP sess_hndl: 1, (old ID: 0.0.0.0:0) mLDP-RW: Sending RW notification message to process: mLDP Process mLDP-RW: RW Tracking started for: 11.11.11.11 MLDP-LDP: [id 0] Wildcard label request from: 11.11.11.11:0 label: 0 root: 6.2.0.0 Opaque_len: 0 sess_hndl: 0x1 MLDP-LDP: [id 0] Wildcard label request from: 11.11.11.11:0 label: 0 root: 8.2.0.0 Opaque_len: 0 sess_hndl: 0x1 Neighbor 11.11.11.11 request for the label request to PE1.
使用此調試檢查前面的建立:
# debug mpls mldp all
附註:通過重新播放來自對等體的標籤資料庫來響應鍵入的萬用字元標籤請求,獲取字首。使用對對等體的型別化萬用字元標籤請求來請求重放字首的對等標籤資料庫。
步驟2.在VRF中啟用帶內信令。
PE1 # Config t # ip pim vrf MLDP-INBAND mpls source loopback 0 # ip multicast vrf MLDP-INBAND mpls mldp MLDP: Enabled IPv4 on Lspvif0 unnumbered with Loopback0 MLDP-MFI: Enable lsd on int failed; not registered; MLDP: Enable pim on lsp vif: Lspvif0 MLDP: Add success lsp vif: Lspvif0 address: 0.0.0.0 application: MLDP vrf_id: 1 MLDP-DB: Replaying database events for opaque type value: 250 %LINEPROTO-5-UPDOWN: Line protocol on Interface Lspvif0, changed state to up PIM(1): Check DR after interface: Lspvif0 came up! PIM(1): Changing DR for Lspvif0, from 0.0.0.0 to 1.1.1.1 (this system) %PIM-5-DRCHG: VRF MLDP-INBAND: DR change from neighbor 0.0.0.0 to 1.1.1.1 on interface Lspvif0 Use this Debug to check the preceding establishment # debug ip pim vrf LDP-INBAND6 PE1#sh interfaces lspvif 0 Lspvif0 is up, line protocol is up Hardware is Interface is unnumbered. Using address of Loopback0 (1.1.1.1) MTU 17940 bytes, BW 8000000 Kbit/sec, DLY 5000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation LOOPBACK, loopback not set
附註:尚未建立MPLS MLDP,因為接收器尚未聯機。
當接收器聯機時:
接收器3聯機並向PE3傳送PIM JOIN(S, G)消息。
PIM(1): Received v2 Join/Prune on Ethernet0/2 from 10.2.0.2, to us PIM(1): Join-list: (10.1.0.2/32, 232.1.1.1), S-bit set MRT(1): Create (*,232.1.1.1), RPF (unknown, 0.0.0.0, 2147483647/0) MLDP: Interface Lspvif1 moved from VRF (default) to VRF MLDP-INBAND MLDP: Enabled IPv4 on Lspvif1 unnumbered with Loopback0 MLDP-MFI: Enabled MLDP MFI client on Lspvif1; status = ok MRT(1): Add interface Lspvif1 MLDP: Enable pim on lsp vif: Lspvif1 MLDP: Add success lsp vif: Lspvif1 address: 1.1.1.1 application: MLDP vrf_id: 1 MLDP: LDP root 1.1.1.1 added mLDP-RW: Sending RW notification message to process: mLDP Process mLDP-RW: RW Tracking started for: 1.1.1.1 MLDP: Route watch started for 1.1.1.1 topology: base ipv4 MLDP-DB: Added [vpnv4 10.1.0.2 232.1.1.1 1:1] DB Entry MLDP-DB: [vpnv4 10.1.0.2 232.1.1.1 1:1] Added P2MP branch for MRIBv4(1) label %MLDP-5-ADD_BRANCH: [vpnv4 10.1.0.2 232.1.1.1 1:1] Root: 1.1.1.1, Add P2MP branch MRIBv4(1) remote label MLDP: nhop 10.0.2.2 added MLDP-NBR: 11.11.11.11:0 mapped to next_hop: 10.0.2.2 MLDP: Root 1.1.1.1 old paths: 0 new paths: 1 MLDP-DB: [vpnv4 10.1.0.2 232.1.1.1 1:1] Changing peer from none to 11.11.11.11:0 MLDP-DB: [vpnv4 10.1.0.2 232.1.1.1 1:1] Add accepting element nbr: 11.11.11.11:0 MLDP: [vpnv4 10.1.0.2 232.1.1.1 1:1] label mappping msg sent to 11.11.11.11:0 success MLDP-DB: [vpnv4 10.1.0.2 232.1.1.1 1:1] path to peer: 11.11.11.11:0 changed None:0.0.0.0 to Ethernet0/3:10.0.2.2
來自接收器(S,G)加入的任何通訊都將轉換為MLDP,並且所有消息都將穿越Lspvif 1
由於PIM JOIN(S,G)是MLDP的接收器驅動協定,它開始從接收器到源建立MLDP資料庫。這是P2MP MLDP的下游標籤分配。
P2MP資料包傳輸使用資源預留協定(RSVP)實現P2MP — 流量工程(P2MP-TE),M2M資料包傳輸使用組播標籤分發協定(MLDP)通過IPv4組播VPN(MVPN)實現。
資料包通過三種型別的路由器傳輸:
·頭端路由器:用一個或多個標籤封裝IP資料包。
·中點路由器:將標籤內替換為標籤外。
· Tailend路由器:從資料包中刪除標籤。
基於MLDP的MVPN網路中的資料包流對於每個傳入的資料包,MPLS會建立多個輸出標籤。來自源網路的資料包將沿著通向接收者網路的路徑複製。CE1路由器傳送本機IP組播流量。PE1路由器對傳入的組播資料包施加標籤,並將標籤的報文複製到MPLS核心網路。當封包到達核心路由器(P)時,封包會使用適用於MP2MP預設MDT或P2MP資料MDT的適當標籤進行複製,並傳輸到所有輸出PE。一旦資料包到達出口PE,標籤就會被移除,IP組播資料包將複製到VRF介面
PE1#sh mpls mldp database * For interface indicates MLDP recursive forwarding is enabled * For RPF-ID indicates wildcard value > Indicates it is a Primary MLDP MDT Branch LSM ID : 1 Type: P2MP Uptime : 00:23:11 FEC Root : 1.1.1.1 (we are the root) Opaque decoded : [vpnv4 10.1.0.2 232.1.1.1 1:1] Opaque length : 16 bytes Opaque value : FA 0010 0A010002E80101010000000100000001 Upstream client(s) : None Expires : N/A Path Set ID : 1 Replication client(s): 11.11.11.11:0 Uptime : 00:23:11 Path Set ID : None Out label (D) : 21 Interface : Ethernet0/1* Local label (U): None Next Hop : 10.0.1.2 RR-P#sh mpls mldp database * For interface indicates MLDP recursive forwarding is enabled * For RPF-ID indicates wildcard value > Indicates it is a Primary MLDP MDT Branch LSM ID : 2 Type: P2MP Uptime : 00:28:12 FEC Root : 1.1.1.1 Opaque decoded : [vpnv4 10.1.0.2 232.1.1.1 1:1] Opaque length : 16 bytes Opaque value : FA 0010 0A010002E80101010000000100000001 Upstream client(s) : 1.1.1.1:0 [Active] Expires : Never Path Set ID : 2 Out Label (U) : None Interface : Ethernet0/1* Local Label (D): 21 Next Hop : 10.0.1.1 Replication client(s): 3.3.3.3:0 Uptime : 00:28:12 Path Set ID : None Out label (D) : 26 Interface : Ethernet0/2* Local label (U): None Next Hop : 10.0.3.1 2.2.2.2:0 Uptime : 00:24:41 Path Set ID : None Out label (D) : 25 Interface : Ethernet0/3* Local label (U): None Next Hop : 10.0.2.1 RR-P#sh mpls forwarding-table labels 21 Local Outgoing Prefix Bytes Label Outgoing Next Hop Label Label or Tunnel Id Switched interface 21 26 [vpnv4 10.1.0.2 232.1.1.1 1:1] \ 0 Et0/2 10.0.3.1 25 [vpnv4 10.1.0.2 232.1.1.1 1:1] \ 0 Et0/3 10.0.2.1
在PE裝置上建立的MRIB:
PE1#sh ip mroute vrf MLDP-INBAND 232.1.1.1 verbose IP Multicast Routing Table Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet, U - URD, I - Received Source Specific Host Report, (10.1.0.2, 232.1.1.1), 00:00:17/00:02:42, flags: sTI Incoming interface: Ethernet0/2, RPF nbr 10.1.0.2 Outgoing interface list: Lspvif0, LSM ID: 1, Forward/Sparse, 00:00:17/00:02:42
源開始流式處理時:
當多點傳送來源開始傳送流量時,[10.1.0.2, 232.1.1.1]會發生,如下圖所示。
來自源10.1.0.2的流量從232.1.1.1串流。通過乙太網0/2進入。
資料包通過Lspvif 0轉發。
PIM(0): Insert (10.1.0.2,232.1.1.1) join in nbr 10.1.0.2's queue PIM(0): Building Join/Prune packet for nbr 10.1.0.2 PIM(0): Adding v2 (10.1.0.2/32, 232.1.1.1), S-bit Join PIM(0): Send v2 join/prune to 10.1.0.2 (Ethernet0/2) MFIBv4(0x0): Pkt (10.1.0.2,232.1.1.1) from Ethernet0/2 (FS) accepted for forwarding MFIBv4(0x0): Pkt (10.1.0.2,232.1.1.1) from Ethernet0/2 (FS) sent on Lspvif0, LSM NBMA/4
此資料包通過隧道連線到Lspvif 0。
在接收端:
在接收端,資料包到達Lspvif 1。
MFIBv4(0x0): Pkt (10.1.0.2,232.1.1.1) from Lspvif1 (FS) accepted for forwarding MFIBv4(0x0): Pkt (10.1.0.2,232.1.1.1) from Lspvif1 (FS) sent on Ethernet0/0 PIM(0): Received v2 Join/Prune on Ethernet0/0 from 10.3.0.2, to us PIM(0): Join-list: (10.1.0.2/32, 232.1.1.1), S-bit set PIM(0): Update Ethernet0/0/10.3.0.2 to (10.1.0.2, 232.1.1.1), Forward state, by PIM SG Join
當資料包到達PE1時,它會檢查LSM ID以轉發流量,該標籤要在組播資料包中強加。
此圖顯示LSPVIF介面的驗證。
對於傳入的每個資料包,MPLS會建立多個傳出標籤。來自源網路的資料包將沿著通向接收者網路的路徑複製。CE1路由器傳送本機IP組播流量。PE1路由器對傳入的組播資料包施加標籤,並將標籤的報文複製到MPLS核心網路。
當封包到達核心路由器(P)時,封包會使用適用於MP2MP預設MDT或P2MP資料MDT的適當標籤進行複製,並傳輸到所有輸出PE。一旦資料包到達出口PE,標籤就會被移除,IP組播資料包將複製到VRF介面。
MLDP MVPN配置使用MPLS啟用IPv4組播資料包傳送。此配置使用MPLS標籤構建預設和資料組播分佈樹(MDT)。
MPLS複製用作核心網路中的轉發機制。要使MLDP MVPN配置正常工作,請確保已啟用全域性MPLS MLDP配置。