On the IPv6 network shown in Figure 1, a large number of receiver hosts receive video streams in multicast mode. During prime time, many users watch video programs at the same time, consuming a lot of bandwidth. As a result, performance of network devices degrades, and multicast data cannot be sent to user hosts stably.
The number of video programs ordered by receiver hosts must be limited. A maximum of 50 Multicast Listener Discovery (MLD) entries can be created on a switch connected to the user network segments, and a maximum of 30 MLD entries can be created on both the interfaces connected to N1 and N2 network segments. When the number of programs ordered by users reaches the maximum value, users cannot order more programs, which ensures the quality of ordered programs. Additionally, HostA connected to SwitchA has subscribed to programs of group FF16::1 for a long time and requests to receive high-quality video streams of this group any time.
In this scenario, to avoid loops, ensure that all connected interfaces have STP disabled and connected interfaces are removed from VLAN 1. If STP is enabled and VLANIF interfaces of switches are used to construct a Layer 3 ring network, an interface on the network will be blocked. As a result, Layer 3 services on the network cannot run normally.
To meet the preceding requirements, configure FF16::1 as a static multicast group on the interface of SwitchA connected to the user network segment, and configure MLD limit to limit the maximum number of multicast entries.
To ensure that data sent from multicast sources can be correctly forwarded to the user network segments, configure an IPv6 unicast routing protocol on the network to implement IP interworking. Multicast routing protocols work depending on unicast routing protocols.
To enable the multicast devices to forward video streams to receiver hosts in multicast mode, configure basic multicast functions on the multicast devices.
To allow HostA to receive video streams from FF16::1 at any time, configure a static multicast group on the interface of SwitchA connected to the user network segment to which HostA belongs.
To limit the number of programs ordered by hosts and flexibly control ordering, set the maximum number of MLD entries on each router. MLD limit ensures the program quality and does not limit the number of static multicast groups on the interface.
# Enable IPv6 multicast on SwitchA and enable IPv6 Protocol Independent Multicast - Sparse Mode (PIM-SM) on all its interfaces. The configurations on SwitchB, SwitchC, and SwitchD are similar to those on SwitchA and are not mentioned here.
<SwitchA> system-view [SwitchA] multicast ipv6 routing-enable [SwitchA] interface vlanif 20 [SwitchA-Vlanif20] pim ipv6 sm [SwitchA-Vlanif20] quit [SwitchA] interface vlanif 50 [SwitchA-Vlanif50] pim ipv6 sm [SwitchA-Vlanif50] quit
# Configure the rendezvous point (RP). On SwitchD, configure VLANIF10 as a C-BSR and a C-RP.
<SwitchD> system-view [SwitchD] pim-ipv6 [SwitchD-pim6] c-bsr fc00:0:0:7::1 [SwitchD-pim6] c-rp fc00:0:0:7::1 [SwitchD-pim6] quit
# On SwitchA, enable MLD on VLANIF50 connected to the user network segment. The configurations on SwitchB and SwitchC are similar to those on SwitchA and are not mentioned here.
[SwitchA] interface vlanif 50 [SwitchA-Vlanif50] mld enable [SwitchA-Vlanif50] quit
# Configure static multicast group at FF16::1 on VLANIF50 of SwitchA so that receiver hosts connected to VLANIF50 can stably receive multicast data sent to multicast group FF16::1.
[SwitchA] interface vlanif 50 [SwitchA-Vlanif50] mld static-group FF16::1 [SwitchA-Vlanif50] quit
# Set the maximum number of MLD entries on SwitchA to 50.
[SwitchA] mld global limit 50
# Set the maximum number of MLD entries on VLANIF50 of SwitchA to 30.
[SwitchA] interface vlanif 50 [SwitchA-Vlanif50] mld limit 30 [SwitchA-Vlanif50] quit
# Run the display mld interface command to check the MLD configuration and running status on each interface of the switches. MLD information about VLANIF60 on SwitchB is as follows:
[SwitchB] display mld interface vlanif 60 Interface information Vlanif60(FE80::200:5EFF:FE66:5100): MLD is enabled Current MLD version is 2 MLD state: up MLD group policy: none MLD limit: 30 Value of query interval for MLD (negotiated): 125 s Value of query interval for MLD (configured): 125 s Value of other querier timeout for MLD: 0 s Value of maximum query response time for MLD: 10 s Querier for MLD: FE80::200:5EFF:FE66:5100 (this router)
The command output shows that the MLD limit on VLANIF60 of SwitchB is 30.
# Run the display mld group interface vlanif 50 static verbose command to check detailed information about the interface on which a static multicast group is configured.
[SwitchA] display mld group interface vlanif 50 static verbose
Static join group information
Total 1 entry
00001.(*, FF16::1)
1.Vlanif50
State: UP
Reference Count: 1
Multicast Boundary:NO
Outgoing Interface:NO
The command output shows that static multicast group FF16::1 is configured on VLANIF50 of SwitchA.
# Run the display pim ipv6 routing-table command to check the IPv6 PIM-SM multicast routing table on each switch.
[SwitchA] display pim ipv6 routing-table
VPN-Instance: public net
Total 1 (*, G) entry; 1 (S, G) entry
(*, FF16::1)
RP: 2000::1
Protocol: pim-sm, Flag: WC
UpTime: 00:21:35
Upstream interface: Vlanif20
Upstream neighbor: FE80::7A1D:BAFF:FECD:909D
RPF prime neighbor: FE80::7A1D:BAFF:FECD:909D
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlanif50
Protocol: static mld, UpTime: 00:21:35, Expires: -
(FC00:0:0:7::5, FF16::1)
RP: 2000::1
Protocol: pim-sm, Flag: SPT ACT
UpTime: 00:42:46
Upstream interface: Vlanif20
Upstream neighbor: FE80::7A1D:BAFF:FECD:909D
RPF prime neighbor: FE80::7A1D:BAFF:FECD:909D
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlanif50
Protocol: pim-sm, UpTime: 00:21:35, Expires: -
The command output shows that (*, FF16::1) and (FC00:0:0:7::5, FF16::1) entries exist on SwitchA, indicating that VLANIF50 has joined group FF16::1, and can receive the multicast data sent from multicast source FC00:0:0:7::5 to group FF16::1.
SwitchA configuration file
# sysname SwitchA # vlan batch 20 50 # ipv6 # mld global limit 50 # multicast ipv6 routing-enable # ospfv3 100 router-id 10.1.1.1 # interface Vlanif20 ipv6 enable ipv6 address FC00:0:0:2::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm # interface Vlanif50 ipv6 enable ipv6 address FC00:0:0:1::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm mld enable mld limit 30 mld static-group FF16::1 # interface GigabitEthernet0/0/1 port link-type hybrid port hybrid pvid vlan 50 port hybrid untagged vlan 50 # interface GigabitEthernet0/0/2 port link-type trunk port trunk allow-pass vlan 20 # return
SwitchB configuration file
# sysname SwitchB # vlan batch 30 60 # ipv6 # mld global limit 50 # multicast ipv6 routing-enable # ospfv3 100 router-id 10.2.2.2 # interface Vlanif30 ipv6 enable ipv6 address FC00:0:0:4::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm # interface Vlanif60 ipv6 enable ipv6 address FC00:0:0:3::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm mld enable mld limit 30 # interface GigabitEthernet0/0/1 port link-type hybrid port hybrid pvid vlan 60 port hybrid untagged vlan 60 # interface GigabitEthernet0/0/2 port link-type trunk port trunk allow-pass vlan 30 # return
SwitchC configuration file
# sysname SwitchC # vlan batch 40 60 # ipv6 # mld global limit 50 # multicast ipv6 routing-enable # ospfv3 100 router-id 10.3.3.3 # interface Vlanif40 ipv6 enable ipv6 address FC00:0:0:6::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm # interface Vlanif60 ipv6 enable ipv6 address FC00:0:0:5::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm mld enable mld limit 30 # interface GigabitEthernet0/0/1 port link-type hybrid port hybrid pvid vlan 60 port hybrid untagged vlan 60 # interface GigabitEthernet0/0/2 port link-type trunk port trunk allow-pass vlan 40 # return
SwitchD configuration file
# sysname SwitchD # vlan batch 10 20 30 40 # ipv6 # multicast ipv6 routing-enable # ospfv3 100 router-id 10.4.4.4 # interface Vlanif10 ipv6 enable ipv6 address FC00:0:0:7::1/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm # interface Vlanif20 ipv6 enable ipv6 address FC00:0:0:2::2/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm # interface Vlanif30 ipv6 enable ipv6 address FC00:0:0:4::2/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm # interface Vlanif40 ipv6 enable ipv6 address FC00:0:0:6::2/64 ospfv3 100 area 0.0.0.0 pim ipv6 sm # interface GigabitEthernet0/0/1 port link-type trunk port trunk allow-pass vlan 10 # interface GigabitEthernet0/0/2 port link-type trunk port trunk allow-pass vlan 20 # interface GigabitEthernet0/0/3 port link-type trunk port trunk allow-pass vlan 30 # interface GigabitEthernet0/0/4 port link-type trunk port trunk allow-pass vlan 40 # pim-ipv6 c-bsr FC00:0:0:7::1 c-rp FC00:0:0:7::1 # return