- 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 |
---|---|---|
03-IGMP Snooping Configuration | 283.72 KB |
Table of Contents
Chapter 1 IGMP Snooping Configuration
1.1.1 Principle of IGMP Snooping
1.1.2 Basic Concepts in IGMP Snooping
1.1.3 Work Mechanism of IGMP Snooping
1.1.4 Processing of Multicast Protocol Messages
1.2 IGMP Snooping Configuration Task List
1.3 Configuring Basic Functions of IGMP Snooping
1.3.1 Configuration Prerequisites
1.3.3 Configuring the Version of IGMP Snooping
1.3.4 Configuring the Function of Dropping Unknown Multicast Data
1.4 Configuring IGMP 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 Aging Timers for Dynamic Ports
1.5 Configuring IGMP-Related Functions
1.5.1 Configuration Prerequisites
1.5.2 Enabling IGMP Snooping Querier
1.5.3 Configuring IGMP Queries and Responses
1.5.4 Configuring Source IP Address of IGMP Queries
1.5.5 Configuring IGMP Report Suppression
1.6 Configuring a Multicast Group Policy
1.6.1 Configuration Prerequisites
1.6.2 Configuring a Multicast Group Filter
1.6.3 Configuring Maximum Multicast Groups that Can Be Joined on a Port
1.6.4 Configuring Multicast Group Replacement
1.7 Displaying and Maintaining IGMP Snooping
1.8 IGMP Snooping Configuration Examples
1.8.1 Configuring Simulated Joining
1.8.2 IGMP Snooping Querier Configuration
1.8.3 Static Router Port Configuration
1.9 Troubleshooting IGMP Snooping Configuration
1.9.1 Switch Fails in Layer 2 Multicast Forwarding
1.9.2 Configured Multicast Group Policy Fails to Take Effect
Chapter 1 IGMP Snooping Configuration
When configuration IGMP Snooping, go to the following sections for information you are interested in:
l Configuring Basic Functions of IGMP Snooping
l Configuring IGMP Snooping Port Functions
l Configuring IGMP-Related Functions
l Configuring a Multicast Group Policy
l Displaying and Maintaining IGMP Snooping
l IGMP Snooping Configuration Examples
l Troubleshooting IGMP Snooping Configuration
For details about IGMP and PIM, refer to IGMP Configuration and PIM Configuration in the IP Multicast Volume.
1.1 IGMP Snooping Overview
Internet Group Management Protocol Snooping (IGMP Snooping) is a multicast constraining mechanism that runs on Layer 2 devices to manage and control multicast groups.
1.1.1 Principle of IGMP Snooping
By analyzing received IGMP messages, a switch (Layer 2 device) running IGMP Snooping establishes mappings between ports and multicast MAC addresses and forwards multicast data based on these mappings.
As shown in Figure 1-1, when IGMP Snooping is not running on the switch, multicast packets are broadcast to all devices at Layer 2. When IGMP Snooping is running on the switch, multicast packets for known multicast groups are multicast to the receivers, rather than broadcast to all hosts, at Layer 2.
Figure 1-1 Before and after IGMP Snooping is enabled on Layer 2 device
1.1.2 Basic Concepts in IGMP Snooping
I. IGMP Snooping related ports
As shown in Figure 1-2, Router A connects to the multicast source, IGMP Snooping runs on Switch A and Switch B, Host A and Host C are receiver hosts (namely, multicast group members).
Figure 1-2 IGMP Snooping related ports
Ports involved in IGMP Snooping, as shown in Figure 1-2, are described as follows:
l Router port: A router port is a port on the Layer-3 multicast device or the IGMP querier side of the Ethernet switch. In the figure, Ethernet 1/1/10 of Switch A and Ethernet 1/0 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: Also known as a listener port, a member port is a port on the multicast group member side of the Ethernet switch. 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 IGMP Snooping forwarding table.
& Note:
l Whenever mentioned in this document, a router port is a port on a switch that leads the switch to a Layer 3 multicast device, rather than a port on a router.
l An IGMP-snooping-enabled switch deems all its ports on which IGMP general queries with the source address other than 0.0.0.0 or PIM hello messages are received to be dynamic router ports. For details about PIM hello messages, see PIM Configuration of the IP Multicast Volume.
II. Port aging timers in IGMP Snooping and related messages and actions
Table 1-1 Port aging timers in IGMP 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 |
IGMP general query of which the source address is not 0.0.0.0 or PIM hello |
The switch removes this port from its router port list |
Dynamic member port aging timer |
When a port dynamically joins a multicast group, the switch sets a timer for the port, which is initialized to the dynamic member port aging time. |
IGMP report |
The switch removes this port from the IGMP Snooping forwarding table. |
& Note:
The port aging mechanism of IGMP Snooping works only on dynamic ports; a static port will never age out.
1.1.3 Work Mechanism of IGMP 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 IGMP Snooping performs different actions when it receives different IGMP messages, as follows:
I. When receiving a general query
The IGMP querier periodically sends IGMP general queries to all hosts and routers on the local subnet (224.0.0.1) to find out whether active multicast group members exist on the subnet.
Upon receiving an IGMP 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. When receiving a membership report
A host sends an IGMP report to the IGMP querier in the following circumstances:
l Upon receiving an IGMP query, a multicast group member host responds with an IGMP report.
l When intended to join a multicast group, a host sends an IGMP report to the IGMP querier to announce that it is interested in the multicast information addressed to that group.
Upon receiving an IGMP report, the switch forwards it through all the router ports in the VLAN, resolves the address of the 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 IGMP report through a non-router port.
III. When receiving a leave message
When an IGMPv1 host leaves a multicast group, the host does not send an IGMP leave message, so the switch cannot know immediately that the host has left the multicast group. However, as the host stops sending IGMP reports as soon as it leaves a multicast group, the switch deletes the forwarding entry for the dynamic member port corresponding to the host from the forwarding table when its aging timer expires.
When an IGMPv2 or IGMPv3 host leaves a multicast group, the host sends an IGMP leave message to the multicast router.
When the switch receives an IGMP leave message on a dynamic member port, the switch first checks whether a forwarding table entry for the group address in the leave message exists, and, if one exists, whether the outgoing port list contains that 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 IGMP leave 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 leave message to all router ports in the VLAN. Because the switch does not know whether any other hosts attached to the port are still listening to that 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 the IGMP leave message from a host, the IGMP querier resolves the multicast group address in the message and sends an IGMP group-specific query to that multicast group through the port that received the leave message. Upon receiving the IGMP group-specific query, the switch (non-IGMP querier) forwards it through all its router ports in the VLAN and all member ports for that multicast group, and performs the following to the port on which it received the IGMP leave message:
l If any IGMP report in response to the group-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 multicast data for that multicast group. The switch resets the aging timer of the port.
l If no IGMP report in response to the group-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 group address: the switch removes the port from the outgoing port list of the forwarding table entry for that multicast group when the aging timer expires.
1.1.4 Processing of Multicast Protocol Messages
With Layer 3 multicast routing enabled, an IGMP Snooping–capable S9500 series Ethernet switch processes multicast protocol messages differently under different conditions, specifically as follows:
1) If only IGMP is enabled, or both IGMP and PIM are enabled on the switch, the switch handles multicast protocol messages in the normal way.
2) In only PIM is enabled on the switch:
l The switch broadcasts IGMP messages as unknown messages in the VLAN.
l Upon receiving a PIM hello message, the switch will maintain the corresponding router port.
3) When IGMP is disabled on the switch:
l If PIM is disabled, the switch deletes all its dynamic member ports and dynamic router ports.
l If PIM is enabled, the switch deletes only its dynamic member ports without deleting its dynamic router ports.
4) When PIM is disabled on the switch:
l If IGMP is disabled, the switch deletes only its dynamic router ports without deleting its dynamic member ports.
l If IGMP is enabled, the switch maintains all its dynamic member ports and dynamic router ports.
& Note:
On a switch with Layer-3 multicast routing enabled, use the display igmp group port-info command to view Layer-2 port information. For details about this command, refer to IGMP Commands in the IP Multicast Volume.
1.1.5 Protocols and Standards
IGMP Snooping is documented in RFC 4541: Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches.
1.2 IGMP Snooping Configuration Task List
Complete these tasks to configure IGMP Snooping:
Task |
Remarks |
|
Required |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Optional |
||
Configuring Maximum Multicast Groups that Can Be Joined on a Port |
Optional |
|
Optional |
& Note:
l Configurations made in IGMP 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 IGMP Snooping view is effective only if the same configuration is not made in VLAN view.
l Configurations made in IGMP 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. For a given port, a configuration made in IGMP 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 IGMP Snooping
1.3.1 Configuration Prerequisites
Before configuring the basic functions of IGMP Snooping, complete the following task:
l Configure the corresponding VLANs
Before configuring the basic functions of IGMP Snooping, consider the following points:
l Version of IGMP Snooping
l Whether to enable the function of dropping unknown multicast data.
1.3.2 Enabling IGMP Snooping
Follow these steps to enable IGMP Snooping:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enable IGMP Snooping globally and enter IGMP Snooping view |
igmp-snooping |
Required Disabled by default |
Return to system view |
quit |
— |
Enter VLAN view |
vlan vlan-id |
— |
Enable IGMP Snooping in the VLAN |
igmp-snooping enable |
Required Disabled by default |
& Note:
l IGMP Snooping must be enabled globally before it can be enabled in a VLAN.
l When you enable IGMP Snooping in a specified VLAN, this function takes effect for Ethernet ports in this VLAN only.
l After enabling IGMP Snooping in a VLAN, you cannot enable IGMP and/or PIM on the corresponding VLAN interface, and vice versa.
1.3.3 Configuring the Version of IGMP Snooping
l IGMP Snooping version 2 can process IGMPv1 and IGMPv2 messages, but not IGMPv3 messages, which will be flooded in the VLAN.
l IGMP Snooping version 3 can process IGMPv1, IGMPv2 and IGMPv3 messages.
Follow these steps to configure the version of IGMP Snooping:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN view |
vlan vlan-id |
— |
Configure the version of IGMP Snooping |
igmp-snooping version version-number |
Optional Version 2 by default |
Caution:
If you switch IGMP Snooping from version 3 to version 2, the system will clear all IGMP Snooping forwarding entries from dynamic joins, and will:
l Keep forwarding entries for version 3 static (*, G) joins;
l Clear forwarding entries for version 3 static (S, G) joins, which will be restored when IGMP Snooping is switched back to version 3.
For details about static joining, refer to Configuring Static Ports.
1.3.4 Configuring the Function of Dropping Unknown Multicast Data
Unknown multicast data refers to multicast data whose forwarding entries do not exist in the IGMP Snooping forwarding table:
l With the function of dropping unknown multicast data enabled, the switch drops all the unknown multicast data received.
l With the function of dropping unknown multicast data disabled, the switch floods unknown multicast data in the native VLAN.
Follow these steps to configure the function of dropping unknown multicast data:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter IGMP Snooping view |
igmp-snooping |
— |
Enable the function of dropping unknown multicast data |
drop-unknown |
Required Disabled by default |
& Note:
An S9500 series routing switch still forward unknown multicast data to other router ports in the VLAN even if enabled to drop unknown multicast data.
1.4 Configuring IGMP Snooping Port Functions
1.4.1 Configuration Prerequisites
Before configuring IGMP Snooping port functions, complete the following tasks:
l Enable IGMP Snooping in the VLAN or enable IGMP on the VLAN interface
l Configure the corresponding port groups.
Before configuring IGMP Snooping port functions, consider the following points:
l Multicast group and multicast source addresses
l Whether to configure simulated joining
l Whether to enable fast leave processing
l Dynamic router port aging time
l Dynamic member port aging time
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 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 |
Required Use either command |
Enter interface group view |
port-group { manual port-group-name | aggregation agg-id } |
||
Configure the port(s) as static member port(s) |
igmp-snooping static-group group-address [ source-ip source_address ] vlan vlan-id |
Required A port is not a static member port by default |
|
Configure the port(s) as static router port(s) |
igmp-snooping static-router-port vlan vlan-id |
Required A port is not a static router port by default |
& Note:
l A static member port does not respond to queries from the IGMP querier; when static (*, G) or (S, G) joining is enabled or disabled on a port, the port does not send an unsolicited IGMP report or an IGMP leave 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 IGMP responds to IGMP queries from the IGMP querier. If a host fails to respond due to some reasons, the multicast router may deem that no member of this 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 of the switch, namely configure the port as a simulated member host for a multicast group. When an IGMP query is received, the simulated host gives a response. Thus, the switch can continue receiving multicast data.
A simulated host acts like a real host, as follows:
l When a port is configured as a simulated member host, the switch sends an unsolicited IGMP report through that port.
l After a port is configured as a simulated member host, the switch responds to IGMP general queries by sending IGMP reports through that port.
l When the simulated joining function is disabled on a port, the switch sends an IGMP leave message through that port.
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 interface group view |
port-group { manual port-group-name | aggregation agg-id } |
||
Configure simulated (*, G) or (S, G) joining |
igmp-snooping host-join group-address [ source-ip source-address ] vlan vlan-id |
Required Disabled by default |
& Note:
l Each simulated host is equivalent to an independent host. For example, when receiving an IGMP 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 IGMP leave messages in a fast way. With the fast leave processing feature enabled, when receiving an IGMP leave 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 IGMP group-specific queries for that 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 IGMP Snooping view |
igmp-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 interface group view |
port-group { manual port-group-name | aggregation agg-id } |
||
Enable fast leave processing |
igmp-snooping fast-leave [ vlan vlan-list ] |
Required Disabled by default |
Caution:
l If fast leave processing is enabled on a port to which more than one host is attached, when one host leaves a multicast group, the other hosts attached to the port and interested in the same multicast group will fail to receive multicast data for that group.
l Fast leave processing is effective on a port only when IGMPv2 or IGMPv3 runs on all the hosts of a multicast group attached to this port. If IGMPv1 runs on a host, fast leave processing does not take effect even if it is configured.
1.4.5 Configuring Aging Timers for Dynamic Ports
If the switch receives no IGMP reports for a multicast group on a dynamic member port, the switch removes the port from the outgoing port list of the forwarding table entry for that multicast group when the aging timer of the port for that group expires.
If multicast group memberships change frequently, you can set a relatively small value for the dynamic member port aging timer, and vice versa.
I. Configuring aging timers for dynamic ports globally
Follow these steps to configure aging timers for dynamic ports globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter IGMP Snooping view |
igmp-snooping |
— |
Configure dynamic router port aging time |
router-aging-time interval |
Optional 105 seconds by default |
Configure dynamic member port aging time |
host-aging-time interval |
Optional 260 seconds by default |
II. Configuring aging timers for dynamic ports in a VLAN
Follow these steps to configure aging timers for dynamic ports 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 |
igmp-snooping router-aging-time interval |
Optional 105 seconds by default |
Configure dynamic member port aging time |
igmp-snooping host-aging-time interval |
Optional 260 seconds by default |
1.5 Configuring IGMP-Related Functions
1.5.1 Configuration Prerequisites
Before configuring IGMP-related functions, complete the following task:
l Enable IGMP Snooping in the VLAN
Before configuring IGMP-related functions, consider the following points:
l IGMP general query interval
l IGMP last-member query interval
l Maximum response time to IGMP general queries
l Source address of IGMP general queries
l Source address of IGMP group-specific queries
l Whether to enable IGMP report suppression
1.5.2 Enabling IGMP Snooping Querier
In a network that does not comprise Layer 3 multicast devices, however, it is a problem to implement an IGMP querier, because Layer 2 devices do not support IGMP. To solve this problem, you can enable the IGMP Snooping querier function on a Layer 2 device so that it can work as an IGMP Snooping querier to create and maintain multicast forwarding entries at the data link layer.
Follow these steps to enable IGMP Snooping querier:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN view |
vlan vlan-id |
— |
Enable IGMP Snooping querier |
igmp-snooping querier |
Required Disabled by default |
Caution:
l An IGMP Snooping querier does not take part in IGMP querier elections.
l It is meaningless to configure an IGMP Snooping querier in a multicast network running IGMP. It may affect IGMP querier elections because it sends IGMP general queries with a low source IP address.
l When a device is configured as the IGMP 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 IGMP Queries and Responses
You can tune the IGMP general query interval based on actual condition of the network.
Upon receiving an IGMP query (general query or group-specific query), a host starts a timer for each 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 IGMP query it received). When the timer value comes down to 0, the host sends an IGMP report to the corresponding multicast group.
An appropriate setting of the maximum response time for IGMP queries allows hosts to respond to queries quickly and avoids bursts of IGMP traffic on the network caused by reports simultaneously sent by a large number of hosts when corresponding timers expires simultaneously.
l For IGMP general queries, you can configure the maximum response time to fill their Max Response time field.
l For IGMP group-specific queries, you can configure the IGMP last-member query interval to fill their Max Response time field. Namely, for IGMP group-specific queries, the maximum response time equals to the IGMP last-member query interval.
I. Configuring IGMP queries and responses globally
Follow these steps to configure IGMP queries and responses globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter IGMP Snooping view |
igmp-snooping |
— |
Configure the maximum response time to IGMP general queries |
max-response-time interval |
Optional 10 seconds by default |
Configure the IGMP last-member query interval |
last-member-query-interval interval |
Optional 1 second by default |
II. Configuring IGMP queries and responses in a VLAN
Follow these steps to configure IGMP queries and responses in a VLAN:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN view |
vlan vlan-id |
— |
Configure IGMP general query interval |
igmp-snooping query-interval interval |
Optional 60 second by default |
Configure the maximum response time to IGMP general queries |
igmp-snooping max-response-time interval |
Optional 10 seconds by default |
Configure the IGMP last-member query interval |
igmp-snooping last-member-query-interval interval |
Optional 1 second by default |
Caution:
Make sure that the IGMP general query interval is larger than the maximum response time for IGMP general queries. Otherwise, multicast group members may be deleted by mistake.
1.5.4 Configuring Source IP Address of IGMP Queries
Upon receiving an IGMP query whose source IP address is 0.0.0.0 on a port, the switch will not set that port as a dynamic router port. This may prevent multicast forwarding entries from being correctly created at the data link layer and cause multicast traffic forwarding failure in the end. When a Layer-2 device acts as an IGMP-Snooping querier, to avoid the aforesaid problem, you are commended configure a non-all-zero IP address as the source IP address of IGMP queries.
Follow these steps to configure source IP address of IGMP queries:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter VLAN view |
vlan vlan-id |
— |
Configure the source address of IGMP general queries |
igmp-snooping general-query source-ip { current-interface | ip-address } |
Optional 0.0.0.0 by default |
Configure the source IP address of IGMP group-specific queries |
igmp-snooping special-query source-ip { current-interface | ip-address } |
Optional 0.0.0.0 by default |
Caution:
The source address of IGMP query messages may affect IGMP querier election within the segment.
1.5.5 Configuring IGMP Report Suppression
When a Layer 2 device receives an IGMP report from a multicast group member, the device forwards the message to the Layer 3 device directly connected with it. Thus, when multiple members of a multicast group are attached to the Layer 2 device, the Layer 3 device directly connected with it will receive duplicate IGMP reports from these members.
With the IGMP report suppression function enabled, within each query cycle, the Layer 2 device forwards only the first IGMP report per multicast group to the Layer 3 device and will not forward the subsequent IGMP 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 IGMP report suppression:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter IGMP Snooping view |
igmp-snooping |
— |
Enable IGMP report suppression |
report-aggregation |
Optional Enabled by default |
1.6 Configuring a Multicast Group Policy
1.6.1 Configuration Prerequisites
Before configuring a multicast group filtering policy, complete the following tasks:
l Enable IGMP Snooping in the VLAN or enable IGMP on the desired VLAN interface
l Configure the corresponding port group
Before configuring a multicast group filtering policy, consider the following points:
l ACL rule for multicast group filtering
l The maximum number of multicast groups that can be joined on a port
l Whether to configure multicast group replacement
1.6.2 Configuring a Multicast Group Filter
In an actual application, when a user requests a multicast program, the user’s host initiates an IGMP report. Upon receiving this report message, the switch checks the report against the ACL rule configured on the receiving port. If the receiving port can join this multicast group, the switch adds this port to the IGMP Snooping forwarding table; otherwise the switch drops this report message. Any multicast data that has failed 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 a multicast group filter globally
Follow these steps to configure a multicast group filter globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter IGMP Snooping view |
igmp-snooping |
— |
Configure a multicast group filter |
group-policy acl-number [ vlan vlan-list ] |
Required No filter is configured by default, namely hosts can join any multicast group |
II. Configuring a multicast group filter on a port or a group ports
Follow these steps to configuring a multicast group filter on a port or a group 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 interface group view |
port-group { manual port-group-name | aggregation agg-id } |
||
Configure a multicast group filter |
igmp-snooping group-policy acl-number [ vlan vlan-list ] |
Required No filter is configured by default, namely hosts can join any multicast group |
1.6.3 Configuring Maximum Multicast Groups that Can Be Joined on a Port
By configuring the maximum number of 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 multicast groups that can be joined on a port or 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 |
Required Use either command |
Enter interface group view |
port-group { manual port-group-name | aggregation agg-id } |
||
Configure the maximum number of multicast groups that can be joined on the port(s) |
igmp-snooping group-limit limit [ vlan vlan-list ] |
Optional 512 by default |
& Note:
l When the number of multicast groups a port has joined reaches the maximum number configured, the system deletes this port from all the related IGMP Snooping forwarding entries, and hosts on this port need to join the multicast groups again.
l If you have configured a port to be a static member port or a simulated member of a multicast group, the system deletes this port from all the related IGMP Snooping forwarding entries and applies the configurations again, until the number of multicast groups the port has joined reaches the maximum number configured.
1.6.4 Configuring Multicast Group Replacement
For some special reasons, the number of multicast groups that can be joined on the current switch or port may exceed the number configured for the switch or the port. In addition, in some specific applications, a multicast group newly joined on the switch needs to replace an existing 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 such situations, you can enable the multicast group replacement function on the switch or certain ports. When the number of multicast groups joined on the switch or a port has joined reaches the limit:
l If the multicast group replacement feature is enabled, the newly joined multicast group automatically replaces an existing multicast group with the lowest address.
l If the multicast group replacement feature is not enabled, new IGMP reports will be automatically discarded.
I. Configuring multicast group replacement globally
Follow these steps to configure multicast group replacement globally:
To do... |
Use the command... |
Remarks |
Enter system view |
system-view |
— |
Enter IGMP Snooping view |
igmp-snooping |
— |
Enable multicast group replacement |
overflow-replace [ vlan vlan-list ] |
Required Disabled by default |
II. Configuring multicast group replacement on a port or a group port
Follow these steps to configure multicast group replacement on a port or a group 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 |
Required Use either command |
Enter interface group view |
port-group { manual port-group-name | aggregation agg-id } |
||
Enable multicast group replacement |
igmp-snooping overflow-replace [ vlan vlan-list ] |
Required Disabled by default |
Be sure to configure the maximum number of multicast groups allowed on a port to be in the range of 1 to 511 before enabling multicast group replacement. Otherwise, the multicast group replacement functionality will not take effect.
1.7 Displaying and Maintaining IGMP Snooping
To do... |
Use the command... |
View IGMP Snooping multicast group information |
display igmp-snooping group [ vlan vlan-id ] [ slot slot-id ] [ verbose ] |
View the statistics information of IGMP messages learned by IGMP Snooping |
display igmp-snooping statistics |
Clear IGMP Snooping multicast group information |
reset igmp-snooping group { group-address | all } [ vlan vlan-id ] |
Clear the statistics information of all kinds of IGMP messages learned by IGMP Snooping |
reset igmp-snooping statistics |
& Note:
l The reset igmp-snooping group command works only on an IGMP Snooping–enabled VLAN, but not on a VLAN with IGMP enabled on its VLAN interface.
l The reset igmp-snooping group command cannot clear IGMP Snooping multicast group information of static joins.
1.8 IGMP Snooping Configuration Examples
1.8.1 Configuring Simulated Joining
I. Network requirements
l As shown in Figure 1-3, Router A connects to the multicast source through Ethernet 1/1/2 and to Switch A (S9500 switch) through Ethernet 1/1/1. Router A is the IGMP querier on the subnet.
l IGMPv3 runs on Router A and Switch A. IGMPv3 Snooping runs on Switch A. PIM-SM runs on Router A. Ethernet 1/1/2 is to be configured as C-BSR and C-RP.
l Perform the following configuration so that multicast data can be forwarded through Ethernet 1/1/2 and Ethernet 1/1/3 even if Host A and Host B temporarily stop receiving multicast data for some unexpected reasons.
II. Network diagram
Figure 1-3 Network diagram for simulated joining configuration
III. Configuration procedure
Configure an IP address and subnet mask for each interface as per Figure 1-3. The detailed configuration steps are omitted.
2) Configure Router A
# Enable IP multicast routing, enable PIM-SM on each interface, and enable IGMPv3 on Ethernet 1/1/1 and configure Ethernet 1/1/2 as C-BSR and C-RP.
<RouterA> system-view
[RouterA] multicast routing-enable
[RouterA] interface ethernet 1/1/1
[RouterA-Ethernet1/1/1] igmp enable
[RouterA-Ethernet1/1/1] igmp version 3
[RouterA-Ethernet1/1/1] pim sm
[RouterA-Ethernet1/1/1] quit
[RouterA] interface ethernet 1/1/2
[RouterA-Ethernet1/1/2] pim sm
[RouterA-Ethernet1/1/2] quit
[RouterA] pim
[RouterA-pim] c-bsr ethernet 1/1/2
[RouterA-pim] c-rp ethernet 1/1/2
[RouterA-pim] quit
& Note:
The configurations mentioned above are for reference only. Specific configurations are subject to the actual implementations of the devices.
3) Configure Switch A
# Create VLAN 100.
<SwitchA> system-view
[SwitchA] vlan 100
# Assign Ethernet 1/1/1 through Ethernet 1/1/4 to this VLAN.
[SwitchA-vlan100] port ethernet 1/1/1 to ethernet 1/1/4
[SwitchA-vlan100] quit
# Enable IGMP Snooping in VLAN 100 and set the version to 3.
[SwitchA] igmp-snooping
[SwitchA-igmp-snooping] quit
[SwitchA] vlan 100
[SwitchA-vlan100] igmp-snooping enable
[SwitchA-vlan100] igmp-snooping version 3
[SwitchA-vlan100] quit
# Enable simulated (S, G) joining on Ethernet 1/1/2 and Ethernet 1/1/3.
[SwitchA] interface ethernet 1/1/2
[SwitchA-Ethernet1/1/2] igmp-snooping host-join 232.1.1.1 vlan 100
[SwitchA-Ethernet1/1/2] quit
[SwitchA] interface ethernet 1/1/3
[SwitchA-Ethernet1/1/3] igmp-snooping host-join 232.1.1.1 vlan 100
[SwitchA-Ethernet1/1/3] quit
1.8.2 IGMP Snooping Querier Configuration
I. Network requirements
l As shown in Figure 1-4, in a Layer-2 network environment without Layer-3 devices, Switch C is connected to the multicast source (Source) through Ethernet1/1/2. At least one receiver is attached to Switch B and Switch C respectively.
l All the receiver hosts run IGMPv2. Switch A, Switch B, and Switch C run IGMP Snooping. Switch A is to be configured as the IGMP Snooping querier.
l Configure a non-all-zero IP address as the source IP address of IGMP queries to ensure normal creation of multicast forwarding entries.
II. Network diagram
Figure 1-4 Network diagram for IGMP Snooping querier configuration
III. Configuration procedure
1) Configure switch A.
# Enable IGMP Snooping globally.
<SwitchA> system-view
[SwitchA] igmp-snooping
[SwitchA-igmp-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/1
[SwitchA-vlan100] port ethernet 1/1/3
# Enable IGMP Snooping in VLAN 100 and enable the IGMP-Snooping querier feature.
[SwitchA-vlan100] igmp-snooping enable
[SwitchA-vlan100] igmp-snooping querier
# Set the source IP address of IGMP general queries and group-specific queries to 192.168.1.1.
[SwitchA-vlan100] igmp-snooping general-query source-ip 192.168.1.1
[SwitchA-vlan100] igmp-snooping special-query source-ip 192.168.1.1
2) Configure Switch B.
# Enable IGMP Snooping globally.
<SwitchB> system-view
[SwitchB] igmp-snooping
[SwitchB-igmp-snooping] quit
# Create VLAN 100, add Ethernet 1/1/1 through Ethernet 1/1/3 to VLAN 100, and enable IGMP Snooping in this VLAN.
[SwitchB] vlan 100
[SwitchB-vlan100] port ethernet 1/1/1 to ethernet 1/1/3
[SwitchB-vlan100] igmp-snooping enable
3) Configuration on Switch C.
# Enable IGMP Snooping globally.
<SwitchC> system-view
[SwitchC] igmp-snooping
[SwitchC-igmp-snooping] quit
# Create VLAN 100, add Ethernet 1/1/1 through Ethernet 1/1/3 into VLAN 100, and enable IGMP Snooping in this VLAN.
[SwitchC] vlan 100
[SwitchC-vlan100] port ethernet 1/1/1 to ethernet 1/1/3
[SwitchC-vlan100] igmp-snooping enable
1.8.3 Static Router Port Configuration
I. Network requirements
l As shown in Figure 1-5. Router A, which acts as the IGMP querier on the subnet, connects to the multicast source through Ethernet 1/1/2 and to Switch A (S9500 switch) through Ethernet 1/1/1.
l IGMPv2 runs on Router A and Switch A. IGMPv2 Snooping runs on Switch A. Router A works as the IGMP querier.
l While no multicast protocol runs on Router B, perform the following configuration so that Switch A can forward all received multicast data to Router B.
II. Network diagram
Figure 1-5 Network diagram for static router port configuration
III. Configuration procedure
1) Configure IP addresses
Configure an IP address and subnet mask for each interface as per Figure 1-5. The detailed configuration steps are omitted.
2) Configure Router A
# Enable IP multicast routing, enable PIM-DM on each interface, and enable IGMPv2 on Ethernet 1/1/1.
<RouterA> system-view
[RouterA] multicast routing-enable
[RouterA] interface ethernet 1/1/1
[RouterA-Ethernet1/1/1] igmp enable
[RouterA-Ethernet1/1/1] igmp version 2
[RouterA-Ethernet1/1/1] pim dm
[RouterA-Ethernet1/1/1] quit
[RouterA] interface ethernet 1/1/2
[RouterA-Ethernet1/1/2] pim dm
[RouterA-Ethernet1/1/2] quit
& Note:
The configurations mentioned above are for reference only. Specific configurations are subject to the implementations of the devices.
3) Configure Switch A
# Create VLAN 100.
<SwitchA> system-view
[SwitchA] vlan 100
# Add Ethernet1/1/1 through Ethernet1/1/4 into VLAN 100.
[SwitchA-vlan100] port ethernet 1/1/1 to ethernet 1/1/4
[SwitchA-vlan100] quit
# Enable IGMP Snooping in VLAN 100 and configure the version as 2.
[SwitchA] igmp-snooping
[SwitchA-igmp-snooping] quit
[SwitchA] vlan 100
[SwitchA-vlan100] igmp-snooping enable
[SwitchA-vlan100] igmp-snooping version 2
[SwitchA-vlan100] quit
# Configure Ethernet 1/1/3 as a static router port.
[SwitchA] interface ethernet 1/1/3
[SwitchA-Ethernet1/1/3] igmp-snooping static-router-port vlan 100
[SwitchA-Ethernet1/1/3] quit
1.9 Troubleshooting IGMP Snooping Configuration
1.9.1 Switch Fails in Layer 2 Multicast Forwarding
I. Symptom
A switch fails to implement Layer 2 multicast forwarding.
II. Analysis
IGMP Snooping is not enabled.
III. Solution
1) Enter the display current-configuration command to view the running status of IGMP Snooping.
2) If IGMP Snooping is not enabled, use the igmp-snooping command to enable IGMP Snooping globally and then use igmp-snooping enable command to enable IGMP Snooping in VLAN view.
3) If IGMP Snooping is disabled only for the corresponding VLAN, just use the igmp-snooping enable command in VLAN view to enable IGMP Snooping in the corresponding VLAN.
1.9.2 Configured Multicast Group Policy Fails to Take Effect
I. Symptom
Although a multicast group policy has been configured to allow hosts to join specific multicast groups, the hosts can still receive multicast data addressed to other multicast groups.
II. Analysis
l The ACL rule is incorrectly configured.
l The multicast group policy is not applied.
l The function of dropping unknown multicast data is not enabled, so unknown multicast data is broadcast.
l Certain ports have been configured as static member ports of multicasts groups, and this configuration conflicts with the configured multicast group policy.
III. Solution
1) Use the display acl command to check the configured ACL rule. Make sure that the ACL rule conforms to the multicast group policy to be implemented.
2) Use the display this command in IGMP Snooping view or in the corresponding interface view to check whether the correct multicast group policy has been applied. If not, use the group-policy or igmp-snooping group-policy command to apply the correct multicast group policy.
3) Use the display current-configuration command to check whether the function of dropping unknown multicast data is enabled. If not, use the drop-unknown command to enable the function of dropping unknown multicast data.
4) Use the display igmp-snooping group command to check whether any port has been configured as a static member port of any multicast group. If so, check whether this configuration conflicts with the configured multicast group policy. If any conflict exists, remove the port as a static member of the multicast group.