此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍带内信令全局MLDP,它是VPN(mVPN)下一代组播的配置文件7。 它使用Cisco IOS中的示例和实施来说明该行为。
不透明值用于将MP LSP映射到IP组播流。
不透明值的内容从组播流导出。
IPv4 PIM-SSM传输允许全局PIM-SSM流通过多协议标签交换机(MPLS)核心传输。不透明值包含实际(S, G),该实际(S, G)驻留在入口和出口PE路由器的全局mroute表中。
不仅不透明值唯一标识MP LSP,而且它还可以从边缘IP组播网络传送(S, G)流信息。MP标签交换路径(LSP)中的P路由器不需要分析不透明值,而是将该值用作本地MP LSP数据库的索引,以确定将组播数据包复制到的下一跳。但是,入口PE LSP(最接近源)会解码值,以便它可以为传入(S, G)流选择正确的MP LSP。出口PE可以使用值将(S, G)状态安装到本地VRF或全局路由表中。
接收方驱动程序和根学习者使用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接口和提供商边缘(PE)接口中启用PIM SM。
在CE1、CE2、CE3和所有面向CE的PE接口上:
# 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)核心通信,请执行图像中所示的步骤:
验证控制平面,当PE路由器根据IP报头转发时,在控制平面中会发生标签强加,并在数据包进入MPLS网络时向其添加MPLS标签。
在标签实施方向,路由器根据思科快速转发(CEF)表查找来交换数据包,以查找下一跳,并添加存储在FIB中的适当标签信息,以用于目标。当路由器在MPLS数据包的核心层执行标签交换时,路由器会执行MPLS表查找。路由器从CEF表和标签信息库(LIB)中的信息中导出此MPLS表(LFIB)。
当PE路由器收到MPLS数据包,根据MPLS标签做出转发决策,删除标签,并发送IP数据包时,会发生标签处置。PE路由器使用LFIB确定数据包在此方向上的路径。如前所述,特殊iBGP会话可促进VPNv4前缀及其标签在PE路由器之间的通告。在通告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联机,并将PIM JOIN(S, G)消息发送到PE3。
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 Debugs检查指定的建立。
来自接收方(S,G)加入的任何通信都会转换为MLDP,并且所有消息都会传输到Lspvif 1
由于MLDP是接收方驱动协议,因此PIM JOIN(S,G)从接收方到源建立MLDP数据库。这是P2MP MLDP的下游标签分配。
注意:在带内信令中,每个入口PE创建标签交换路径虚拟接口(LSPVIF),以实施严格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带内信令。