This section provides an example for configuring mLDP in-band MVPN.
mLDP in-band MVPN is deployed on a service provider's backbone network to solve multicast service issues related to traffic congestion, reliability, and security. In the mLDP in-band MVPN networking shown in Figure 1, BGP/MPLS IP VPN services carried by MPLS LDP tunnels have been deployed. It is required that MVPN services be provided for users over the existing IPv4 network and that users access through the IPv4 network.
The configuration roadmap is as follows:
Configure a BGP/MPLS IP VPN to ensure that the unicast VPN works properly and unicast routes between the sender PE and receiver PEs are reachable.
Enable mLDP globally on all PEs so that they can use mLDP to establish P2MP tunnels.
Enable mLDP in-band MVPN on PE3 to trigger mLDP P2MP tunnel establishment.
Configure PIM on the PEs' interfaces bound to a VPN instance and on the CEs' interfaces connected to the PEs so that VPN multicast routing entries are generated for multicast traffic forwarding.
Configure IGMP on the multicast device's interface that is connected to the user network segment to manage multicast group members on that network segment.
To complete the configuration, you need the following data.
IS-IS process ID: 1
Device |
IP Address of Loopback 1 |
MPLS LSR-ID |
MVPN ID |
RD |
VPN-Target |
AS Number |
---|---|---|---|---|---|---|
CE1 |
1.1.1.1 |
- |
- |
- |
- |
AS 65001 |
PE1 |
2.2.2.2 |
2.2.2.2 |
2.2.2.2 |
200:1 |
3:3 |
AS 100 |
PE2 |
3.3.3.3 |
3.3.3.3 |
3.3.3.3 |
300:1 |
3:3 |
AS100 |
PE3 |
4.4.4.4 |
4.4.4.4 |
4.4.4.4 |
400:1 |
3:3 |
AS100 |
CE2 |
5.5.5.5 |
- |
- |
- |
- |
AS65002 |
# Configure PE1.
[~PE1] mpls ldp [*PE1-mpls-ldp] mldp p2mp [*PE1-mpls-ldp] commit [~PE1-mpls-ldp] quit
# Configure PE2.
[~PE2] mpls ldp [*PE2-mpls-ldp] mldp p2mp [*PE2-mpls-ldp] commit [~PE2-mpls-ldp] quit
# Configure PE3.
[~PE3] mpls ldp [*PE3-mpls-ldp] mldp p2mp [*PE3-mpls-ldp] commit [~PE3-mpls-ldp] quit
# Configure PE1.
[~PE1] ip vpn-instance VPNA [*PE1-vpn-instance-VPNA] ipv4-family [*PE1-vpn-instance-VPNA-af-ipv4] multicast routing-enable [*PE1-vpn-instance-VPNA-af-ipv4] multicast inband-signaling mldp [*PE1-vpn-instance-VPNA-af-ipv4] quit [*PE1-vpn-instance-VPNA] quit [*PE1] commit
# Configure PE2.
[~PE2] ip vpn-instance VPNA [*PE2-vpn-instance-VPNA] ipv4-family [*PE2-vpn-instance-VPNA-af-ipv4] multicast routing-enable [*PE2-vpn-instance-VPNA-af-ipv4] multicast inband-signaling mldp [*PE2-vpn-instance-VPNA-af-ipv4] quit [*PE2-vpn-instance-VPNA] quit [*PE2] commit
# Configure PE3.
[~PE3] ip vpn-instance VPNA [*PE3-vpn-instance-VPNA] ipv4-family [*PE3-vpn-instance-VPNA-af-ipv4] multicast routing-enable [*PE3-vpn-instance-VPNA-af-ipv4] multicast inband-signaling mldp frr [*PE3-vpn-instance-VPNA-af-ipv4] quit [*PE3-vpn-instance-VPNA] quit [*PE3] commit
# Configure PE1.
[*PE1] interface gigabitethernet0/1/1 [*PE1-GigabitEthernet0/1/1] pim sm [*PE1-GigabitEthernet0/1/1] quit [*PE1] commit
# Configure CE1.
[~CE1] multicast routing-enable [*CE1] interface gigabitethernet0/1/0 [*CE1-GigabitEthernet0/1/0] pim sm [*CE1-GigabitEthernet0/1/0] quit [*CE1] interface gigabitethernet0/1/1 [*CE1-GigabitEthernet0/1/1] pim sm [*CE1-GigabitEthernet0/1/1] quit [*CE1] interface gigabitethernet0/1/2 [*CE1-GigabitEthernet0/1/2] pim sm [*CE1-GigabitEthernet0/1/2] quit [*CE1] commit
# Configure PE2.
[*PE2] interface gigabitethernet0/1/2 [*PE2-GigabitEthernet0/1/2] pim sm [*PE2-GigabitEthernet0/1/2] quit [*PE2] commit
# Configure CE2.
[~CE2] multicast routing-enable [*CE2] interface gigabitethernet0/1/0 [*CE2-GigabitEthernet0/1/0] pim sm [*CE2-GigabitEthernet0/1/0] quit [*CE2] interface gigabitethernet0/1/1 [*CE2-GigabitEthernet0/1/1] pim sm [*CE2-GigabitEthernet0/1/1] quit [*CE2] commit
# Configure PE3.
[*PE3] interface gigabitethernet0/1/0 [*PE3-GigabitEthernet0/1/0] pim sm [*PE3-GigabitEthernet0/1/0] quit [*PE3] commit
[~CE2] interface gigabitethernet0/1/1 [*CE2-GigabitEthernet0/1/1] igmp enable [*CE2-GigabitEthernet0/1/1] igmp version 3 [*CE2-GigabitEthernet0/1/1] quit [*CE2] commit
After the preceding configurations are completed, mLDP in-band MVPN has been configured. If CE2 has access users, CE1 can use the BGP/MPLS IP VPN to forward multicast data to the users. In this example, a static multicast entry is generated on CE2 for users to join the multicast group 225.1.1.1 and receive data from the multicast source 10.1.3.2. In this case, you can check the multicast routing entries.
[~PE3] display pim vpn-instance VPNA routing-table VPN-Instance: VPNA Total 0 (*, G) entry; 1 (S, G) entry (10.1.3.2, 225.1.1.1) RP: NULL Protocol: pim-sm, Flag: SPT SG_RCVR UpTime: 03:12:27 Upstream interface: through-MLDP, Refresh time: 03:12:27 Upstream neighbor: 2.2.2.2 RPF prime neighbor: 2.2.2.2 Backup upstream interface: through-MLDP Backup Upstream neighbor: 3.3.3.3 Backup RPF prime neighbor: 3.3.3.3 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet0/1/0 Protocol: static, UpTime: 03:12:27, Expires: 00:03:05
CE1
# sysname CE1 # multicast routing-enable # isis 1 is-level level-2 network-entity 10.0000.0000.0001.00 # interface GigabitEthernet0/1/0 undo shutdown ip address 10.1.3.1 255.255.255.0 isis enable 1 pim sm # interface GigabitEthernet0/1/1 undo shutdown ip address 192.168.1.1 255.255.255.0 isis enable 1 pim sm # interface GigabitEthernet0/1/2 undo shutdown ip address 192.168.2.1 255.255.255.0 isis enable 1 pim sm # interface LoopBack1 ip address 1.1.1.1 255.255.255.255 # return
PE1
# sysname PE1 # ip vpn-instance VPNA ipv4-family route-distinguisher 200:1 apply-label per-instance vpn-target 3:3 export-extcommunity vpn-target 3:3 import-extcommunity multicast routing-enable multicast inband-signaling mldp # mpls lsr-id 2.2.2.2 # mpls ldp mldp p2mp # isis 1 vpn-instance VPNA is-level level-2 network-entity 10.0000.0000.0002.00 import-route bgp # isis 2 is-level level-2 network-entity 10.0000.0000.0006.00 # interface GigabitEthernet0/1/0 undo shutdown ip address 10.1.1.1 255.255.255.0 isis enable 2 mpls mpls ldp # interface GigabitEthernet0/1/1 undo shutdown ip binding vpn-instance VPNA ip address 192.168.1.2 255.255.255.0 isis enable 1 pim sm # interface LoopBack1 ip address 2.2.2.2 255.255.255.255 # bgp 100 peer 4.4.4.4 as-number 100 peer 4.4.4.4 connect-interface LoopBack1 # ipv4-family unicast undo synchronization peer 4.4.4.4 enable # ipv4-family vpnv4 policy vpn-target peer 4.4.4.4 enable # ipv4-family vpn-instance VPNA import-route isis 1 # return
PE2
# sysname PE2 # multicast mvpn 3.3.3.3 # ip vpn-instance VPNA ipv4-family route-distinguisher 300:1 apply-label per-instance vpn-target 3:3 export-extcommunity vpn-target 3:3 import-extcommunity multicast routing-enable multicast inband-signaling mldp # mpls lsr-id 3.3.3.3 # mpls ldp mldp p2mp # isis 1 vpn-instance VPNA is-level level-2 network-entity 10.0000.0000.0003.00 import-route bgp # isis 2 is-level level-2 network-entity 10.0000.0000.0007.00 # interface GigabitEthernet0/1/1 undo shutdown ip address 10.1.2.1 255.255.255.0 isis enable 2 mpls mpls ldp # interface GigabitEthernet0/1/2 undo shutdown ip binding vpn-instance VPNA ip address 192.168.2.2 255.255.255.0 pim sm isis enable 1 # interface LoopBack1 ip address 3.3.3.3 255.255.255.255 # bgp 100 peer 4.4.4.4 as-number 100 peer 4.4.4.4 connect-interface LoopBack1 # ipv4-family unicast undo synchronization peer 4.4.4.4 enable # ipv4-family vpnv4 policy vpn-target peer 4.4.4.4 enable # ipv4-family vpn-instance VPNA import-route isis 1 # return
PE3
# sysname PE3 # ip vpn-instance VPNA ipv4-family route-distinguisher 400:1 apply-label per-instance vpn-target 3:3 export-extcommunity vpn-target 3:3 import-extcommunity multicast routing-enable multicast inband-signaling mldp frr # mpls lsr-id 4.4.4.4 # mpls ldp mldp p2mp # isis 1 vpn-instance VPNA is-level level-2 network-entity 10.0000.0000.0004.00 import-route bgp # isis 2 is-level level-2 network-entity 10.0000.0000.0008.00 # interface GigabitEthernet0/1/0 undo shutdown ip binding vpn-instance VPNA ip address 192.168.3.1 255.255.255.0 pim sm isis enable 1 # interface GigabitEthernet0/1/1 undo shutdown ip address 10.1.1.2 255.255.255.0 isis enable 2 mpls mpls ldp # interface GigabitEthernet0/1/2 undo shutdown ip address 10.1.2.2 255.255.255.0 isis enable 2 mpls mpls ldp # interface LoopBack1 ip address 4.4.4.4 255.255.255.255 # bgp 100 peer 2.2.2.2 as-number 100 peer 2.2.2.2 connect-interface LoopBack1 peer 3.3.3.3 as-number 100 peer 3.3.3.3 connect-interface LoopBack1 # ipv4-family unicast undo synchronization peer 2.2.2.2 enable peer 3.3.3.3 enable # ipv4-family vpnv4 policy vpn-target peer 2.2.2.2 enable peer 3.3.3.3 enable # ipv4-family vpn-instance VPNA import-route isis 1 auto-frr # return
CE2
# sysname CE2 # multicast routing-enable # isis 1 is-level level-2 network-entity 10.0000.0000.0005.00 # interface GigabitEthernet0/1/0 undo shutdown ip address 192.168.3.2 255.255.255.0 pim sm isis enable 1 # interface GigabitEthernet0/1/1 undo shutdown ip address 10.1.4.1 255.255.255.0 pim sm igmp enable igmp version 3 # interface LoopBack1 ip address 5.5.5.5 255.255.255.255 # return