本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本檔案介紹頻內訊號全域MLDP,也就是適用於VPN下一代多點傳送(mVPN)的設定檔7。 它使用範例和Cisco IOS中的實作來說明行為。
不透明值用於將MP LSP對映到IP組播流。
不透明值的內容從組播流中匯出。
IPv4 PIM-SSM傳輸允許通過多協定標籤交換機(MPLS)核心傳輸全域性PIM-SSM流。Opaque Value包含駐留在入口和出口PE路由器的全域性mroute表中的實際(S, G)。
不透明值不僅唯一地標識MP LSP,而且它還可以攜帶來自邊緣IP多播網路的(S,G)流資訊。MP標籤交換路徑(LSP)中的P路由器不需要解析不透明值,但使用該值作為到本地MP LSP資料庫的索引,以確定將組播資料包複製到的下一跳。但是,輸入PE LSP(最接近源)對值進行解碼,以便可以為傳入(S, G)流選擇正確的MP LSP。出口PE可以使用值將(S, G)狀態安裝到本地VRF或全域性mroute表中。
接收器驅動程式和使用MLDP P2MP FEC獲知的根埠。
唯一標識:
配置驅動和根是手動配置的。
唯一標識:
用於承載組播流資訊,對根和葉有意義。
型別1:由MDLP定義,包含用於管理P2MP/MP2MP LSP的ID空間的LSP-ID。
型別2:為調配MP-LDP隧道定義,用於無重疊的BGP-MVPN。
使用標籤支援組播的MPLS技術擴展:
P2MP | MP2MP | |
標籤 | 上游分配 | 上游和下游 |
流量 | 下游流 | 上游和下游 |
根 | 輸入路由器 | 提供/提供邊緣 |
流量型別 | 控制路由器 | 僅控制流量 |
LSP型別 | 根到多葉 | 多根多葉 |
步驟1.在核心節點中啟用MPLS MLDP。
在PE1、PE2和PE3上:
# mpls mldp logging
步驟2.在核心中啟用MLDP帶內信令。
在PE1、PE2和PE3上:
# ip multicast mpls mldp
# ip pim mpls source loopback 0
步驟3.啟用組播路由。
在所有節點上:
# ip multicast-routing
步驟4.在客戶邊緣(CE)中啟用協定無關組播(PIM)SSM。
在CE節點上:
# ip pim ssm default
步驟5.在所有CE介面和Provider Edge(PE)介面中啟用PIM SM。
在CE1、CE2、CE3和所有面向PE的CE介面上:
# interface x/x
# ip pim sparse-mode
# interface loopback x/x
# ip pim sparse-mode
附註:x表示PE連線到CE的介面編號,反之亦然。
任務1:檢驗物理連線。
任務2:驗證BGP地址系列IPv4單播
任務3:驗證端到端組播流量。
任務4:驗證MPLS核心。
內部網關協定(IGP)、MPLS LDP、邊界網關協定(BGP)在網路端對端運行良好。
在此部分,驗證以簽入核心/聚合網路。檢查鄰接關係以及通過MPLS網路的流量的控制平面和資料平面。
若要驗證本地和遠端CE裝置是否可透過多重協定標籤交換(MPLS)核心進行通訊,請執行圖中所示的步驟:
根據IP報頭驗證控制平面(PE路由器轉發時在該控制平面中實施標籤),並在資料包進入MPLS網路時向資料包新增MPLS標籤。
在標籤施加的方向上,路由器根據Cisco Express Forwarding(CEF)表查詢來交換資料包,以查詢下一跳,並為目的地新增儲存在FIB中的相應標籤資訊。當路由器在MPLS資料包的核心中執行標籤交換時,路由器會執行MPLS表查詢。路由器從CEF表和標籤資訊庫(LIB)中的資訊匯出此MPLS表(LFIB)。
當PE路由器收到MPLS資料包,根據MPLS標籤做出轉發決策,刪除標籤,並傳送IP資料包時,就會發生標籤處置。PE路由器使用LFIB來確定資料包在該方向上的路徑。如前所述,特殊的iBGP會話可促進PE路由器之間的VPNv4字首及其標籤的通告。在廣告PE,BGP為本地學習的VPN字首分配標籤,並將它們安裝在標籤轉發資訊庫(LFIB)中,即MPLS轉發表。
MLDP-MFI: Enabled MLDP MFI client on Ethernet0/0; status = ok MLDP-MFI: Enabled MLDP MFI client on Ethernet0/1; status = ok 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-NBR: 11.11.11.11:0 ask LDP for adjacencies
附註:使用# debug mpls mldp all檢查前面的建立。
PE1#sh mpls mldp neighbors MLDP peer ID : 11.11.11.11:0, uptime 00:02:05 Up, Target Adj : No Session hndl : 1 Upstream count : 0 Branch count : 0 Path count : 1 Path(s) : 10.0.1.2 LDP Ethernet0/1 Nhop count : 0
ip pim mpls source loopback 0
ip multicast mpls mldp
MLDP: Enabled IPv4 on Lspvif0 unnumbered with Loopback0 MLDP-MFI: Enabled MLDP MFI client on Lspvif0; status = ok PIM(*): PIM subblock added to Lspvif0 MLDP: Enable pim on lsp vif: Lspvif0 MLDP: Add success lsp vif: Lspvif0 address: 0.0.0.0 application: MLDP vrf_id: 0 MLDP-DB: Replaying database events for opaque type value: 3 %LINEPROTO-5-UPDOWN: Line protocol on Interface Lspvif0, changed state to up PIM(0): Check DR after interface: Lspvif0 came up! %PIM-5-DRCHG: DR change from neighbor 0.0.0.0 to 1.1.1.1 on interface Lspvif0
附註:使用# debug mpls mldp all檢查前面的建立。
PE1#sh int 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(0): Received v2 Join/Prune on Ethernet0/2 from 10.2.0.2, to us PIM(0): Join-list: (10.1.0.2/32, 232.1.1.1), S-bit set MRT(0): Create (*,232.1.1.1), RPF (unknown, 0.0.0.0, 2147483647/0) MRT(0): RPF Track start on 10.1.0.2 for (10.1.0.2, 232.1.1.1) MRT(0): Reset the z-flag for (10.1.0.2, 232.1.1.1) MLDP: Enabled IPv4 on Lspvif1 unnumbered with Loopback0 MLDP-MFI: Enable lsd on int failed; not registered; PIM(*): PIM subblock added to Lspvif1 MLDP: Enable pim on lsp vif: Lspvif1 MLDP: Add success lsp vif: Lspvif1 address: 1.1.1.1 application: MLDP vrf_id: 0 MLDP-MRIB-IP: (10.1.0.2,232.1.1.1/32) update (t=0) RPF: 0.0.0.0 MLDP-MRIB-IP: (10.1.0.2,232.1.1.1/32) set rpf nbr: 0.0.0.0 MLDP-MRIB-IP: wavl insert success (10.1.0.2, 232.1.1.1) MLDP-MRIB-IP: no RPF neighbor, done! MLDP-MRIB-IP: (10.1.0.2,232.1.1.1/32) update (t=1) RPF: 1.1.1.1 MLDP-MRIB-IP: (10.1.0.2,232.1.1.1/32) set rpf nbr: 1.1.1.1 MLDP-MRIB-IP: Change RPF neighbor from 0.0.0.0 to 1.1.1.1 MLDP-MRIB-IP: (10.1.0.2,232.1.1.1/32) update idb = Lspvif1, (f=2,c=2) MLDP-MRIB-IP: add accepting interface: Lspvif1 root: 1.1.1.1 MLDP-MRIB-IP: change interface from NULL to Lspvif1 %LINEPROTO-5-UPDOWN: Line protocol on Interface Lspvif1, changed state to up PIM(0): Check DR after interface: Lspvif1 came up! PIM(0): Changing DR for Lspvif1, from 0.0.0.0 to 2.2.2.2 (this system) %PIM-5-DRCHG: DR change from neighbor 0.0.0.0 to 2.2.2.2 on interface Lspvif1
附註:使用# debug mpls mldp all和# debug ip bgp ipv4 mvpn updates Debug檢查字首建立。
來自接收器(S,G)加入的任何通訊都轉換為MLDP,並且所有消息都遍歷Lspvif 1
PIM JOIN(S,G)作為MLDP是接收器驅動協定,它從接收器到源建立MLDP資料庫。這是P2MP MLDP的下游標籤分配。
附註:在帶內信令中,標籤交換路徑虛擬介面(LSPVIF)是根據入口PE建立的,以實現嚴格RPF,即僅接受(S,G)資料包來自預期的遠端PE;在您案例中為LSPVIF1。源PE使用預設LSPVIF轉發到核心。請注意,沒有LSPVIF介面編號的跡象,即lspvif0並不總是預設介面,而lspvif1並不總是每個PE介面。這些數字會根據需要進行分配。
PE3#sh ip mroute 232.1.1.1 verbose IP Multicast Routing Table Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected, T - SPT-bit set, p - PIM Joins on route, (10.1.0.2, 232.1.1.1), 00:19:28/00:02:42, flags: sTp Incoming interface: Lspvif1, RPF nbr 1.1.1.1 Outgoing interface list: Ethernet0/0, Forward/Sparse, 00:19:28/00:02:42, p PE3#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:28:02 FEC Root : 1.1.1.1 Opaque decoded : [ipv4 10.1.0.2 232.1.1.1] Opaque length : 8 bytes Opaque value : 03 0008 0A010002E8010101 Upstream client(s) : 11.11.11.11:0 [Active] Expires : Never Path Set ID : 1 Out Label (U) : None Interface : Ethernet0/3* Local Label (D): 24 Next Hop : 10.0.3.2 Replication client(s): MRIBv4(0) Uptime : 00:28:02 Path Set ID : None Interface : Lspvif1 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 : A Type: P2MP Uptime : 00:40:52 FEC Root : 1.1.1.1 Opaque decoded : [ipv4 10.1.0.2 232.1.1.1] Opaque length : 8 bytes Opaque value : 03 0008 0A010002E8010101 Upstream client(s) : 1.1.1.1:0 [Active] Expires : Never Path Set ID : A Out Label (U) : None Interface : Ethernet0/1* Local Label (D): 24 Next Hop : 10.0.1.1 Replication client(s): 2.2.2.2:0 Uptime : 00:40:52 Path Set ID : None Out label (D) : 23 Interface : Ethernet0/3* Local label (U): None Next Hop : 10.0.2.1 3.3.3.3:0 Uptime : 00:40:52 Path Set ID : None Out label (D) : 24 Interface : Ethernet0/2* Local label (U): None Next Hop : 10.0.3.1
源PE收到的資訊基於下一跳的RPF查詢。
MLDP-LDP: [ipv4 10.1.0.2 232.1.1.1] label mapping from: 11.11.11.11:0 label: 23 root: 1.1.1.1 Opaque_len: 11 sess_hndl: 0x1 MLDP: LDP root 1.1.1.1 added MLDP-DB: Added [ipv4 10.1.0.2 232.1.1.1] DB Entry MLDP-DB: [ipv4 10.1.0.2 232.1.1.1] Changing branch 11.11.11.11:0 from Null/0.0.0.0 to Ethernet0/1/10.0.1.2 MLDP-MFI: Could not add Path type: PKT, Label: 23, Next hop: 11.11.11.11, Interface: NULL to set: 3, error 1 MLDP-DB: [ipv4 10.1.0.2 232.1.1.1] Added P2MP branch for 11.11.11.11:0 label 23 MLDP-MRIB-IP: [ipv4 10.1.0.2 232.1.1.1] client update: We are root MLDP-MRIB-IP: wavl insert success (10.1.0.2, 232.1.1.1) MLDP-MRIB-IP: [ipv4 10.1.0.2 232.1.1.1] Created: Lspvif0 for: 0.0.0.0 MLDP-MRIB: Created adjacency for LSM ID 3 MLDP-MRIB-IP: [ipv4 10.1.0.2 232.1.1.1] Created adjacency on Lspvif0 MLDP: nhop 1.1.1.1 added MRT(0): Set the T-flag for (10.1.0.2, 232.1.1.1) MRT(0): (10.1.0.2,232.1.1.1), RPF install from /0.0.0.0 to Ethernet0/2/10.1.0.2 PIM(0): Insert (10.1.0.2,232.1.1.1) join in nbr 10.1.0.2's queue MLDP-MRIB-IP: (10.1.0.2,232.1.1.1/32) update (t=1) RPF: 10.1.0.2 MLDP-MRIB-IP: (10.1.0.2,232.1.1.1/32) set rpf nbr: 10.1.0.2 MLDP-MRIB-IP: ignoring interface Ethernet0/2, no LS
附註:使用# debug mpls mldp all和# debug ip bgp ipv4 mvpn updates檢查前面的建立。
PE1#sh ip mroute 232.1.1.1 verbose IP Multicast Routing Table Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected, L - Local, P - Pruned, R - RP-bit set, F - Register flag, T - SPT-bit set, I - Received Source Specific Host Report, (10.1.0.2, 232.1.1.1), 00:25:14/stopped, flags: sTI Incoming interface: Ethernet0/2, RPF nbr 10.1.0.2 Outgoing interface list: Lspvif0, LSM ID: 4, Forward/Sparse, 00:25:14/00:01:45 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 : 4 Type: P2MP Uptime : 00:25:25 FEC Root : 1.1.1.1 (we are the root) Opaque decoded : [ipv4 10.1.0.2 232.1.1.1] Opaque length : 8 bytes Opaque value : 03 0008 0A010002E8010101 Upstream client(s) : None Expires : N/A Path Set ID : 4 Replication client(s): 11.11.11.11:0 Uptime : 00:25:25 Path Set ID : None Out label (D) : 24 Interface : Ethernet0/1* Local label (U): None Next Hop : 10.0.1.2 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: [ipv4 10.1.0.2 232.1.1.1] label mapping from: 11.11.11.11:0 label: 23 root: 1.1.1.1 Opaque_len: 11 sess_hndl: 0x1 Neighbor 11.11.11.11 request for the label request to PE1.
附註:通過重新播放來自對等體的標籤資料庫來響應鍵入的萬用字元標籤請求,獲取字首。使用對對等體的型別化萬用字元標籤請求來請求重放對等體標籤資料庫的字首。
MLDP-LDP: [ipv4 10.1.0.2 232.1.1.1] label mapping from: 11.11.11.11:0 label: 24 root: 1.1.1.1 Opaque_len: 11 sess_hndl: 0x1 MLDP: LDP root 1.1.1.1 added MLDP-DB: Added [ipv4 10.1.0.2 232.1.1.1] DB Entry MLDP-DB: [ipv4 10.1.0.2 232.1.1.1] Changing branch 11.11.11.11:0 from Null/0.0.0.0 to Ethernet0/1/10.0.1.2 %MLDP-5-ADD_BRANCH: [ipv4 10.1.0.2 232.1.1.1] Root: 1.1.1.1, Add P2MP branch 11.11.11.11:0 remote label 24 debug ip mfib pak debug ip mfib mrib
Traffic from Source 10.1.0.2 streaming from 232.1.1.1. Enters through ethernet0/2. The packet got forwarded via 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。
At the receiver Side: At the receiver side the packet reach at the 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以轉發流量,該標籤要在組播資料包中強加。
多點LDP(M-LDP)帶內訊號傳送允許您透過現有IP/MPLS骨幹傳輸多點傳播流量,同時避免在提供商核心中使用PIM。
在標籤邊緣路由器(LER)上,當LER未檢測到PIM上游鄰居時,啟用PIM以針對上游鄰居使用M-LDP帶內信令。