This section describes how to configure IPv4 user-side multicast for a VPN.
On the network shown in Figure 1, users access the network in IPoE mode through sub-interface interface 2 on a broadband remote access server (BRAS). The users and multicast source belong to the same VPN instance named red. Configure user-side multicast, allowing the users to order programs from the multicast source and allowing for refined user management.
The configuration roadmap is as follows:
Configure multicast VPN functions. An NG MVPN over an mLDP P2MP tunnel is used as an example.
Configure a BGP MPLS/IP VPN and ensure that the unicast VPN is working properly.
Enable mLDP globally on PE1 and PE2.
Establish a BGP MVPN peer relationship between PE1 and PE2.
Configure an mLDP I-PMSI tunnel on PE1.
Bind an interface on PE2 to the VPN instance.
Configure IGMP on the interface that connects the multicast-capable device to the user network segment.
Configure an IPv4 address pool.
Configure AAA schemes.
Configure a domain.
Configure the IPoE access mode.
Configure an authentication mode.
Bind a sub-interface to a VLAN.
Configure a BAS interface and specify a user access type for the interface.
Configure a multicast replication mode. Multicast replication by multicast VLAN is used as an example.
Configure basic multicast functions.
Bind an interface to the VPN instance.
IP addresses of loopback 0 on the BRAS and PE2: 1.1.1.1 and 2.2.2.2, respectively
Public network OSPF process ID: 1; area ID: 0
MPLS LSR IDs of the BRAS and PE2: 1.1.1.1 and 2.2.2.2, respectively
MVPN IDs of the BRAS and PE2: 1.1.1.1 and 2.2.2.2, respectively
Names, RDs, and VPN targets of the VPN instances on the BRAS and PE2: red, 1:1, and 1:1, respectively
IPv4 address pool parameters
Authentication and accounting scheme parameters
User domain parameters
BAS interface parameters
<HUAWEI> system-view [HUAWEI] sysname BRAS [*HUAWEI] commit [~BRAS] ip pool vpn bas local [*BRAS-ip-pool-vpn] vpn-instance red [*BRAS-ip-pool-vpn] gateway 10.0.0.1 255.255.0.0 [*BRAS-ip-pool-vpn] section 255 10.0.0.1 10.0.0.255 [*BRAS-ip-pool-vpn] quit [*BRAS] commit
# Configure an authentication scheme.
[~BRAS] aaa [*BRAS-aaa] authentication-scheme none [*BRAS-aaa-authen-none] authentication-mode none [*BRAS-aaa-authen-none] quit [*BRAS-aaa] commit
# Configure an accounting scheme.
[~BRAS-aaa] accounting-scheme none [*BRAS-aaa-accounting-none] accounting-mode none [*BRAS-aaa-accounting-none] quit [*BRAS-aaa] quit [*BRAS] commit
[~BRAS] aaa [*BRAS-aaa] domain vpn [*BRAS-aaa-domain-vpn] authentication-scheme none [*BRAS-aaa-domain-vpn] accounting-scheme none [*BRAS-aaa-domain-vpn] ip-pool vpn [*BRAS-aaa-domain-vpn] vpn-instance red [*BRAS-aaa-domain-vpn] quit [*BRAS-aaa] quit [*BRAS] commit
[~BRAS] interface gigabitethernet 0/1/1.1 [*BRAS-GigabitEthernet0/1/1.1] user-vlan 1 [*BRAS-GigabitEthernet0/1/1.1-vlan-1-1] quit [*BRAS-GigabitEthernet0/1/1.1] commit
[~BRAS-GigabitEthernet0/1/1.1] bas [*BRAS-GigabitEthernet0/1/1.1-bas] access-type layer2-subscriber default-domain authentication vpn [*BRAS-GigabitEthernet0/1/1.1-bas] authentication-method bind [*BRAS-GigabitEthernet0/1/1.1-bas] quit [*BRAS-GigabitEthernet0/1/1.1] quit [*BRAS] commit
[~BRAS] interface gigabitethernet 0/1/1.1 [~BRAS-GigabitEthernet0/1/1.1] multicast user-aggregation qinq pe-vid 2 ce-vid 9 [*BRAS-GigabitEthernet0/1/1.1] quit [*BRAS] commit
[~BRAS] multicast routing-enable [*BRAS] interface gigabitethernet 0/1/1 [*BRAS-GigabitEthernet0/1/1] pim sm [*BRAS-GigabitEthernet0/1/1] igmp enable [*BRAS-GigabitEthernet0/1/1] quit [*BRAS] commit [~PE2] interface gigabitethernet 0/1/2 [~PE2-GigabitEthernet0/1/2] undo shutdown [*PE2-GigabitEthernet0/1/2] ip address 10.1.2.1 255.255.255.0 [*PE2-GigabitEthernet0/1/2] pim sm [*PE2-GigabitEthernet0/1/2] quit [*PE2] commit
[~BRAS] interface gigabitethernet 0/1/1 [~BRAS-GigabitEthernet0/1/1] multicast binding vpn-instance red [*BRAS-GigabitEthernet0/1/1] quit [*BRAS] commit
[~BRAS] display multicast group-ip 225.0.0.1 out-interface GigabitEthernet 0/1/1.1 vpn-instance red User ID User IP User type Interface 96 10.0.0.250 Local GigabitEthernet0/1/1.1 97 10.0.0.249 Local GigabitEthernet0/1/1.1 Local user number :2 Remote user number:0 Total user number :2
[~BRAS] display multicast user-ip 10.0.0.250 vpn-instance red User information: User ID :96 User IPv4 address :10.0.0.250 Gateway IPv4 address:10.0.0.1 BRAS interface :GigabitEthernet0/1/1.1 User MAC-address :00-e0-fc-12-34-56 MAX program list :4 User order program: Group IP Source IP 225.0.0.1 0.0.0.0 Total:1
[~BRAS] display pim vpn-instance red routing-table VPN-Instance: red Total 1 (S, G) entry (10.1.2.100, 225.0.0.1) Protocol: pim-ssm, Flag: SG_RCVR UpTime: 00:00:38 Upstream interface: through-BGP, Refresh time: 00:00:38 Upstream neighbor: 2.2.2.2 RPF prime neighbor: 2.2.2.2 Downstream interface(s) information: Total number of downstreams: 1 1: GigabitEthernet0/1/1(bas) Protocol: igmp, UpTime: 00:00:38, Expires: - [~PE2] display pim vpn-instance red routing-table VPN-Instance: red Total 0 (*, G) entry; 1 (S, G) entry (10.1.2.100, 225.0.0.1) RP: NULL Protocol: pim-sm, Flag: SPT LOC ACT SG_RCVR UpTime: 16:29:06 Upstream interface: GigabitEthernet0/1/2, Refresh time: 16:29:06 Upstream neighbor: NULL RPF prime neighbor: NULL Downstream interface(s) information: Total number of downstreams: 1 1: pseudo Protocol: BGP, UpTime: 00:13:57, Expires: -
[~BRAS] display multicast vpn-instance red routing-table Multicast routing table of VPN-Instance: red Total 1 entry 00001. (10.1.2.100, 225.0.0.1) Uptime: 00:12:28 Upstream Interface: pseudo List of 1 downstream interface 1: GigabitEthernet0/1/1(bas) [~PE2] display multicast vpn-instance red routing-table Multicast routing table of VPN-Instance: red Total 1 entry 00001. (10.1.2.100, 225.0.0.1) Uptime: 16:29:28 Upstream Interface: GigabitEthernet0/1/2 List of 1 downstream interface 1: pseudo
BRAS configuration file
# sysname BRAS # multicast routing-enable # multicast mvpn 1.1.1.1 # ip vpn-instance red ipv4-family route-distinguisher 1:1 apply-label per-instance vpn-target 1:1 export-extcommunity vpn-target 1:1 import-extcommunity multicast routing-enable mvpn sender-enable c-multicast signaling bgp ipmsi-tunnel mldp # mpls lsr-id 1.1.1.1 # mpls # mpls ldp mldp p2mp # ip pool vpn bas local vpn-instance red gateway 10.0.0.1 255.255.0.0 section 255 10.0.0.1 10.0.0.255 # aaa # authentication-scheme none authentication-mode none # accounting-scheme none accounting-mode none # domain vpn authentication-scheme none accounting-scheme none ip-pool vpn vpn-instance red # interface GigabitEthernet0/1/0 undo shutdown ip address 10.1.1.1 255.255.255.0 mpls mpls ldp # interface GigabitEthernet0/1/1 undo shutdown multicast binding vpn-instance red pim sm igmp enable # interface GigabitEthernet0/1/1.1 user-vlan 1 multicast user-aggregation qinq pe-vid 2 ce-vid 9 bas # access-type layer2-subscriber default-domain authentication vpn authentication-method bind # # interface LoopBack0 ip address 1.1.1.1 255.255.255.255 # bgp 100 peer 2.2.2.2 as-number 100 peer 2.2.2.2 connect-interface LoopBack0 # ipv4-family unicast undo synchronization peer 2.2.2.2 enable # ipv4-family mvpn policy vpn-target peer 2.2.2.2 enable # ipv4-family vpnv4 policy vpn-target peer 2.2.2.2 enable # ipv4-family vpn-instance red import-route direct # ospf 1 area 0.0.0.0 network 10.1.1.0 0.0.0.255 network 1.1.1.1 0.0.0.0 # return
PE2 configuration file
# sysname PE2 # multicast mvpn 2.2.2.2 # ip vpn-instance red ipv4-family route-distinguisher 1:1 apply-label per-instance vpn-target 1:1 export-extcommunity vpn-target 1:1 import-extcommunity multicast routing-enable mvpn sender-enable c-multicast signaling bgp ipmsi-tunnel mldp # mpls lsr-id 2.2.2.2 # mpls # mpls ldp mldp p2mp # interface GigabitEthernet0/1/0 undo shutdown ip address 10.1.1.2 255.255.255.0 mpls mpls ldp # interface GigabitEthernet0/1/2 undo shutdown ip binding vpn-instance red ip address 10.1.2.1 255.255.255.0 pim sm # interface LoopBack0 ip address 2.2.2.2 255.255.255.255 # bgp 100 peer 1.1.1.1 as-number 100 peer 1.1.1.1 connect-interface LoopBack0 # ipv4-family unicast undo synchronization peer 1.1.1.1 enable # ipv4-family mvpn policy vpn-target peer 1.1.1.1 enable # ipv4-family vpnv4 policy vpn-target peer 1.1.1.1 enable # ipv4-family vpn-instance red import-route direct # ospf 1 area 0.0.0.0 network 10.1.1.0 0.0.0.255 network 2.2.2.2 0.0.0.0 # return