- Table of Contents
-
- H3C S9500 Operation Manual-Release2132[V2.03]-04 IP Multicast Volume
- 00-1Cover
- 01-Multicast Overview
- 02-Multicast Routing and Forwarding Configuration
- 03-IGMP Snooping Configuration
- 04-IGMP Configuration
- 05-PIM Configuration
- 06-MSDP Configuration
- 07-IPv6 Multicast Routing and Forwarding Configuration
- 08-MLD Snooping Configuration
- 09-MLD Configuration
- 10-IPv6 PIM Configuration
- 11-Multicast VLAN Configuration
- Related Documents
-
Title | Size | Download |
---|---|---|
08-MLD Snooping Configuration | 263.35 KB |
Table of Contents
Chapter 1 MLD Snooping Configuration
1.1.2 Basic Concepts in MLD Snooping
1.1.3 Work Mechanism of MLD Snooping
1.1.4 Processing of IPv6 Multicast Protocol Messages
1.2 MLD Snooping Configuration Task List
1.3 Configuring Basic Functions of MLD Snooping
1.3.1 Configuration Prerequisites
1.3.3 Configuring the Version of MLD Snooping
1.3.4 Configuring Dynamic Port Aging Timers
1.4 Configuring MLD Snooping Port Functions
1.4.1 Configuration Prerequisites
1.4.2 Configuring Static Ports
1.4.3 Configuring Simulated Joining
1.4.4 Configuring Fast Leave Processing
1.4.5 Configuring MLD Report Suppression
1.5 Configuring MLD-Related Functions
1.5.1 Configuration Prerequisites
1.5.2 Enabling MLD Snooping Querier
1.5.3 Configuring MLD Queries and Responses
1.5.4 Configuring a Source IPv6 Address for MLD Queries
1.5.5 Configuring the Function of Dropping Unknown IPv6 Multicast Data
1.6 Configuring an IPv6 Multicast Group Policy
1.6.1 Configuration Prerequisites
1.6.2 Configuring an IPv6 Multicast Group Filter
1.6.3 Configuring Maximum IPv6 Multicast Groups that Can Be Joined on a Port
1.6.4 Configuring IPv6 Multicast Group Replacement
1.7 Displaying and Maintaining MLD Snooping
1.8 MLD Snooping Configuration Examples
1.8.1 Examples 1 (Simulated Joining)
1.8.2 Examples 2 (Static Router Port Configuration)
1.8.3 Examples 3 (MLD Snooping Querier Configuration)
1.9 Troubleshooting MLD Snooping
1.9.1 Switch Fails in Layer 2 Multicast Forwarding
1.9.2 Configured IPv6 Multicast Group Policy Fails to Take Effect
Chapter 1 MLD Snooping Configuration
When configuring MLD Snooping, go to these sections for information you are interested in:
l MLD Snooping Configuration Task List
l Displaying and Maintaining MLD Snooping
l MLD Snooping Configuration Examples
l Troubleshooting MLD Snooping
& Note:
For details about MLD and IPv6 PIM, refer to MLD Configuration and IPv6 PIM Configuration in the IP Multicast Volume.
1.1 MLD Snooping Overview
Multicast Listener Discovery Snooping (MLD Snooping) is an IPv6 multicast constraining mechanism that runs on Layer 2 devices to manage and control IPv6 multicast groups.
1.1.1 How MLD Snooping Works
By analyzing received MLD messages, a Layer 2 device running MLD Snooping establishes mappings between ports and multicast MAC addresses and forwards IPv6 multicast data based on these mappings.
As shown in Figure 1-1, when MLD Snooping is not running on the switch (Layer 2 device), IPv6 multicast packets are broadcast to all Layer 2 ports. When MLD Snooping runs, multicast packets for known IPv6 multicast groups are forwarded to only those Layer 2 ports with receivers attached to them.
Figure 1-1 Before and after MLD Snooping is enabled on a Layer 2 device
1.1.2 Basic Concepts in MLD Snooping
I. MLD Snooping related ports
As shown in Figure 1-2, Router A connects to the multicast source, MLD Snooping runs on Switch A and Switch B, Host A and Host C are receiver hosts (namely, IPv6 multicast group members).
Figure 1-2 MLD Snooping related ports
Ports involved in MLD Snooping, as shown in Figure 1-2, are described as follows:
l Router port: A router port is a port on a Layer 2 switch that leads the switch to a multicast router (Layer-3 multicast device) or the MLD querier on the subnet. In the figure, Ethernet 1/1/10 of Switch A and Ethernet 1/1/10 of Switch B are router ports. A switch registers all its local router ports (including dynamic and static router ports) in its router port list.
l Member port: A member port (also known as IPv6 multicast group member port or Listener Port) is a port on a Layer 2 switch that leads the switch to an IPv6 multicast group member. In the figure, Ethernet 1/1/1 and Ethernet 1/1/2 of Switch A and Ethernet 1/1/1 of Switch B are member ports. The switch records all member ports (including dynamic and static member ports) on the local device in the MLD Snooping forwarding table.
& Note:
l Whenever mentioned in this document, a router port is a router-side port on a switch, rather than a port on a router.
l On an MLD-snooping-enabled switch, the ports that received MLD general queries with the source address other than 0::0 or IPv6 PIM hello messages are dynamic router ports. For details about IPv6 PIM hello messages, see IPv6 PIM Configuration of the IP Multicast Volume.
II. Dynamic port aging timers in MLD Snooping
Table 1-1 Dynamic port aging timers in MLD Snooping and related messages and actions
Timer |
Description |
Message before expiry |
Action after expiry |
Dynamic router port aging timer |
For each dynamic router port, the switch sets a timer initialized to the dynamic router port aging time |
MLD general query of which the source address is not 0::0 or IPv6 PIM hello |
The switch removes this port from its router port list |
Dynamic member port aging timer |
When a port dynamically joins an IPv6 multicast group, the switch sets a timer for the port, which is initialized to the dynamic member port aging time. |
MLD report message |
The switch removes this port from the MLD Snooping forwarding table |
& Note:
The port aging mechanism of MLD Snooping works only for dynamic ports; a static port will never age out.
1.1.3 Work Mechanism of MLD Snooping
Caution:
Only dynamic ports can be automatically added or deleted by the system. Static ports can be added or deleted only through the corresponding configurations.
A switch running MLD Snooping performs different actions when it receives different MLD messages, as follows:
I. General queries
Upon receiving an MLD general query, the switch forwards it through all ports in the VLAN except the receiving port and performs the following to the port on which it received the query message:
l If the port is a dynamic router port existing in the router port list, the switch resets the aging timer for this dynamic router port.
l If the port is not a dynamic router port existing in its router port list, the switch adds it into the router port list and sets an aging timer for this dynamic router port.
II. Membership reports
A host sends an MLD report to the MLD querier in the following circumstances:
l Upon receiving an MLD query, an IPv6 multicast group member host responds with an MLD report.
l When intended to join an IPv6 multicast group, a host sends an MLD report to the MLD querier to announce that it is interested in the multicast information addressed to that IPv6 multicast group.
Upon receiving an MLD report, the switch forwards it through all the router ports in the VLAN, resolves the address of the IPv6 multicast group the host is interested in, and performs the following to the receiving port:
l If no forwarding table entry exists for the reported group, the switch creates an entry, adds the port as a dynamic member port into the outgoing port list, and starts a member port aging timer for that port.
l If a forwarding table entry exists for the reported group, but the port is not included in the outgoing port list for that group in the forwarding entry, the switch adds the port as a dynamic member port into the outgoing port list, and starts an aging timer for that port.
l If a forwarding table entry exists for the reported group and the port is included in the outgoing port list, which means that this port is already a dynamic member port for that group, the switch resets the aging timer for that port.
& Note:
A switch will not forward an MLD report through a non-router port in a VLAN.
III. Done messages
When a host leaves an IPv6 multicast group, the host sends an MLD done message to the multicast router.
When the switch receives an MLD done message on a dynamic member port, the switch first checks whether a forwarding table entry for the IPv6 multicast group address in the message exists, and, if one exists, whether the outgoing port list contains the port.
l If the forwarding table entry does not exist or if the outgoing port list does not contain the port, the switch discards the MLD done message instead of forwarding it to any port.
l If the forwarding table entry exists and the outgoing port list contains the port, the switch forwards the MLD done message to all router ports in the native VLAN. Because the switch does not know whether any other hosts attached to the port are still listening to that IPv6 multicast group address, the switch does not immediately remove the port from the outgoing port list of the forwarding table entry for that group; instead, it resets the aging timer for the port.
Upon receiving an MLD done message from a host, the MLD querier resolves the IPv6 multicast group address in the message and sends an MLD multicast-address-specific query to that IPv6 multicast group address through the port that received the MLD done message. Upon receiving the MLD multicast-address-specific query, the switch forwards it through all the router ports in the VLAN and all member ports for that IPv6 multicast group, and performs the following to the receiving port:
l If any MLD report in response to the MLD multicast-address-specific query is received on the port (suppose it is a dynamic member port) before its aging timer expires, this means that some host attached to the port is receiving or expecting to receive IPv6 multicast data for that IPv6 multicast group. The switch resets the aging timer for the port.
l If no MLD report in response to the MLD multicast-address-specific query is received on the port before its aging timer expires, this means that no hosts attached to the port are still listening to that IPv6 multicast group address. The switch removes the port from the outgoing port list of the forwarding table entry for that IPv6 multicast group when the aging timer expires.
1.1.4 Processing of IPv6 Multicast Protocol Messages
With Layer 3 IPv6 multicast routing enabled, an MLD Snooping–capable S9500 series Ethernet switch processes multicast protocol messages differently under different conditions, specifically as follows:
1) If only MLD is enabled, or both MLD and IPv6 PIM are enabled on the switch, the switch handles IPv6 multicast protocol messages in the normal way.
2) In only IPv6 PIM is enabled on the switch:
l The switch broadcasts MLD messages as unknown messages in the VLAN.
l Upon receiving an IPv6 PIM hello message, the switch will maintain the corresponding dynamic router port.
3) When MLD is disabled on the switch:
l If IPv6 PIM is disabled, the switch deletes all its dynamic member ports and dynamic router ports.
l If IPv6 PIM is enabled, the switch deletes only its dynamic member ports without deleting its dynamic router ports.
4) When IPv6 PIM is disabled on the switch:
l If MLD is disabled, the switch deletes only its dynamic router ports without deleting its dynamic member ports.
l If MLD is enabled, the switch maintains all its dynamic member ports and dynamic router ports.
& Note:
Use the display mld group port-info command to view Layer-2 port information.
For details about the display mld group port-info command, refer to MLD Commands in the IP Multicast Volume.
1.1.5 Protocols and Standards
MLD Snooping is documented in RFC 4541: Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches
1.2 MLD Snooping Configuration Task List
Complete these tasks to configure MLD Snooping:
Task |
Remarks |
|
Required |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Configuring the Function of Dropping Unknown IPv6 Multicast Data |
Optional |
|
Optional |
||
Configuring Maximum IPv6 Multicast Groups that Can Be Joined on a Port |
Optional |
|
Optional |
& Note:
l Configurations made in MLD Snooping view are effective for all VLANs, while configurations made in VLAN view are effective only for ports belonging to the current VLAN. For a given VLAN, a configuration made in MLD Snooping view is effective only if the same configuration is not made in VLAN view.
l Configurations made in MLD Snooping view are effective for all ports; configurations made in interface view are effective only for the current interface; configurations made in manual port group view are effective only for all the ports in the current port group; configurations made in aggregation port group view are effective only for the master port of the group; configurations made in port group view are effective only for all the ports in the current port group. For a given port, a configuration made in MLD Snooping view is effective only if the same configuration is not made in interface view or port group view.
1.3 Configuring Basic Functions of MLD Snooping
1.3.1 Configuration Prerequisites
Before configuring the basic functions of MLD Snooping, complete the following tasks:
l Configure the corresponding VLANs
Before configuring the basic functions of MLD Snooping, prepare the following data:
l Aging time of router ports
l Aging timer of member ports
1.3.2 Enabling MLD Snooping
Follow these steps to enable MLD Snooping:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enable MLD Snooping globally and enter MLD Snooping view |
mld-snooping |
Required Disabled by default |
Return to system view |
quit |
— |
Enter VLAN view |
vlan vlan-id |
— |
Enable MLD Snooping in the VLAN |
mld-snooping enable |
Required Disabled by default |
& Note:
l MLD Snooping must be enabled globally before it can be enabled in a VLAN.
l When you enable MLD Snooping in a specified VLAN, this function takes effect for ports in this VLAN only.
l After enabling MLD Snooping in a VLAN, you cannot enable MLD and/or IPv6 PIM on the corresponding VLAN interface, and vice versa.
1.3.3 Configuring the Version of MLD Snooping
By configuring the MLD Snooping version, you actually configure the version of MLD messages that MLD Snooping can process.
l MLD Snooping version 1 can process MLDv1 messages, but cannot analyze and process MLDv2 messages, which will be flooded in the VLAN.
l MLD Snooping version 2 can process MLDv1 and MLDv2 messages.
Follow these steps to configure the version of MLD Snooping:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN view |
vlan vlan-id |
— |
Configure the version of MLD Snooping |
mld-snooping version version-number |
Optional Version 1 by default |
Caution:
If you switch MLD Snooping from version 2 to version 1, the system will clear all MLD Snooping forwarding entries from dynamic joins, and will:
l Keep forwarding entries from version 2 static (*, G) joins;
l Clear forwarding entries from version 2 static (S, G) joins, which will be restored when MLD Snooping is switched back to version 2.
For details about static joining, refer to Configuring Static Ports.
1.3.4 Configuring Dynamic Port Aging Timers
If the switch does not receive an MLD general query or an IPv6 PIM hello message before the aging timer of a dynamic router port expires, the switch deletes this port from the router port list when the aging timer times out.
If the switch does not receive an MLD report for an IPv6 multicast group before the aging timer of a dynamic member port expires, the switch deletes this port from the forwarding table for that IPv6 multicast group when the aging timer times out.
If IPv6 multicast group memberships change frequently, you can set a relatively small value for the member port aging timer, and vice versa.
I. Configuring dynamic port aging timers globally
Follow these steps to configure dynamic port aging timers globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter MLD Snooping view |
mld-snooping |
— |
Configure dynamic router port aging time |
router-aging-time interval |
Optional 260 seconds by default |
Configure dynamic member port aging time |
host-aging-time interval |
Optional 260 seconds by default |
II. Configuring dynamic port aging timers in a VLAN
Follow these steps to configure dynamic port aging timers in a VLAN:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN view |
vlan vlan-id |
— |
Configure dynamic router port aging time |
mld-snooping router-aging-time interval |
Optional 260 seconds by default |
Configure dynamic member port aging time |
mld-snooping host-aging-time interval |
Optional 260 seconds by default |
1.4 Configuring MLD Snooping Port Functions
1.4.1 Configuration Prerequisites
Before configuring MLD Snooping port functions, complete the following task:
l Enable MLD Snooping in the VLAN or enable MLD on the desired VLAN interface
l Configure the corresponding port groups
Before configuring MLD Snooping port functions, prepare the following data:
l IPv6 multicast source addresses
l Whether to enable the fast leave function or not
l Whether to enable the MLD membership report suppression function
1.4.2 Configuring Static Ports
You can configure a port of a switch to be a static router port, through which the switch can forward all the IPv6 multicast traffic it received..
Follow these steps to configure static ports:
To do... |
Use the command... |
Remarks |
|
Enter system view |
system-view |
— |
|
Enter the corresponding view |
Enter Ethernet interface view |
interface interface-type interface-number |
Use either command |
Enter port group view |
port-group { manual port-group-name | aggregation agg-id } |
||
Configure a static member port |
mld-snooping static-group ipv6-group-address [ source-ip ipv6-source-address ] vlan vlan-id |
Required No static member ports by default |
|
Configure a static router port |
mld-snooping static-router-port vlan vlan-id |
Required No static router ports by default |
l A static member port does not respond to queries from the MLD querier; when static (*, G) or (S, G) joining is enabled or disabled on a port, the port does not send an unsolicited MLD report or an MLD done message.
l Static member ports and static router ports never age out. To remove such a port, you need to use the corresponding undo command.
1.4.3 Configuring Simulated Joining
Generally, a host running MLD responds to MLD queries from the MLD querier. If a host fails to respond due to some reasons, the multicast router will deem that no member of this IPv6 multicast group exists on the network segment, and therefore will remove the corresponding forwarding path.
To avoid this situation from happening, you can enable simulated joining on a port, namely configure a port of the switch as a simulated member of the IPv6 multicast group. When an MLD query arrives, that member port will give a response. As a result, the switch can continue receiving IPv6 multicast data.
Through this configuration, the following functions can be achieved:
l When a port is configured as a simulated member host, it sends an unsolicited MLD report.
l When receiving an MLD general query, the simulated host responds with an MLD report just like a real host.
Follow these steps to configure simulated joining:
To do... |
Use the command... |
Remarks |
|
Enter system view |
system-view |
— |
|
Enter the corresponding view |
Enter Ethernet interface view |
interface interface-type interface-number |
Use either command |
Enter port group view |
port-group { manual port-group-name | aggregation agg-id } |
||
Configure simulated (*, G) or (S, G) joining |
mld-snooping host-join ipv6-group-address [ source-ip ipv6-source-address ] vlan vlan-id |
Required Simulated joining is disabled by default |
& Note:
l Each simulated host is equivalent to an independent host. For example, when receiving an MLD query, the simulated host corresponding to each configuration responds respectively.
l Unlike a static member port, a port configured as a simulated member host will age out like a dynamic member port.
1.4.4 Configuring Fast Leave Processing
The fast leave processing feature allows the switch to process MLD done messages in a fast way. With the fast leave processing feature enabled, when receiving an MLD done message on a port, the switch immediately removes that port from the outgoing port list of the forwarding table entry for the indicated group. Then, when receiving MLD multicast-address-specific queries for that IPv6 multicast group, the switch will not forward them to that port.
In VLANs where only one host is attached to each port, fast leave processing helps improve bandwidth and resource usage.
I. Configuring fast leave processing globally
Follow these steps to configure fast leave processing globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter MLD Snooping view |
mld-snooping |
— |
Enable fast leave processing |
fast-leave [ vlan vlan-list ] |
Required Disabled by default |
II. Configuring fast leave processing on a port or a group of ports
Follow these steps to configure fast leave processing on a port or a group of ports:
To do... |
Use the command... |
Remarks |
|
Enter system view |
system-view |
— |
|
Enter the corresponding view |
Enter Ethernet interface view |
interface interface-type interface-number |
Use either command |
Enter port group view |
port-group { manual port-group-name | aggregation agg-id } |
||
Enable fast leave processing |
mld-snooping fast-leave [ vlan vlan-list ] |
Required Disabled by default |
Caution:
If fast leave processing is enabled on a port to which more than one host is connected, when one host leaves an IPv6 multicast group, the other hosts connected to port and interested in the same IPv6 multicast group will fail to receive IPv6 multicast data addressed to that group.
1.4.5 Configuring MLD Report Suppression
When a Layer 2 device receives an MLD report from an IPV6 multicast group member, the Layer 2 device forwards the message to the Layer 3 device directly connected with it. Thus, when multiple members belonging to an IPv6 multicast group exist on the Layer 2 device, the Layer 3 device directly connected with it will receive duplicate MLD reports from these members.
With the MLD report suppression function enabled, within a query interval, the Layer 2 device forwards only the first MLD report of an IPv6 group to the Layer 3 device and will not forward the subsequent MLD reports from the same multicast group to the Layer 3 device. This helps reduce the number of packets being transmitted over the network.
Follow these steps to configure MLD report suppression:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter MLD Snooping view |
mld-snooping |
— |
Enable MLD report suppression |
report-aggregation |
Optional Enabled by default |
1.5 Configuring MLD-Related Functions
1.5.1 Configuration Prerequisites
Before configuring MLD-related functions, complete the following task:
l Enable MLD Snooping in the VLAN
Before configuring MLD-related functions, prepare the following data:
l MLD general query interval
l MLD last-member query interval
l Maximum response time for MLD general queries
l Source IPv6 address of MLD general queries
l Source IPv6 address of MLD multicast-address-specific queries
l Whether to enable the function of dropping the unknown IPv6 multicast data
1.5.2 Enabling MLD Snooping Querier
In an IPv6 multicast network running MLD, a multicast router or Layer 3 multicast switch is responsible for sending periodic MLD general queries, so that all Layer 3 multicast devices can establish and maintain multicast forwarding entries, thus to forward multicast traffic correctly at the network layer. This router or Layer 3 switch is called MLD querier.
However, a Layer 2 multicast switch does not support MLD, and therefore cannot send MLD general queries by default. By enabling MLD Snooping querier on a Layer 2 switch in a VLAN where multicast traffic needs to be Layer-2 switched only and no Layer 3 multicast devices are present, the Layer 2 switch will act as the MLD querier to send periodic MLD general queries, thus allowing multicast forwarding entries to be established and maintained at the data link layer.
Follow these steps to enable MLD Snooping querier:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN view |
vlan vlan-id |
— |
Enable the MLD Snooping querier |
mld-snooping querier |
Required Disabled by default |
Caution:
l An MLD Snooping querier does not take part in MLD querier election.
l It is meaningless to configure an MLD Snooping querier in an IPv6 multicast network running MLD; in fact, this may affect MLD querier elections because an MLD Snooping querier sends MLD general queries with a low source IPv6 address.
l When a device is configured as the MLD Snooping querier of multiple attached subnets, excessive query tasks will affect device performance. In this case, you can configure properly longer query intervals than usual.
1.5.3 Configuring MLD Queries and Responses
You can tune the MLD general query interval based on actual condition of the network.
Upon receiving an MLD query (general query or multicast-address-specific query), a host starts a timer for each IPv6 multicast group it has joined. This timer is initialized to a random value in the range of 0 to the maximum response time (the host obtains the value of the maximum response time from the Max Response Time field in the MLD query it received). When the timer value comes down to 0, the host sends an MLD report to the corresponding IPv6 multicast group.
An appropriate setting of the maximum response time for MLD queries allows hosts to respond to queries quickly and avoids bursts of MLD traffic on the network caused by reports simultaneously sent by a large number of hosts when corresponding timers expires simultaneously.
l For MLD general queries, you can configure the maximum response time to fill their Max Response time field.
l For MLD multicast-address-specific queries, you can configure the MLD last-member query interval to fill their Max Response time field. Namely, for MLD multicast-address-specific queries, the maximum response time equals to the MLD last-member query interval.
I. Configuring MLD queries and responses globally
Follow these steps to configure MLD queries and responses globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter MLD Snooping view |
mld-snooping |
— |
Configure the maximum response time for MLD general queries |
max-response-time interval |
Optional 10 seconds by default |
Configure the MLD last-member query interval |
last-listener-query-interval interval |
Optional 1 second by default |
II. Configuring MLD queries and responses in a VLAN
Follow these steps to configure MLD queries and responses in a VLAN:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN view |
vlan vlan-id |
— |
Configure MLD general query interval |
mld-snooping query-interval interval |
Optional 60 seconds by default |
Configure the maximum response time for MLD general queries |
mld-snooping max-response-time interval |
Optional 10 seconds by default |
Configure the MLD last-member query interval |
mld-snooping last-listener-query-interval interval |
Optional 1 second by default |
Caution:
In the configuration, make sure that the MLD general query interval is larger than the maximum response time for MLD general queries. Otherwise, multicast group members may be deleted by mistake.
1.5.4 Configuring a Source IPv6 Address for MLD Queries
This configuration allows you to change the source IPv6 address of MLD queries. When a port receives an MLD general query with an all-zero IPv6 address, the switch does not put it in its router port list. In a multicast network with only Layer 2 devices, therefore, it is recommended to configure a normal link-local IPv6 address as the source address of MLD query messages.
Follow these steps to configure source IPv6 addresses of MLD queries:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN view |
vlan vlan-id |
— |
Configure the source IPv6 address of MLD general queries |
mld-snooping general-query source-ip { current-interface | ipv6-address } |
Optional FE80::02FF:FFFF:FE00:0001 by default |
Configure the source IPv6 address of MLD multicast-address-specific queries |
mld-snooping special-query source-ip { current-interface | ipv6-address } |
Optional FE80::02FF:FFFF:FE00:0001 by default |
Caution:
The source IPv6 address of MLD query messages may affect MLD querier election within the segment.
1.5.5 Configuring the Function of Dropping Unknown IPv6 Multicast Data
Unknown IPv6 multicast data refers to IPv6 multicast data whose forwarding entries do not exist in the corresponding MLD Snooping forwarding table:
l With the function of dropping unknown IPv6 multicast data enabled, the switch drops the unknown IPv6 multicast data received.
l With the function of dropping unknown IPv6 multicast data disabled, the switch floods unknown IPv6 multicast data in the native VLAN.
Follow these steps to configure globally the function of dropping unknown IPv6 multicast data:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter MLD Snooping view |
mld-snooping |
— |
Enable the function of dropping unknown IPv6 multicast data |
drop-unknown |
Required Disabled by default |
& Note:
When enabled to drop unknown IPv6 multicast data, an S9500 series Ethernet switch still forwards unknown IPv6 multicast data to other router ports in the VLAN.
1.6 Configuring an IPv6 Multicast Group Policy
1.6.1 Configuration Prerequisites
Before configuring an IPv6 multicast group filtering policy, complete the following tasks:
l Enable MLD Snooping in the VLAN or enable MLD on the desired VLAN interface
l Configure corresponding port groups
Before configuring an IPv6 multicast group filtering policy, prepare the following data:
l IPv6 ACL rule for IPv6 multicast group filtering
l The maximum number of IPv6 multicast groups that can pass the ports
l Whether enable the IPv6 multicast group replacement function.
1.6.2 Configuring an IPv6 Multicast Group Filter
On a MLD Snooping–enabled switch, the configuration of an IPv6 multicast group filter allows the service provider to define limits of different users’ access.
In an actual application of Video on Demand (VoD), when a user requests a multicast program, the user’s host initiates an MLD report. Upon receiving this report message, the switch checks the report against the ACL rule configured on the receiving port. If this receiving port can join this IPv6 multicast group, the switch adds this port to the MLD Snooping forwarding table; otherwise the switch drops this report message. Any IPv6 multicast data that fails the ACL check will not be sent to this port. In this way, the service provider can control the VoD programs provided for multicast users.
I. Configuring an IPv6 multicast group filter globally
Follow these steps to configure an IPv6 multicast group globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter MLD Snooping view |
mld-snooping |
— |
Configure an IPv6 multicast group filter |
group-policy acl6-number [ vlan vlan-list ] |
Required No IPv6 filter configured by default, namely hosts can join any IPv6 multicast group |
II. Configuring an IPv6 multicast group filter on a port or a group of ports
Follow these steps to configure an IPv6 multicast group filer on a port or a group of ports:
To do... |
Use the command... |
Remarks |
|
Enter system view |
system-view |
— |
|
Enter the corresponding view |
Enter Ethernet interface view |
interface interface-type interface-number |
Use either command |
Enter port group view |
port-group { manual port-group-name | aggregation agg-id } |
||
Configure an IPv6 multicast group filter |
mld-snooping group-policy acl6-number [ vlan vlan-list ] |
Required No IPv6 filter configured by default, namely hosts can join any IPv6 multicast group |
1.6.3 Configuring Maximum IPv6 Multicast Groups that Can Be Joined on a Port
By configuring the maximum number of IPv6 multicast groups that can be joined on a port, you can limit the number of multicast programs on-demand available to users, thus to regulate traffic on the port.
Follow these steps to configure the maximum number of IPv6 multicast groups that can be joined on a port:
To do... |
Use the command... |
Remarks |
|
Enter system view |
system-view |
— |
|
Enter the corresponding view |
Enter Ethernet interface view |
interface interface-type interface-number |
Use either command |
Enter port group view |
port-group { manual port-group-name | aggregation agg-id } |
||
Configure the maximum number of IPv6 multicast groups that can be joined on a port |
mld-snooping group-limit limit [ vlan vlan-list ] |
Optional 1,024 by default. |
& Note:
l When the number of IPv6 multicast groups a port has joined reaches the maximum number configured, the system deletes this port from all the related MLD Snooping forwarding entries, and hosts on this port need to join IPv6 multicast groups again.
l If you have configured a port to be a static member port or enabled the function of simulating a member host on a port, the system deletes this port from all the related MLD Snooping forwarding entries and applies the new configurations, until the number of IPv6 multicast groups the has joined reaches the maximum number configured.
1.6.4 Configuring IPv6 Multicast Group Replacement
For some special reasons, the number of IPv6 multicast groups passing through a switch or Ethernet port may exceed the number configured for the switch or the port. In addition, in some specific applications, an IPv6 multicast group newly joined on the switch needs to replace an existing IPv6 multicast group automatically, namely, by joining a new multicast group, a user automatically switches from the current multicast group to the new one.
To address this situation, you can enable the IPv6 multicast group replacement function on the switch or certain Ethernet ports. When the number of IPv6 multicast groups a switch or an Ethernet port has joined exceeds the limit.
l If the IPv6 multicast group replacement is enabled, the newly joined IPv6 multicast group automatically replaces an existing IPv6 multicast group with the lowest IPv6 address.
l If the IPv6 multicast group replacement is not enabled, new MLD reports will be automatically discarded.
I. Configuring IPv6 multicast group replacement globally
Follow these steps to configure IPv6 multicast group replacement globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter MLD Snooping view |
mld-snooping |
— |
Enable IPv6 multicast group replacement |
overflow-replace [ vlan vlan-list ] |
Required Disabled by default |
II. Configuring IPv6 multicast group replacement on a port or a group of ports
Follow these steps to configure IPv6 multicast group replacement on a port or a group of ports:
To do... |
Use the command... |
Remarks |
|
Enter system view |
system-view |
— |
|
Enter the corresponding view |
Enter Ethernet interface view |
interface interface-type interface-number |
Use either command |
Enter port group view |
port-group { manual port-group-name | aggregation agg-id } |
||
Enable IPv6 multicast group replacement |
mld-snooping overflow-replace [ vlan vlan-list ] |
Required Disabled by default |
Caution:
Be sure to configure the maximum number of IPv6 multicast groups allowed on a port within the range of 1 to 1023 before enabling IPv6 multicast group replacement. Otherwise, the IPv6 multicast group replacement functionality will not take effect.
1.7 Displaying and Maintaining MLD Snooping
To do… |
Use the command... |
Remarks |
View MLD Snooping multicast group information |
display mld-snooping group [ vlan vlan-id ] [ slot slot-id ] [ verbose ] |
Available in any view |
View the statistics information of MLD messages learned by MLD Snooping |
display mld-snooping statistics |
Available in any view |
Clear MLD Snooping multicast group information |
reset mld-snooping group { ipv6-group-address | all } [ vlan vlan-id ] |
Available in user view |
Clear the statistics information of all kinds of MLD messages learned by MLD Snooping |
reset mld-snooping statistics |
Available in user view |
& Note:
l The reset mld-snooping group command works only on an MLD Snooping–enabled VLAN, but not on a VLAN with MLD enabled on its VLAN interface.
l The reset mld-snooping group command cannot be used to clear MLD Snooping multicast group information of static joins.
1.8 MLD Snooping Configuration Examples
1.8.1 Examples 1 (Simulated Joining)
I. Network requirements
l As shown in Figure 1-3, Router A (an IPv6 multicast router) connects to the IPv6 multicast source through Ethernet 1/1/2 and to Switch A (an S9500 series Ethernet switch) through Ethernet 1/1/1.
l MLD runs between Router A and Switch A, MLD Snooping runs on Switch A, and Router A acts as the MLD querier.
l Router A runs IPv6 PIM-SM, and the Ethernet 1/1/2 serves as C-BSR and C-RP.
l Perform the following configuration so that multicast data (1::1, FF1E::101:101) can be forwarded through Ethernet 1/2 and Ethernet 1/3 even if the receivers Host A and Host B attached to on Switch A temporarily stop receiving IPv6 multicast data for some unexpected reasons.
II. Network diagram
Figure 1-3 Network diagram for simulated joining configuration
III. Configuration procedure
1) Enable IPv6 forwarding and configure IPv6 addresses
Enable IPv6 forwarding on each device and configure an IPv6 address and address prefix for each interface. The detailed configuration steps are omitted.
2) Configure Router A
# Enable IPv6 multicast routing, enable IPv6 PIM-SM on each interface, and enable MLDv1 on Ethernet 1/1/1. The Ethernet 1/1/2 serves as C-BSR and C-RP.
<RouterA> system-view
[RouterA] multicast ipv6 routing-enable
[RouterA] interface ethernet 1/1/1
[RouterA-Ethernet1/1/1] mld enable
[RouterA-Ethernet1/1/1] mld version 1
[RouterA-Ethernet1/1/1] pim ipv6 sm
[RouterA-Ethernet1/1/1] quit
[RouterA] interface ethernet 1/1/2
[RouterA-Ethernet1/1/2] pim ipv6 sm
[RouterA-Ethernet1/1/2] quit
[RouterA] pim ipv6
[RouterA-pim6] c-bsr 1::2
[RouterA-pim6] c-rp 1::2
[RouterA-pim6] quit
& Note:
The above configuration on Router A is for reference only. Refer to the specific situation of your device when performing the configuration.
3) Configure Switch A
# Create VLAN 100.
<SwitchA> system-view
[SwitchA] vlan 100
# Add ports Ethernet 1/1/1 through Ethernet 1/1/4 to VLAN 100.
[SwitchA-vlan100] port ethernet 1/1/1 to ethernet 1/1/4
[SwitchA-vlan100] quit
# Enable MLD Snooping.
[SwitchA] mld-snooping
[SwitchA-mld-snooping] quit
[SwitchA] vlan 100
[SwitchA-vlan100] mld-snooping enable
[SwitchA-vlan100] quit
# Configure ports Ethernet 1/1/2 and Ethernet 1/1/3 as simulated hosts for IPv6 multicast group FF1E::101:101.
[SwitchA] interface ethernet 1/1/2
[SwitchA-Ethernet1/1/2] mld-snooping host-join ff1e::101:101 vlan 100
[SwitchA-Ethernet1/1/2] quit
[SwitchA] interface ethernet 1/1/3
[SwitchA-Ethernet1/1/3] mld-snooping host-join ff1e::101:101 vlan 100
[SwitchA-Ethernet1/1/3] quit
4) Verify the configuration
# View the detailed information of the MLD Snooping multicast group in VLAN 100.
[SwitchA] display mld-snooping group vlan 100 verbose
Total 1 IP Group(s).
Total 1 IP Source(s).
Total 1 MAC Group(s).
Port flags: D-Dynamic port, S-Static port, A-Aggregation port, C-Copy port
Subvlan flags: R-Real VLAN, C-Copy VLAN
Vlan(id):100.
Total 1 IP Group(s).
Total 1 IP Source(s).
Total 1 MAC Group(s).
Router port(s):total 1 port.
Ethernet1/1/4 (D)
IP group(s):the following ip group(s) match to one mac group.
IP group address:FF1E::101:101
(::, FF1E::101:101):
Attribute: Host Port
Host port(s):total 2 port.
Ethernet1/1/2 (D)
Ethernet1/1/3 (D)
MAC group(s):
MAC group address:3333-0101-0101
Host port(s):total 2 port.
Ethernet1/1/2
Ethernet1/1/3
As shown above, Ethernet 1/1/2 and Ethernet 1/1/3 of Switch A have joined the IPv6 multicast group FF1E::101:101.
1.8.2 Examples 2 (Static Router Port Configuration)
I. Network requirements
As shown in Figure 1-4, Router A, which acts as the MLD querier on the subnet, connects to the IPv6 multicast source through Ethernet 1/1/2 and to Switch A (an S9500 series Ethernet switch) through Ethernet 1/1/1. While no IPv6 multicast protocol is running on Router B, perform the following configuration so that Switch A can forward all the received IPv6 multicast data to Router B.
II. Network diagram
Figure 1-4 Network diagram for static router port configuration
III. Configuration procedure
1) Enable IPv6 forwarding and configure IPv6 addresses
Enable IPv6 forwarding on each device and configure an IP address and address prefix for each interface. The specific configuration procedure is omitted here.
2) Configure Router A
# Enable IPv6 multicast routing, enable IPv6 PIM-DM on each interface, and enable MLDv1 on Ethernet 1/1/1.
<RouterA> system-view
[RouterA] multicast ipv6 routing-enable
[RouterA] interface ethernet 1/1/1
[RouterA-Ethernet1/1/1] mld enable
[RouterA-Ethernet1/1/1] mld version 1
[RouterA-Ethernet1/1/1] pim ipv6 dm
[RouterA-Ethernet1/1/1] quit
[RouterA] interface ethernet 1/1/2
[RouterA-Ethernet1/1/2] pim ipv6 dm
[RouterA-Ethernet1/1/2] quit
& Note:
The above configuration on Router A is for reference only. Refer to the specific situation of your device when performing the configuration.
3) Configure Switch A
# Create VLAN 100.
<SwitchA> system-view
[SwitchA] vlan 100
# Add the ports, Ethernet 1/1/1 to Ethernet 1/1/4, to VLAN 100.
[SwitchA-vlan100] port ethernet 1/1/1 to ethernet 1/1/4
[SwitchA-vlan100] quit
# Enable MLD Snooping.
[SwitchA] mld-snooping
[SwitchA-mld-snooping] quit
[SwitchA] vlan 100
[SwitchA-vlan100] mld-snooping enable
[SwitchA-vlan100] quit
# Configure Ethernet 1/1/3 to be a static router port.
[SwitchA] interface ethernet 1/1/3
[SwitchA-Ethernet1/3] mld-snooping static-router-port vlan 100
[SwitchA-Ethernet1/3] quit
Switch A can forward all the received IPv6 multicast data in VLAN 100 to Router B through Ethernet 1/1/3, which has been configured as a static router port.
1.8.3 Examples 3 (MLD Snooping Querier Configuration)
I. Network requirements
l As shown in Figure 1-5, in a Layer-2 network environment without Layer-3 device, Switch C is attached to the multicast source (Source) through Ethernet 1/1/2. At least one receiver is connected to Switch B and Switch C respectively.
l MLDv1 is enabled on all the receivers. Switch A, Switch B, and Switch C run MLD Snooping. Switch A acts as the MLD Snooping querier.
II. Network diagram
Figure 1-5 Network diagram for MLD Snooping querier configuration
III. Configuration procedure
1) Configure switch A
# Enable IPv6 forwarding, and enable MLD Snooping globally.
<SwitchA> system-view
[SwitchA] ipv6
[SwitchA] mld-snooping
[SwitchA-mld-snooping] quit
# Create VLAN 100 and add Ethernet 1/1/3 and Ethernet 1/1/1 to VLAN 100.
[SwitchA] vlan 100
[SwitchA-vlan100] port ethernet 1/1/3 ethernet 1/1/1
# Enable MLD Snooping in VLAN 100 and enable the MLD-Snooping querier function.
[SwitchA-vlan100] mld-snooping enable
[SwitchA-vlan100] mld-snooping querier
2) Configure Switch B
# Enable IPv6 forwarding, and enable MLD Snooping globally.
<SwitchB> system-view
[SwitchB] ipv6
[SwitchB] mld-snooping
[SwitchB-mld-snooping] quit
# Create VLAN 100, add Ethernet 1/1/1 through Ethernet 1/1/3 into the VLAN, and enable MLD Snooping in the VLAN.
[SwitchB] vlan 100
[SwitchB-vlan100] port ethernet 1/1/1 to ethernet 1/1/3
[SwitchB-vlan100] mld-snooping enable
3) Configuration on Switch C
# Enable IPv6 forwarding, and enable MLD Snooping globally.
<SwitchC> system-view
[SwitchC] ipv6
[SwitchC] mld-snooping
[SwitchC-mld-snooping] quit
# Create VLAN 100, add Ethernet 1/1/1 through Ethernet 1/1/3 to VLAN 100, and enable MLD Snooping in this VLAN.
[SwitchC] vlan 100
[SwitchC-vlan100] port ethernet 1/1/1 to ethernet 1/1/3
[SwitchC-vlan100] mld-snooping enable
1.9 Troubleshooting MLD Snooping
1.9.1 Switch Fails in Layer 2 Multicast Forwarding
I. Symptom
A switch fails to implement MLD Snooping.
II. Analysis
MLD Snooping is not enabled.
III. Solution
1) Enter the display current-configuration command to view the running status of MLD Snooping.
2) If MLD Snooping is not enabled, use the mld-snooping command to enable MLD Snooping globally and then use mld-snooping enable command to enable MLD Snooping in VLAN view.
3) If MLD Snooping is disabled only for the corresponding VLAN, just use the mld-snooping enable command in VLAN view to enable MLD Snooping in the corresponding VLAN.
1.9.2 Configured IPv6 Multicast Group Policy Fails to Take Effect
I. Symptom
Although an IPv6 multicast group policy has been configured to allow hosts to join specific IPv6 multicast groups, the hosts can still receive IPv6 multicast data addressed to other groups.
II. Analysis
l The IPv6 ACL rule is incorrectly configured.
l The IPv6 multicast group policy is not correctly applied.
l The function of dropping unknown IPv6 multicast data is not enabled, so unknown IPv6 multicast data is broadcast
l Certain ports have been configured as static member ports of IPv6 multicasts groups, and this configuration conflicts with the configured IPv6 multicast group policy.
III. Solution
1) Use the display acl ipv6 command to check the configured IPv6 ACL rule. Make sure that the IPv6 ACL rule conforms to the IPv6 multicast group policy to be implemented.
2) Use the display this command in MLD Snooping view or the corresponding interface view to check whether the correct IPv6 multicast group policy has been applied. If not, use the group-policy or mld-snooping group-policy command to apply the correct IPv6 multicast group policy.
3) Use the display current-configuration command to whether the function of dropping unknown IPv6 multicast data is enabled. If not, use the drop-unknown command to enable the function of dropping unknown IPv6 multicast data.
4) Use the display mld-snooping group command to check whether any port has been configured as a static member port of any IPv6 multicast group. If so, check whether this configuration conflicts with the configured IPv6 multicast group policy. If any conflict exists, remove the port as a static member of the IPv6 multicast group.