- Table of Contents
-
- 08-IP Multicast Configuration Guide
- 00-Preface
- 01-Multicast Overview
- 02-IGMP Snooping Configuration
- 03-PIM Snooping Configuration
- 04-Multicast VLAN Configuration
- 05-Multicast Routing and Forwarding Configuration
- 06-IGMP Configuration
- 07-PIM Configuration
- 08-MSDP Configuration
- 09-MBGP Configuration
- 10-Multicast VPN Configuration
- 11-MLD Snooping Configuration
- 12-IPv6 PIM Snooping Configuration
- 13-IPv6 Multicast VLAN Configuration
- 14-IPv6 Multicast Routing and Forwarding Configuration
- 15-MLD Configuration
- 16-IPv6 PIM Configuration
- 17-IPv6 MBGP Configuration
- Related Documents
-
Title | Size | Download |
---|---|---|
02-IGMP Snooping Configuration | 407.95 KB |
Contents
IGMP snooping configuration task list
Configuring basic IGMP snooping functions
Specifying the IGMP snooping version
Setting the maximum number of IGMP snooping forwarding entries
Configuring IGMP snooping port functions
Setting aging timers for dynamic ports
Configuring a port as a simulated member host
Enabling IGMP snooping fast-leave processing
Disabling a port from becoming a dynamic router port
Configuring IGMP snooping querier
Enabling IGMP snooping querier
Configuring parameters for IGMP queries and responses
Configuring source IP addresses for IGMP queries
Configuring IGMP snooping proxying
Enabling IGMP snooping proxying
Configuring the source IP addresses for the IGMP messages sent by the proxy
Configuring an IGMP snooping policy
Configuring a multicast group filter
Enabling dropping unknown multicast data
Enabling IGMP report suppression
Setting the maximum number of multicast groups that a port can join
Enabling multicast group replacement
Enabling the IGMP snooping host tracking function
Displaying and maintaining IGMP snooping
IGMP snooping configuration examples
Group policy and simulated joining configuration example
Static port configuration example
IGMP snooping querier configuration example
IGMP snooping proxying configuration example
Layer 2 multicast forwarding cannot function
Overview
IGMP snooping runs on a Layer 2 switch as a multicast constraining mechanism to improve multicast forwarding efficiency. It creates Layer 2 multicast forwarding entries from IGMP packets that are exchanged between the hosts and the router.
As shown in Figure 1, when IGMP snooping is not enabled, the Layer 2 switch floods multicast packets to all hosts. When IGMP snooping is enabled, the Layer 2 switch forwards multicast packets of known multicast groups to only the receivers.
The term "router" in this document refers to both routers and Layer 3 switches.
Figure 1 Before and after IGMP snooping is enabled on the Layer 2 device
Basic IGMP snooping concepts
IGMP snooping related ports
As shown in Figure 2, IGMP snooping runs on Device A and Device B, and Host A and Host C are receivers in a multicast group.
Figure 2 IGMP snooping related ports
Ports involved in IGMP snooping, as shown in Figure 2, are described as follows:
· Router port—Layer 3 multicast device-side port. Layer 3 multicast devices include DRs and IGMP queriers. In Figure 2, GigabitEthernet 3/0/1 of Device A and GigabitEthernet 3/0/1 of Device B are router ports. The switch records all its local router ports in its router port list.
Do not confuse the "router port" in IGMP snooping with the "routed interface" commonly known as the "Layer 3 interface." The router port in IGMP snooping is a Layer 2 interface.
· Member port—Multicast receiver-side port. In Figure 2, GigabitEthernet 3/0/2 and GigabitEthernet 3/0/3 of Device A and GigabitEthernet 3/0/2 of Device B are member ports. The switch records all the member ports on the local device in its IGMP snooping forwarding table.
Unless otherwise specified, router ports and member ports in this document include both static and dynamic router ports and member ports.
|
NOTE: When IGMP snooping is enabled, all ports that receive PIM hello messages or IGMP general queries with the source addresses other than 0.0.0.0 are considered dynamic router ports. For more information about PIM hello messages, see "Configuring PIM." |
Aging timers for dynamic ports in IGMP snooping
Timer |
Description |
Message before expiration |
Action after expiration |
Dynamic router port aging timer |
When a port receives an IGMP general query with source address other than 0.0.0.0 or a PIM hello message, the switch starts or resets an aging timer for the port. When the timer expires, the dynamic router port ages out. |
IGMP general query source address other than 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 starts or resets an aging timer for the port. When the timer expires, the dynamic member port ages out. |
IGMP membership report. |
The switch removes this port from the IGMP snooping forwarding table. |
|
NOTE: In IGMP snooping, only dynamic ports age out. Static ports never age out. |
How IGMP snooping operates
The ports in this section are dynamic ports. For information about how to configure and remove static ports, see "Configuring static ports."
IGMP messages types are as follows: general query, IGMP report, and leave message. An IGMP snooping-enabled switch performs differently depending on the message.
General query
The IGMP querier periodically sends IGMP general queries to all hosts and routers (224.0.0.1) on the local subnet to determine whether any active multicast group members exist on the subnet.
After receiving an IGMP general query, the switch forwards it to all ports in the VLAN, except the port that received the query. The switch also performs one of the following actions:
· If the port that received the query is a dynamic router port in the router port list of the switch, the switch restarts the aging timer for the port.
· If the port that received the query is not in the router port list of the switch, the switch adds it into the router port list as a dynamic router port and starts an aging timer for the port.
IGMP report
A host sends an IGMP report to the IGMP querier in the following circumstances:
· Responds to queries if the host is a multicast group member.
· Applies for a multicast group membership.
After receiving an IGMP report, the switch forwards it through all the router ports in the VLAN, resolves the address of the reported multicast group, and performs one of the following actions:
· If no forwarding entry matches the group address, the switch creates a forwarding entry for the group, adds the port that received the IGMP report as a dynamic member port to the forwarding entry, and starts an aging timer for the port.
· If a forwarding entry matches the group address, but the port that received the IGMP report is not in the forwarding entry for the group, the switch adds the port as a dynamic member port to the forwarding entry, and starts an aging timer for the port.
· If a forwarding entry matches the group address and the port that received the IGMP report is in the forwarding entry for the group, the switch restarts the aging timer for the port.
A switch does not forward an IGMP report through a non-router port. This is because if the switch forwards a report message through a member port, all the attached hosts listening to the reported multicast address will suppress their own reports after receiving this report according to the IGMP report suppression mechanism on them, and this will prevent the switch from confirming whether the reported multicast group still has active members attached to that port. For more information about the IGMP report suppression mechanism on hosts, see "Configuring IGMP."
Leave message
When an IGMPv1 host leaves a multicast group, the host does not send an IGMP leave message, and the switch cannot know immediately that the host has left the multicast group. However, because the host stops sending IGMP reports as soon as it leaves the multicast group, the switch removes the port that connects to the host from the forwarding entry for the multicast group when the aging timer for the port 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 entry matches the group address in the message, and, if a match is found, whether the forwarding entry for the group contains the dynamic member port.
· If no forwarding entry matches the group address, or if the forwarding entry does not contain the port, the switch directly discards the IGMP leave message.
· If a forwarding entry matches the group address and the forwarding entry 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 forwarding entry for that group. Instead, it restarts the aging timer for the port.
After receiving the IGMP leave message, the IGMP querier resolves the multicast group address in the message and sends an IGMP group-specific query to the multicast group through the port that received the leave message. After receiving the IGMP group-specific query, the switch forwards it through all its router ports in the VLAN and all member ports of the multicast group. The switch also performs the following judgment for the port that received the IGMP leave message:
· If the port (assuming that it is a dynamic member port) receives an IGMP report in response to the group-specific query before its aging timer expires, it indicates that some host attached to the port is receiving or expecting to receive multicast data for the multicast group. The switch restarts the aging timer for the port.
· If the port receives no IGMP report in response to the group-specific query before its aging timer expires, it indicates that no hosts attached to the port are still listening to that group address. The switch removes the port from the forwarding entry for the multicast group when the aging timer expires.
IGMP snooping proxying
You can configure the IGMP snooping proxying function on an edge device to reduce the number of IGMP reports and leave messages sent to its upstream device. The device configured with IGMP snooping proxying is called an IGMP snooping proxy. It is a host from the perspective of its upstream device.
|
NOTE: Even though an IGMP snooping proxy is a host from the perspective of its upstream device, the IGMP membership report suppression mechanism for hosts does not take effect on it. |
As shown in Figure 3, Switch A operates as an IGMP snooping proxy. As a host from the perspective of the querier Router A, Switch A represents its attached hosts to send membership reports and leave messages to Router A.
Table 1 IGMP message processing on an IGMP snooping proxy
IGMP message |
Actions |
General query |
When receiving an IGMP general query, the proxy forwards it to all ports except the port that receive the query. In addition, the proxy generates a report according to the group membership that it maintains and sends the report out of all router ports. |
Group-specific query |
In response to the IGMP group-specific query for a certain multicast group, the proxy sends the report to the group out of all router ports if the forwarding entry for the group still contains a member port. |
Report |
After receiving a report for a multicast group, the proxy looks up the multicast forwarding table for the forwarding entry for the multicast group. · If a forwarding entry matches the multicast group and contains the receiving port as a dynamic member port, the proxy restarts the aging timer for the port. · If a forwarding entry matches the multicast group but does not contain the receiving port, the proxy adds the port to the forwarding entry as a dynamic member port and starts an aging timer for the port. · If no forwarding entry matches the multicast group, the proxy creates a forwarding entry for the multicast group, adds the receiving port to the forwarding entry as a dynamic member port, and starts an aging timer for the port. |
Leave |
In response to an IGMP leave message for a multicast group, the proxy sends a group-specific query out of the receiving port. After making sure that no member port is contained in the forwarding entry for the multicast group, the proxy sends a leave message to the group out of all router ports. |
Protocols and standards
RFC 4541, Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches
IGMP snooping configuration task list
Task |
Remarks |
|
Required. |
||
Optional. |
||
Setting the maximum number of IGMP snooping forwarding entries |
Optional. |
|
Optional. |
||
Optional. |
||
Optional. |
||
Optional. |
||
Optional. |
||
Optional. |
||
Optional. |
||
Optional. |
||
Optional. |
||
Configuring the source IP addresses for the IGMP messages sent by the proxy |
Optional. |
|
Optional. |
||
Optional. |
||
Optional. |
||
Optional. |
||
Optional. |
For configuration tasks in this section:
· The configurations made in IGMP-snooping view take effect on all VLANs. The configurations made in VLAN view take effect on only the current VLAN. For a given VLAN, the configurations made in IGMP-snooping view take effect only if you do not make the same configuration in VLAN view.
· The configurations made in IGMP-snooping view take effect on all ports. The configurations made in Layer 2 Ethernet interface view or Layer 2 aggregate interface view take effect on only the current port. The configurations made in port group view take effect on all ports in only the current port group. For a given port, the configurations made in IGMP-snooping view take effect only if you do not make the same configuration in Layer 2 Ethernet interface view, Layer 2 aggregate interface view, or port group view.
· The configurations made on a Layer 2 aggregate interface do not interfere with configurations on its member ports, nor do they take part in aggregation calculations. The configurations made on a member port of the aggregate group will take effect after the port leaves the aggregate group.
Configuring basic IGMP snooping functions
Before you configure basic IGMP snooping functions, complete the following tasks:
· Configure the corresponding VLANs.
· Determine the version of IGMP snooping.
Enabling IGMP snooping
When you enable IGMP snooping, follow these guidelines:
· You must enable IGMP snooping globally before you enable it in a VLAN.
· If you enable IGMP snooping for a VLAN, do not enable IGMP or PIM on the corresponding VLAN interface. If you enable IGMP or PIM on a VLAN interface, do not enable IGMP snooping for the VLAN.
· IGMP snooping for a VLAN works on only the ports in this VLAN.
To enable IGMP snooping:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enable IGMP snooping globally and enter IGMP-snooping view. |
igmp-snooping |
Disabled by default. |
3. Return to system view. |
quit |
N/A |
4. Enter VLAN view. |
vlan vlan-id |
N/A |
5. Enable IGMP snooping in the VLAN. |
igmp-snooping enable |
Disabled by default. |
Specifying the IGMP snooping version
Different versions of IGMP snooping can process different versions of IGMP messages:
· IGMPv2 snooping can process IGMPv1 and IGMPv2 messages, but flood IGMPv3 messages in the VLAN instead of processing them.
· IGMPv3 snooping can process IGMPv1, IGMPv2 and IGMPv3 messages.
If you change IGMPv3 snooping to IGMPv2 snooping, the system does the following:
· Clears all IGMP snooping forwarding entries that are dynamically added.
· Keeps static IGMPv3 snooping forwarding entries (*, G).
· Clears static IGMPv3 snooping forwarding entries (S, G), which will be restored when IGMP snooping is switched back to IGMPv3 snooping.
For more information about static joins, see "Configuring static ports."
To specify the version of IGMP snooping:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter VLAN view. |
vlan vlan-id |
N/A |
3. Specify the version of IGMP snooping. |
igmp-snooping version version-number |
IGMPv2 snooping by default. |
Setting the maximum number of IGMP snooping forwarding entries
You can modify the maximum number of entries in the IGMP snooping forwarding table. When the number of forwarding entries on the device reaches the upper limit, the device gives a prompt asking you to manually remove the excessive entries. In this case, the device does not automatically remove any existing entries or create any new entries.
To set the maximum number of IGMP snooping forwarding entries:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IGMP-snooping view. |
igmp-snooping |
N/A |
3. Set the maximum number of IGMP snooping forwarding entries. |
entry-limit limit |
2000 by default. |
Configuring IGMP snooping port functions
Before you configure IGMP snooping port functions, complete the following tasks:
· Enable IGMP snooping in the VLAN.
· Configure the corresponding port groups.
· Determine the aging timer for dynamic router ports.
· Determine the aging timer for dynamic member ports.
· Determine the multicast group and multicast source addresses.
Setting aging timers for dynamic ports
If a switch receives no IGMP general queries or PIM hello messages on a dynamic router port before the aging timer of the port expires, the switch removes the port from the router port list.
If the switch receives no IGMP reports for a multicast group on a dynamic member port before the aging timer of the port expires, the switch removes the port from the multicast forwarding entry for that multicast group.
If the memberships of multicast groups change frequently, you can set a relatively small value for the aging timer of the dynamic member ports. If the memberships of multicast groups change rarely, you can set a relatively large value.
Setting aging timers for dynamic ports globally
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IGMP-snooping view. |
igmp-snooping |
N/A |
3. Set the aging timer for the dynamic router ports. |
router-aging-time interval |
105 seconds by default. |
4. Set the aging timer for the dynamic member ports. |
host-aging-time interval |
260 seconds by default. |
Setting aging timers for the dynamic ports in a VLAN
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter VLAN view. |
vlan vlan-id |
N/A |
3. Set the aging timer for the dynamic router ports. |
igmp-snooping router-aging-time interval |
105 seconds by default. |
4. Set the aging timer for the dynamic member ports. |
igmp-snooping host-aging-time interval |
260 seconds by default. |
Configuring static ports
If all hosts attached to a port are interested in the multicast data addressed to a particular multicast group or the multicast data that a particular multicast source sends to a particular group, you can configure the port as a static member port for the specified multicast group or the specified multicast source and group.
You can also configure a port to be a static router port, through which the switch can forward all the multicast traffic that it received.
When you configure static ports, follow these guidelines:
· A static member port does not respond to queries from the IGMP querier. When you configure a port as a static member port or cancel this configuration on the port, the port does not unsolicitedly send any IGMP report or an IGMP leave message.
· Static member ports and static router ports never age out. To remove such a port, use the corresponding undo command.
To configure static ports:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter Layer 2 Ethernet interface view or Layer 2 aggregate interface view, or enter port group view. |
· Enter Layer 2 Ethernet interface view or Layer
2 aggregate interface view: · Enter port group view: |
Use either method. |
3. Configure the port as a static member port. |
igmp-snooping static-group group-address [ source-ip source-address ] vlan vlan-id |
No static member ports by default. |
4. Configure the port as a static router port. |
igmp-snooping static-router-port vlan vlan-id |
No static router ports by default. |
Configuring a port as a simulated member host
Generally, a host that runs IGMP can respond to IGMP queries. If a host fails to respond, the multicast router might deem that no member of this multicast group exists on the subnet, and removes the corresponding forwarding path.
To avoid this situation, you can configure the port as a simulated member host for a multicast group. When the simulated member host receives an IGMP query, it gives a response. Therefore, the switch can continue receiving multicast data.
A simulated member host acts like a real host in the following ways:
· When a port is configured as a simulated member host, the switch sends an unsolicited IGMP report through the port, and can respond to IGMP general queries with IGMP reports through the port.
· When you disable the simulated joining function on the port, the switch sends an IGMP leave message through the port.
To configure a port as a simulated member host:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter Layer 2 Ethernet interface view or Layer 2 aggregate interface view, or enter port group view. |
· Enter Layer 2 Ethernet interface view or Layer
2 aggregate interface view: · Enter port group view: |
Use either method. |
3. Configure the port as a simulated member host. |
igmp-snooping host-join group-address [ source-ip source-address ] vlan vlan-id |
A port is not a simulated member host by default. |
|
NOTE: Unlike a static member port, a port configured as a simulated member host will age out like a dynamic member port. |
Enabling IGMP snooping fast-leave processing
On a port that has only one host attached, you can enable IGMP snooping fast-leave processing to save bandwidth and resources. However, on a port that has multiple hosts attached, do not enable IGMP snooping fast-leave processing if you have enabled dropping unknown multicast data globally or for the port. Otherwise, if a host on the port leaves a multicast group, the other hosts attached to the port in the same multicast group cannot receive the multicast data for the group.
Enabling IGMP snooping fast-leave processing globally
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IGMP-snooping view. |
igmp-snooping |
N/A |
3. Enable IGMP snooping fast-leave processing. |
fast-leave [ vlan vlan-list ] |
Disabled by default. |
Enabling IGMP snooping fast-leave processing on a port
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter Layer 2 Ethernet interface view or Layer 2 aggregate interface view, or enter port group view. |
· Enter Layer 2 Ethernet interface view or Layer
2 aggregate interface view: · Enter port group view: |
Use either method. |
3. Enable IGMP snooping fast-leave processing on a port. |
igmp-snooping fast-leave [ vlan vlan-list ] |
Disabled by default. |
Disabling a port from becoming a dynamic router port
The following problems exist in a multicast access network:
· After receiving an IGMP general query or a PIM hello message from a connected host, a router port becomes a dynamic router port. Before its timer expires, this dynamic router port will receive all multicast packets within the VLAN to which it belongs and forward them to the host, thus affecting normal multicast reception of the host.
· In addition, the IGMP general query or PIM hello message sent from the host affects the multicast routing protocol state on Layer 3 devices, such as the IGMP querier or DR election, and might further cause network interruption.
To solve these problems, you can disable the router port from becoming a dynamic router port after receiving an IGMP general query or a PIM hello message, so as to enhance network security and the control over multicast users.
To disable a port from becoming a dynamic router port:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter Layer 2 Ethernet interface view or Layer 2 aggregate interface view, or enter port group view. |
· Enter Layer 2 Ethernet interface view or Layer
2 aggregate interface view: · Enter port group view: |
Use either method. |
3. Disable the port from becoming a dynamic router port. |
igmp-snooping router-port-deny [ vlan vlan-list ] |
By default, a port can become a dynamic router port. |
|
NOTE: This configuration does not affect the static router port configuration. |
Configuring IGMP snooping querier
Before you configure IGMP snooping querier, complete the following tasks:
· Enable IGMP snooping in the VLAN.
· Determine the IGMP general query interval.
· Determine the IGMP last-member query interval.
· Determine the maximum response delay for IGMP general queries.
· Determine the source address of IGMP general queries.
· Determine the source address of IGMP group-specific queries.
Enabling IGMP snooping querier
However, a Layer 2 multicast switch does not support IGMP, and therefore cannot send general queries by default. When you enable IGMP snooping querier on a Layer 2 switch in a VLAN where multicast traffic is switched only at Layer 2 and no multicast routers are present, the Layer 2 switch sends IGMP queries, so that multicast forwarding entries can be established and maintained at the data link layer.
|
IMPORTANT: Do not configure an IGMP snooping querier in a multicast network running IGMP. Although an IGMP snooping querier does not take part in IGMP querier elections, it might affect IGMP querier elections because it sends IGMP general queries with a low source IP address. |
To enable IGMP snooping querier:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter VLAN view. |
vlan vlan-id |
N/A |
3. Enable IGMP snooping querier. |
igmp-snooping querier |
Disabled by default. |
Configuring parameters for IGMP queries and responses
|
CAUTION: In the configuration, make sure that the IGMP general query interval is larger than the maximum response delay for IGMP general queries. Otherwise, multicast group members might be deleted by mistake. |
You can modify the IGMP general query interval based on actual condition of the network.
A multicast listening host starts a timer for each multicast group that it has joined when it receives an IGMP query (general query or group-specific query). This timer is initialized to a random value in the range of 0 to the maximum response delay advertised in the IGMP query message. When the timer value decreases to 0, the host sends an IGMP report to the multicast group.
To speed up the response of hosts to IGMP queries and avoid simultaneous timer expirations causing IGMP report traffic bursts, you must correctly set the maximum response delay.
· The maximum response delay for IGMP general queries is set by the max-response-time command.
· The maximum response delay for IGMP group-specific queries equals the IGMP last-member query interval.
Configuring the global parameters for IGMP queries and responses
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IGMP-snooping view. |
igmp-snooping |
N/A |
3. Set the maximum response delay for IGMP general queries. |
max-response-time interval |
10 seconds by default. |
4. Set the IGMP last-member query interval. |
last-member-query-interval interval |
1 second by default. |
Configuring the parameters for IGMP queries and responses in a VLAN
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter VLAN view. |
vlan vlan-id |
N/A |
3. Configure IGMP general query interval. |
igmp-snooping query-interval interval |
60 seconds by default. |
4. Set the interval for sending IGMP general queries. |
igmp-snooping max-response-time interval |
10 seconds by default. |
5. Set the maximum response delay for IGMP general queries. |
igmp-snooping last-member-query-interval interval |
1 second by default. |
Configuring source IP addresses for IGMP queries
After a switch receives an IGMP query whose source IP address is 0.0.0.0 on a port, it does not enlist that port as a dynamic router port. This might prevent multicast forwarding entries from being correctly created at the data link layer and eventually cause multicast traffic forwarding to fail. To avoid this problem, when a Layer 2 switch acts as the IGMP snooping querier, H3C recommends that you configure a non-all-zero IP address as the source IP address of IGMP queries.
|
IMPORTANT: Changing the source address of IGMP queries might affect the IGMP querier election within the subnet. |
To configure source IP addresses for IGMP queries:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter VLAN view. |
vlan vlan-id |
N/A |
3. Configure the source IP address for IGMP general queries. |
igmp-snooping general-query source-ip { ip-address | current-interface } |
0.0.0.0 by default. |
4. Configure the source IP address for IGMP group-specific queries. |
igmp-snooping special-query source-ip { ip-address | current-interface } |
0.0.0.0 by default. |
Configuring IGMP snooping proxying
Before you configure IGMP snooping proxying in a VLAN, complete the following tasks:
· Enable IGMP snooping for the VLAN.
· Determine the source IP address for the IGMP reports sent by the proxy.
· Determine the source IP address for the IGMP leave messages sent by the proxy.
Enabling IGMP snooping proxying
The IGMP snooping proxying function operates on a per-VLAN basis. After you enable the function in a VLAN, the device operates as the IGMP snooping proxy for the downstream hosts and upstream router in the VLAN.
To enable IGMP snooping proxying in a VLAN:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter VLAN view. |
vlan vlan-id |
N/A |
3. Enable IGMP snooping proxying in the VLAN. |
igmp-snooping proxying enable |
Disabled by default. |
Configuring the source IP addresses for the IGMP messages sent by the proxy
You can set the source IP addresses in the IGMP reports and leave messages sent by the IGMP snooping proxy on behalf of its attached hosts.
To configure the source IP addresses for the IGMP messages sent by the IGMP snooping proxy on behalf of its attached hosts in a VLAN:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter VLAN view. |
vlan vlan-id |
N/A |
3. Configure the source IP address for the IGMP reports that the proxy sends. |
igmp-snooping report source-ip { ip-address | current-interface } |
0.0.0.0 by default. |
4. Configure the source IP address for the IGMP leave messages that the proxy sends. |
igmp-snooping leave source-ip { ip-address | current-interface } |
0.0.0.0 by default. |
Configuring an IGMP snooping policy
Before you configure an IGMP snooping policy, complete the following tasks:
· Enable IGMP snooping for the VLAN.
· Determine the ACL rule for multicast group filtering.
· Determine the maximum number of multicast groups that a port can join.
Configuring a multicast group filter
On an IGMP snooping-enabled switch, you can configure a multicast group filter to limit multicast programs available to users.
In an application, when a user requests a multicast program, the user's host initiates an IGMP report. After receiving this report message, the switch resolves the multicast group address in the report and looks up the ACL. If a match is found to permit the port that received the report to join the multicast group, the switch creates an IGMP snooping forwarding entry for the multicast group and adds the port to the forwarding entry. Otherwise, the switch drops this report message, in which case, the multicast data for the multicast group is not sent to this port, and the user cannot retrieve the program.
Configuring a multicast group filter globally
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IGMP-snooping view. |
igmp-snooping |
N/A |
3. Configure a multicast group filter. |
group-policy acl-number [ vlan vlan-list ] |
By default, no group filter is globally configured. Hosts in VLANs can join any valid multicast group. |
Configuring a multicast group filter on a port
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter Layer 2 Ethernet interface view or Layer 2 aggregate interface view, or enter port group view. |
· Enter Layer 2 Ethernet interface view or Layer
2 aggregate interface view: · Enter port group view: |
Use either method. |
3. Configure a multicast group filter. |
igmp-snooping group-policy acl-number [ vlan vlan-list ] |
By default, no group filter is configured on the current port. Hosts on this port can join any valid multicast group. |
Enabling dropping unknown multicast data
Unknown multicast data refers to multicast data for which no forwarding entries exist in the IGMP snooping forwarding table. When the switch receives such multicast traffic, one of the following occurs:
· When the function of dropping unknown multicast data is disabled, the switch floods unknown multicast data in the VLAN to which the unknown multicast data belongs.
· When the function of dropping unknown multicast data is enabled, the switch drops all received unknown multicast data.
To enable dropping unknown multicast data in a VLAN:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter VLAN view. |
vlan vlan-id |
N/A |
3. Enable dropping unknown multicast data. |
igmp-snooping drop-unknown |
Disabled by default. |
|
NOTE: · After you enable dropping unknown multicast data, the switch does not drop the unknown multicast data with the multicast MAC address of 0100-5E00-00xx (where "x" represents any hexadecimal number from 0 to F) or 0100-5E00-0101. Instead, the switch floods the multicast data in the VLANs to which they belong. · After you enable dropping unknown multicast data, the switch still forwards unknown multicast data to other router ports in the VLAN. |
Enabling IGMP report suppression
When a Layer 2 switch receives an IGMP report from a multicast group member, the switch forwards the message to the Layer 3 device that directly connects to the Layer 2 switch. When multiple members of a multicast group are attached to the Layer 2 switch, the Layer 3 device might receive duplicate IGMP reports for the multicast group from these members.
With the IGMP report suppression function enabled, within each query interval, the Layer 2 switch forwards only the first IGMP report for the multicast group to the Layer 3 device. It does not forward the subsequent IGMP reports for the same multicast group. This helps reduce the number of packets being transmitted over the network.
On an IGMP snooping proxy, IGMP reports for a multicast group from downstream hosts are suppressed if the forwarding entry for the multicast group exists on the proxy, whether the suppression function is enabled or not.
To enable IGMP report suppression:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IGMP-snooping view. |
igmp-snooping |
N/A |
3. Enable IGMP report suppression. |
report-aggregation |
Enabled by default. |
Setting the maximum number of multicast groups that a port can join
You can set the maximum number of multicast groups that a port can join to regulate traffic on the port.
When you configure this maximum number, if the number of multicast groups the port has joined exceeds the configured maximum value, the system deletes all the forwarding entries for the port from the IGMP snooping forwarding table, and the hosts on this port join multicast groups again until the number of multicast groups that the port joins reaches the maximum value. When the port joins a multicast group, if the port has been configured as a static member port, the system applies the configurations to the port again. If you have configured simulated joining on the port, the system creates corresponding forwarding entry for the port after receiving a report from the simulated member host.
To set the maximum number of multicast groups that a port can join:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter Layer 2 Ethernet interface view or Layer 2 aggregate interface view, or enter port group view. |
· Enter Layer 2 Ethernet interface view or Layer
2 aggregate interface view: · Enter port group view: |
Use either method. |
3. Set the maximum number of multicast groups that the port can join. |
igmp-snooping group-limit limit [ vlan vlan-list ] |
1024 by default. |
Enabling multicast group replacement
For various reasons, the number of multicast groups that the switch or a port joins might exceed the upper limit. In addition, in some specific applications, a multicast group that the switch newly joins must replace an existing multicast group automatically. A typical example is channel switching. To view a new channel, a user switches from the current multicast group to the new one.
To realize such requirements, you can enable the multicast group replacement function on the switch or on a certain port. When the number of multicast groups that the switch or on the port has joined reaches the limit, one of the following occurs:
· If the multicast group replacement feature is disabled, new IGMP reports are automatically discarded.
· If the multicast group replacement feature is enabled, the multicast group that the switch or the port newly joins automatically replaces an existing multicast group that has the lowest address.
|
IMPORTANT: · To make the multicast group replacement function take effect, configure the maximum number of multicast groups that a port can join to a value other than the default one (see "Setting the maximum number of multicast groups that a port can join") before enabling multicast group replacement. · Static multicast groups cannot be replaced. |
Enabling multicast group replacement globally
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IGMP-snooping view. |
igmp-snooping |
N/A |
3. Enable multicast group replacement. |
overflow-replace [ vlan vlan-list ] |
Disabled by default. |
Enabling multicast group replacement on a port
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter Layer 2 Ethernet interface view or Layer 2 aggregate interface view, or enter port group view. |
· Enter Layer 2 Ethernet interface view or Layer
2 aggregate interface view: · Enter port group view: |
Use either method. |
3. Enable multicast group replacement. |
igmp-snooping overflow-replace [ vlan vlan-list ] |
Disabled by default. |
Enabling the IGMP snooping host tracking function
With the IGMP snooping host tracking function, the switch can record the information of the member hosts that are receiving multicast traffic, including the host IP address, running duration, and timeout time. You can monitor and manage the member hosts according to the recorded information.
Enabling the IGMP snooping host tracking function globally
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter IGMP-snooping view. |
igmp-snooping |
N/A |
3. Enable the IGMP snooping host tracking function globally. |
host-tracking |
Disabled by default. |
Enabling the IGMP snooping host tracking function in a VLAN
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter VLAN view. |
vlan vlan-id |
N/A |
3. Enable the IGMP snooping host tracking function in the VLAN. |
igmp-snooping host-tracking |
Disabled by default. |
Displaying and maintaining IGMP snooping
Task |
Command |
Remarks |
Display IGMP snooping group information (in standalone mode). |
display igmp-snooping group [ vlan vlan-id ] [ slot slot-number ] [ verbose ] [ | { begin | exclude | include } regular-expression ] |
Available in any view. |
Display information about IGMP snooping groups (in IRF mode). |
display igmp-snooping group [ vlan vlan-id ] [ chassis chassis-number slot slot-number ] [ verbose ] [ | { begin | exclude | include } regular-expression ] |
Available in any view. |
Display information about the hosts tracked by IGMP snooping (in standalone mode). |
display igmp-snooping host vlan vlan-id group group-address [ source source-address ] [ slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
Available in any view. |
Display information about the hosts tracked by IGMP snooping (in IRF mode). |
display igmp-snooping host vlan vlan-id group group-address [ source source-address ] [ chassis chassis-number slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
Available in any view. |
Display the statistics for IGMP messages learned through IGMP snooping. |
display igmp-snooping statistics [ | { begin | exclude | include } regular-expression ] |
Available in any view. |
Remove all the dynamic group entries of an IGMP snooping group or all IGMP snooping groups. |
reset igmp-snooping group { group-address | all } [ vlan vlan-id ] |
Available in user view. |
Clear the statistics for all IGMP messages learned through IGMP snooping. |
reset igmp-snooping statistics |
Available in user view. |
IGMP snooping configuration examples
|
IMPORTANT: By default, Ethernet interfaces, VLAN interfaces, and aggregate interfaces are in the state of DOWN. To configure such an interface, use the undo shutdown commands to bring it up first. |
Group policy and simulated joining configuration example
Network requirements
As shown in Figure 4, IGMPv2 runs on Router A, IGMPv2 snooping runs on Device A, and Router A acts as the IGMP querier on the subnet.
The receivers (Host A and Host B) can receive multicast traffic only addressed to multicast group 224.1.1.1. Multicast data for group 224.1.1.1 can be forwarded through GigabitEthernet 3/0/3 and GigabitEthernet 3/0/4 of Device A even if Host A and Host B temporarily stop receiving multicast data. Device A drops unknown multicast data and does not broadcast the data to the VLAN where Device A resides.
Configuration procedure
1. Configure an IP address and subnet mask for each interface as shown in Figure 4. (Details not shown.)
2. On Router A, enable IP multicast routing, enable PIM-DM on each Layer 3 interface, and enable IGMP on GigabitEthernet 3/0/1.
<RouterA> system-view
[RouterA] multicast routing-enable
[RouterA] interface GigabitEthernet 3/0/1
[RouterA-GigabitEthernet3/0/1]port link-mode route
[RouterA-GigabitEthernet3/0/1] igmp enable
[RouterA-GigabitEthernet3/0/1] pim dm
[RouterA-GigabitEthernet3/0/1] quit
[RouterA] interface GigabitEthernet 3/0/2
[RouterA-GigabitEthernet3/0/2]port link-mode route
[RouterA-GigabitEthernet3/0/2] pim dm
[RouterA-GigabitEthernet3/0/2] quit
3. Configure Device A:
# Enable IGMP snooping globally.
<DeviceA> system-view
[DeviceA] igmp-snooping
[DeviceA-igmp-snooping] quit
# Create VLAN 100, assign GigabitEthernet 3/0/1 through GigabitEthernet 3/0/4 to this VLAN, and enable IGMP snooping and the function of dropping unknown multicast traffic in the VLAN.
[DeviceA] vlan 100
[DeviceA-vlan100] port GigabitEthernet 3/0/1 to GigabitEthernet 3/0/4
[DeviceA-vlan100] igmp-snooping enable
[DeviceA-vlan100] igmp-snooping drop-unknown
[DeviceA-vlan100] quit
# Configure a multicast group filter so that the hosts in VLAN 100 can join only the multicast group 224.1.1.1.
[DeviceA] acl number 2001
[DeviceA-acl-basic-2001] rule permit source 224.1.1.1 0
[DeviceA-acl-basic-2001] quit
[DeviceA] igmp-snooping
[DeviceA-igmp-snooping] group-policy 2001 vlan 100
[DeviceA-igmp-snooping] quit
# Configure GigabitEthernet 3/0/3 and GigabitEthernet 3/0/4 as simulated hosts for multicast group 224.1.1.1.
[DeviceA] interface GigabitEthernet 3/0/3
[DeviceA-GigabitEthernet3/0/3] igmp-snooping host-join 224.1.1.1 vlan 100
[DeviceA-GigabitEthernet3/0/3] quit
[DeviceA] interface GigabitEthernet 3/0/4
[DeviceA-GigabitEthernet3/0/4] igmp-snooping host-join 224.1.1.1 vlan 100
[DeviceA-GigabitEthernet3/0/4] quit
Verifying the configuration
# Display detailed IGMP snooping group information in VLAN 100 on Device A.
[DeviceA] display igmp-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, C-Copy port, P-PIM 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(s).
GE3/0/1 (D)
IP group(s):the following ip group(s) match to one mac group.
IP group address:224.1.1.1
(0.0.0.0, 224.1.1.1):
Attribute: Host Port
Host port(s):total 2 port(s).
GE3/0/3 (D)
GE3/0/4 (D)
MAC group(s):
MAC group address:0100-5e01-0101
Host port(s):total 2 port(s).
GE3/0/3
GE3/0/4
The output shows that GigabitEthernet 3/0/3 and GigabitEthernet 3/0/4 of Device A has joined multicast group 224.1.1.1.
Static port configuration example
Network requirements
As shown in Figure 5, IGMPv2 runs on Router A, and IGMPv2 snooping runs on Device A, Device B and Device C. Router A acts as the IGMP querier.
Host A and host C are permanent receivers of multicast group 224.1.1.1. GigabitEthernet 3/0/3 and GigabitEthernet 3/0/5 on Device C are required to be configured as static member ports for multicast group 224.1.1.1 to enhance the reliability of multicast traffic transmission.
Suppose STP runs on the network. To avoid data loops, the forwarding path from Device A to Device C is blocked under normal conditions, and multicast traffic flows to the receivers attached to Device C only along the path of Device A—Device B—Device C. Configure GigabitEthernet 3/0/3 on Device A as a static router port, so that multicast traffic can flow to the receivers nearly uninterruptedly along the path of Device A—Device C in the case that the path of Device A—Device B—Device C gets blocked.
|
NOTE: If no static router port is configured, when the path of Device A—Device B—Device C gets blocked, at least one IGMP query-response cycle must be completed before the multicast data can flow to the receivers along the new path of Device A—Device C. Multicast delivery will be interrupted during this process. |
For more information about the STP, see Layer 2—LAN Switching Configuration Guide.
Configuration procedure
1. Configure an IP address and subnet mask for each interface as shown in Figure 5. (Details not shown.)
2. On Router A, enable IP multicast routing, enable PIM-DM on each Layer 3 interface, and enable IGMP on GigabitEthernet 3/0/1.
<RouterA> system-view
[RouterA] multicast routing-enable
[RouterA] interface GigabitEthernet 3/0/1
[RouterA-GigabitEthernet3/0/1]port link-mode route
[RouterA-GigabitEthernet3/0/1] igmp enable
[RouterA-GigabitEthernet3/0/1] pim dm
[RouterA-GigabitEthernet3/0/1] quit
[RouterA] interface GigabitEthernet 3/0/2
[RouterA-GigabitEthernet3/0/2]port link-mode route
[RouterA-GigabitEthernet3/0/2] pim dm
[RouterA-GigabitEthernet3/0/2] quit
3. Configure Device A:
# Enable IGMP snooping globally.
<DeviceA> system-view
[DeviceA] igmp-snooping
[DeviceA-igmp-snooping] quit
# Create VLAN 100, assign GigabitEthernet 3/0/1 through GigabitEthernet 3/0/3 to this VLAN, and enable IGMP snooping in the VLAN.
[DeviceA] vlan 100
[DeviceA-vlan100] port GigabitEthernet 3/0/1 to GigabitEthernet 3/0/3
[DeviceA-vlan100] igmp-snooping enable
[DeviceA-vlan100] quit
# Configure GigabitEthernet 3/0/3 to be a static router port.
[DeviceA] interface GigabitEthernet 3/0/3
[DeviceA-GigabitEthernet3/0/3] igmp-snooping static-router-port vlan 100
[DeviceA-GigabitEthernet3/0/3] quit
4. Configure Device B:
# Enable IGMP snooping globally.
<DeviceB> system-view
[DeviceB] igmp-snooping
[DeviceB-igmp-snooping] quit
# Create VLAN 100, assign GigabitEthernet 3/0/1 and GigabitEthernet 3/0/2 to this VLAN, and enable IGMP snooping in the VLAN.
[DeviceB] vlan 100
[DeviceB-vlan100] port GigabitEthernet 3/0/1 GigabitEthernet 3/0/2
[DeviceB-vlan100] igmp-snooping enable
[DeviceB-vlan100] quit
5. Configure Device C:
# Enable IGMP snooping globally.
<DeviceC> system-view
[DeviceC] igmp-snooping
[DeviceC-igmp-snooping] quit
# Create VLAN 100, assign GigabitEthernet 3/0/1 through GigabitEthernet 3/0/5 to this VLAN, and enable IGMP snooping in the VLAN.
[DeviceC] vlan 100
[DeviceC-vlan100] port GigabitEthernet 3/0/1 to GigabitEthernet 3/0/5
[DeviceC-vlan100] igmp-snooping enable
[DeviceC-vlan100] quit
# Configure GigabitEthernet 3/0/3 and GigabitEthernet 3/0/5 as static member ports for multicast group 224.1.1.1.
[DeviceC] interface GigabitEthernet 3/0/3
[DeviceC-GigabitEthernet3/0/3] igmp-snooping static-group 224.1.1.1 vlan 100
[DeviceC-GigabitEthernet3/0/3] quit
[DeviceC] interface GigabitEthernet 3/0/5
[DeviceC-GigabitEthernet3/0/5] igmp-snooping static-group 224.1.1.1 vlan 100
[DeviceC-GigabitEthernet3/0/5] quit
Verifying the configuration
# Display detailed IGMP snooping group information in VLAN 100 on Device A.
[DeviceA] display igmp-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, C-Copy port, P-PIM 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 2 port(s).
GE3/0/1 (D)
GE3/0/3 (S)
IP group(s):the following ip group(s) match to one mac group.
IP group address:224.1.1.1
(0.0.0.0, 224.1.1.1):
Attribute: Host Port
Host port(s):total 1 port(s).
GE3/0/2 (D)
MAC group(s):
MAC group address:0100-5e01-0101
Host port(s):total 1 port(s).
GE3/0/2
The output shows that GigabitEthernet 3/0/3 of Device A has become a static router port.
# Display detailed IGMP snooping group information in VLAN 100 on Device C.
[DeviceC] display igmp-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, C-Copy port, P-PIM 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(s).
GE3/0/2 (D)
IP group(s):the following ip group(s) match to one mac group.
IP group address:224.1.1.1
(0.0.0.0, 224.1.1.1):
Attribute: Host Port
Host port(s):total 2 port(s).
GE3/0/3 (S)
GE3/0/5 (S)
MAC group(s):
MAC group address:0100-5e01-0101
Host port(s):total 2 port(s).
GE3/0/3
GE3/0/5
The output shows that GigabitEthernet 3/0/3 and GigabitEthernet 3/0/5 on Device C have become static member ports for multicast group 224.1.1.1.
IGMP snooping querier configuration example
Network requirements
As shown in Figure 6, in a Layer 2–only network environment, two multicast sources Source 1 and Source 2 send multicast data to multicast groups 224.1.1.1 and 225.1.1.1 respectively, Host A and Host C are receivers of multicast group 224.1.1.1, and Host B and Host D are receivers of multicast group 225.1.1.1. All the receivers are running IGMPv2, and all the devices need to run IGMPv2 snooping. Device A, which is close to the multicast sources, is chosen as the IGMP snooping querier.
To prevent flooding of unknown multicast traffic within the VLAN, be sure to configure all the devices to drop unknown multicast data packets. Because a switch does not enlist a port that has heard an IGMP query with a source IP address of 0.0.0.0 (default) as a dynamic router port, configure a non-all-zero IP address as the source IP address of IGMP queries to ensure normal creation of Layer 2 multicast forwarding entries.
Configuration procedure
1. Configure Device A:
# Enable IGMP snooping globally.
<DeviceA> system-view
[DeviceA] igmp-snooping
[DeviceA-igmp-snooping] quit
# Create VLAN 100 and assign GigabitEthernet 3/0/1 through GigabitEthernet 3/0/3 to the VLAN.
[DeviceA] vlan 100
[DeviceA-vlan100] port GigabitEthernet 3/0/1 to GigabitEthernet 3/0/3
# Enable IGMP snooping and the function of dropping unknown multicast traffic in VLAN 100.
[DeviceA-vlan100] igmp-snooping enable
[DeviceA-vlan100] igmp-snooping drop-unknown
# Enable the IGMP snooping querier function in VLAN 100
[DeviceA-vlan100] igmp-snooping querier
# Set the source IP address of IGMP general queries and group-specific queries to 192.168.1.1 in VLAN 100.
[DeviceA-vlan100] igmp-snooping general-query source-ip 192.168.1.1
[DeviceA-vlan100] igmp-snooping special-query source-ip 192.168.1.1
[DeviceA-vlan100] quit
2. Configure Device B:
# Enable IGMP snooping globally.
<DeviceB> system-view
[DeviceB] igmp-snooping
[DeviceB-igmp-snooping] quit
# Create VLAN 100, and assign GigabitEthernet 3/0/1 through GigabitEthernet 3/0/4 to the VLAN.
[DeviceB] vlan 100
[DeviceB-vlan100] port GigabitEthernet 3/0/1 to GigabitEthernet 3/0/4
# Enable IGMP snooping and the function of dropping unknown multicast traffic in VLAN 100.
[DeviceB-vlan100] igmp-snooping enable
[DeviceB-vlan100] igmp-snooping drop-unknown
[DeviceB-vlan100] quit
3. Configure Device C and Device D in the same way as you configure Device B.
Verifying the configuration
After the IGMP snooping querier starts to work, all the devices but the querier can receive IGMP general queries.
# Display the IGMP message statistics on Device B.
[DeviceB] display igmp-snooping statistics
Received IGMP general queries:3.
Received IGMPv1 reports:0.
Received IGMPv2 reports:12.
Received IGMP leaves:0.
Received IGMPv2 specific queries:0.
Sent IGMPv2 specific queries:0.
Received IGMPv3 reports:0.
Received IGMPv3 reports with right and wrong records:0.
Received IGMPv3 specific queries:0.
Received IGMPv3 specific sg queries:0.
Sent IGMPv3 specific queries:0.
Sent IGMPv3 specific sg queries:0.
Received error IGMP messages:0.
IGMP snooping proxying configuration example
Network requirements
As shown in Figure 7, Router A runs IGMPv2 and Switch A runs IGMPv2 snooping. Router A serves as an IGMP querier.
Configure IGMP snooping proxying on Switch A so that Switch A can forward IGMP reports and leave messages on behalf of attached hosts, respond to IGMP queries from Router A, and forward the queries to the hosts on behalf of Router A.
Configuration procedure
1. Configure an IP address and subnet mask for each interface as shown in Figure 7. (Details not shown.)
2. On Router A, enable IP multicast routing, enable PIM-DM on each Layer 3 interface, and enable IGMP on GigabitEthernet 3/1/1.
<RouterA> system-view
[RouterA] multicast routing-enable
[RouterA] interface GigabitEthernet 3/1/1
[RouterA-GigabitEthernet3/1/1]port link-mode route
[RouterA-GigabitEthernet3/1/1] igmp enable
[RouterA-GigabitEthernet3/1/1] pim dm
[RouterA-GigabitEthernet3/1/1] quit
[RouterA] interface GigabitEthernet 3/1/2
[RouterA-GigabitEthernet3/1/2]port link-mode route
[RouterA-GigabitEthernet3/1/2] pim dm
[RouterA-GigabitEthernet3/1/2] quit
3. Configure Switch A:
# Enable IGMP snooping globally.
<SwitchA> system-view
[SwitchA] igmp-snooping
[SwitchA-igmp-snooping] quit
# Create VLAN 100, assign ports GigabitEthernet 3/0/1 through GigabitEthernet 3/0/4 to this VLAN, and enable IGMP snooping and IGMP snooping proxying in the VLAN.
[SwitchA] vlan 100
[SwitchA-vlan100] port GigabitEthernet 3/0/1 to GigabitEthernet 3/0/4
[SwitchA-vlan100] igmp-snooping enable
[SwitchA-vlan100] igmp-snooping proxying enable
[SwitchA-vlan100] quit
Verifying the configuration
After the configuration is completed, Host A and Host B send IGMP join messages for group 224.1.1.1. Receiving the messages, Switch A sends a join message for the group out of port GigabitEthernet 3/0/1 (a router port) to Router A.
# Display information about IGMP snooping groups on Switch A.
[SwitchA] display igmp-snooping group
Total 1 IP Group(s).
Total 1 IP Source(s).
Total 1 MAC Group(s).
Port flags: D-Dynamic port, S-Static port, C-Copy port, P-PIM 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(s).
GE3/0/1 (D)
IP group(s):the following ip group(s) match to one mac group.
IP group address:224.1.1.1
(0.0.0.0, 224.1.1.1):
Host port(s):total 2 port(s).
GE3/0/3 (D)
GE3/0/4 (D)
MAC group(s):
MAC group address:0100-5e01-0101
Host port(s):total 2 port(s).
GE3/0/3
GE3/0/4
# Display information about IGMP multicast groups on Router A.
[RouterA] display igmp group
Total 1 IGMP Group(s).
Interface group report information of VPN-Instance: public net
GigabitEthernet3/1/1(10.1.1.1):
Total 1 IGMP Group reported
Group Address Last Reporter Uptime Expires
224.1.1.1 0.0.0.0 00:00:06 00:02:04
When Host A leaves the multicast group, it sends an IGMP leave message to Switch A. Receiving the message, Switch A removes port GigabitEthernet 3/0/4 from the member port list of the forwarding entry for the group; however, it does not remove the group or forward the leave message to Router A because Host B is still in the group.
# Display information about IGMP snooping groups on Switch A.
[SwitchA] display igmp-snooping group
Total 1 IP Group(s).
Total 1 IP Source(s).
Total 1 MAC Group(s).
Port flags: D-Dynamic port, S-Static port, C-Copy port, P-PIM 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(s).
GE3/0/1 (D)
IP group(s):the following ip group(s) match to one mac group.
IP group address:224.1.1.1
(0.0.0.0, 224.1.1.1):
Host port(s):total 1 port(s).
GE3/0/3 (D)
MAC group(s):
MAC group address:0100-5e01-0101
Host port(s):total 1 port(s).
GE3/0/3
Troubleshooting IGMP snooping
Layer 2 multicast forwarding cannot function
Symptom
Layer 2 multicast forwarding cannot function.
Analysis
IGMP snooping is not enabled.
Solution
1. Use 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 the igmp-snooping enable command to enable IGMP snooping in VLAN view.
3. If IGMP snooping is disabled only for the corresponding VLAN, use the igmp-snooping enable command in VLAN view to enable IGMP snooping in the corresponding VLAN.
Configured multicast group policy fails to take effect
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.
Analysis
· The ACL rule is incorrectly configured.
· The multicast group policy is not correctly applied.
· The function of dropping unknown multicast data is not enabled, so unknown multicast data is flooded.
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 igmp-snooping drop-unknown command to enable the function of dropping unknown multicast data.
Appendix
Processing of multicast protocol messages
With Layer 3 multicast routing enabled, an IGMP snooping-enabled switch processes multicast protocol messages differently under different conditions, as follows:
· If only IGMP is enabled on the switch, or if both IGMP and PIM are enabled on the switch, the switch does the following:
¡ Maintains dynamic member ports or dynamic router ports according to IGMP packets
¡ Maintains dynamic router ports according to PIM hello packets
· If only PIM is enabled on the switch, the following occur:
¡ The switch broadcasts IGMP messages as unknown messages in the VLAN.
¡ After receiving a PIM hello message, the switch maintains the corresponding dynamic router port.
· If IGMP is disabled on the switch, one of the following occurs:
¡ If PIM is disabled, the switch deletes all its dynamic member ports and dynamic router ports.
¡ If PIM is enabled, the switch deletes only its dynamic member ports but not its 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. |
· If PIM is disabled on the switch, one of the following occurs:
¡ If IGMP is disabled, the switch deletes all its dynamic router ports.
¡ If IGMP is enabled, the switch maintains all its dynamic member ports and dynamic router ports.