When configuration
IGMP Snooping, go to the following sections for information you are interested
in:
l
IGMP Snooping Overview
l
Configuring Basic Functions of IGMP Snooping
l
Configuring 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
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.
By analyzing received IGMP messages, a
Layer 2 device running IGMP Snooping establishes mappings between ports and MAC
multicast groups and forwards multicast data based on these mappings.
As shown in Figure
1-1, when IGMP Snooping is not running, multicast packets are broadcast to all devices at Layer 2. When IGMP Snooping runs, multicast packets for known multicast groups are multicast to the receivers at Layer 2.

Figure 1-1
Multicast forwarding before and after IGMP Snooping
runs
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: On an Ethernet switch, a router
port connects the switch to a multicast router. In the figure, GigabitEthernet1/0/1
of Switch A and GigabitEthernet1/0/1 of Switch B are router ports. A switch
registers all its local router ports in its router port list.
l
Member port: On an Ethernet switch, a member
port (also known as multicast group member port) connects the switch to a
multicast group member. In the figure, GigabitEthernet1/0/2 and GigabitEthernet1/0/3
of Switch A and GigabitEthernet1/0/2 of Switch B are member ports. The switch
records all member ports on the local device in the IGMP Snooping forwarding
table.
Whenever mentioned
in this document, a router port is a router-connecting port on a switch, rather
than a port on a router.
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
|
|
Router port aging timer
|
For each router port, the switch sets
a timer initialized to the aging time of the route port
|
IGMP general query or PIM hello
message of which the source address is not 0.0.0.0
|
The switch removes this port from its
router port list
|
|
Member port aging timer
|
When a port joins an multicast group,
the switch sets a timer for the port, which is initialized to the member port
aging time
|
IGMP report message
|
The switch removes this port from the
multicast group forwarding table
|
A switch running IGMP Snooping performs
different actions when it receives different IGMP messages, as follows:
I. General queries
The IGMP querier periodically sends IGMP
general queries to all hosts and routers on the local subnet to find out
whether 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 receiving port:
l
If the receiving port is a router port existing
in its router port list, the switch resets the aging timer of this router port.
l
If the receiving port is not a router port
existing in its router port list, the switch adds it into its router port list
and sets an aging timer for this router port.
II. Membership reports
A host sends an IGMP report to the
multicast router 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 multicast router to announce that it is to join the
multicast group.
Upon receiving the IGMP report, the switch
forwards it through all the router ports in the VLAN and performs the following
to the receiving port:
l
Resolves the address of the multicast group that
the host is to join and add a forwarding entry for this port in the forwarding
table.
l
Sets or resets a member port aging timer for
this port.
A switch will not
forward an IGMP report through a non-router port for the following reason: When
IGMP report suppression is enabled, if member hosts of that multicast group
still exist under non-router ports, the hosts will stop sending reports when
they receive the message, and this prevents the switch from knowing if members
of that multicast group are still attached to these ports.
III. Leave messages
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 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
to announce that it has leaf the multicast group.
Upon receiving an IGMP leave message on the
last member port, a switch forwards it out all router ports in the VLAN.
Because the switch does not know whether any other member hosts of that
multicast group still exists under the port to which the IGMP leave message
arrived, the switch does not immediately delete the forwarding entry
corresponding to that port from the forwarding table; instead, it resets the
aging timer of the member port.
Upon receiving the IGMP leave message from
a host, the IGMP querier resolves from the message the address of the multicast
group that the host just left 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, a switch forwards it through all the
router ports in the VLAN and all member ports of that multicast group, and
performs the following to the receiving port:
l
If a response to an IGMP report from that
multicast group arrives to the member port before its aging timer expires, this
means that some other members of that multicast group still exist under that
port: the switch resets the aging timer of the member port.
l
If no IGMP report from that multicast group
arrives to this member port before its aging timer expires as a response to the
IGMP group-specific query,this means that no members of that multicast group
still exist under the port: the switch deletes the forwarding entry
corresponding to the port from the forwarding table when the aging timer
expires.
Complete these tasks to configure IGMP
Snooping:
l
Configurations performed 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. Configurations made in
VLAN view override the corresponding configurations made in IGMP Snooping view.
l
Configurations performed in IGMP Snooping view are
globally effective; configurations performed in port view are effective only
for the current port; configurations performed in port group view are effective
only for all the ports in the current port group.
l
The system gives priority to configurations made
in port view or port group view. Configurations made in IGMP Snooping view are
used only if the corresponding configurations have not been carried out in port
view or port group view.
1.3 Configuring Basic Functions of IGMP Snooping
Before configuring the basic functions of
IGMP Snooping, complete the following tasks:
l
Configure the corresponding VLANs
l
Configure the corresponding port groups
Before configuring the basic functions of
IGMP Snooping, prepare the following data:
l
Version of IGMP Snooping
l
Aging time of router ports
l
Aging timer of member ports
1.3.2 Enabling IGMP Snooping
Follow these
steps to enabling 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
|
l
IGMP Snooping must be enabled globally before it
can be enabled in a VLAN.
l
If you enable IGMP Snooping in a specified VLAN,
this function takes effect for Ethernet ports in this VLAN only.
1.3.3 Configuring the Version of IGMP
Snooping
By configuring the IGMP Snooping version,
you are actually configuring the version of IGMP messages that can be analyzed
and processed by IGMP Snooping.
l
In the case of version 2, IGMP Snooping can
analyze and process IGMPv1 and IGMPv2 messages, but not IGMPv3 messages, which
will be broadcast in the VLAN.
l
If the current is 3, IGMP Snooping can analyze
and 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:
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.
1.3.4 Configuring Port Aging Timers
If the
switch does not receive an IGMP general query or a PIM hello message before the
aging timer of a router port expires, the switch deletes this port from the
router port list when the aging timer times out.
If the switch does not receive an IGMP
report from a multicast group before the aging timer of a member port expires,
the switch deletes this port from the forwarding table for that multicast group
when the aging timers times out.
If multicast group memberships change
frequently, you can set a relatively small value for the member port aging
timer, and vice versa.
I. Configuring port aging timers
globally
Follow these steps to configure port aging
timers globally:
|
To do...
|
Use the command...
|
Remarks
|
|
Enter system view
|
system-view
|
—
|
|
Enter IGMP Snooping view
|
igmp-snooping
|
—
|
|
Configure router port aging time
|
router-aging-time interval
|
Optional
105 seconds by default
|
|
Configure member port aging time
|
host-aging-time interval
|
Optional
260 seconds by default
|
II. Configuring port aging timers
in a VLAN
Follow these steps to configure port aging
timers in a VLAN:
|
To do...
|
Use the command...
|
Remarks
|
|
Enter system view
|
system-view
|
—
|
|
Enter VLAN view
|
vlan vlan-id
|
—
|
|
Configure router port aging time
|
igmp-snooping router-aging-time interval
|
Optional
105 seconds by default
|
|
Configure member port aging time
|
igmp-snooping host-aging-time interval
|
Optional
260 seconds by default
|
1.4 Configuring Port Functions
Before configuring port functions, complete
the following task:
l
Enable IGMP Snooping in the VLAN
Before configuring port functions, prepare
the following data:
l
Multicast group and multicast source addresses
l
Whether to enable the fast leave feature
l
Whether to enabled IGMP report suppression
1.4.2 Configuring Static Ports
If the host attached to a port needs to
receive multicast data addressed to a particular multicast group or from a
particular multicast source/group, you can configure this port to be a static
member port of that multicast group or multicast source/group.
In a network with a stable topology
structure, you can configure router ports of a switch into static router ports,
through which the switch can receive IGMP messages from routers.
Follow these steps to configure static
ports:
|
To do...
|
Use the command...
|
Remarks
|
|
Enter system view
|
system-view
|
—
|
|
Enter the corresponding view
|
Enter Ethernet port view
|
interface interface-type interface-number
|
Use either command
|
|
Enter port group view
|
port-group { manual port-group-name | aggregation agg-id
}
|
|
Configure a static member port
|
igmp-snooping static-group group-address [ source-ip source_address ] vlan
vlan-id
|
Required
Disabled by default
|
|
Configuring a static router port
|
igmp-snooping static-router-port vlan vlan-id
|
Required
Disabled by default
|
1.4.3 Enabling the Function of Simulating
Member Hosts
Generally, a host running IGMP responds to
IGMP queries from a multicast router. If a host fails to respond due to some
reasons, the multicast router will 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 configure a port of the switch as a member of the multicast group(namely,
enable the function of simulating member hosts on the port). When an IGMP query
arrives, that member port will give a response. As a result, the switch can
continue receive multicast data.
Through this configuration, the following
functions can be implemented:
l
When the function of simulating member hosts is
enabled on an Ethernet port, the simulated host sends an IGMP report.
l
When receiving an IGMP general query, the simulated
host responds with an IGMP report just like a real host.
l
When the function of simulating member hosts is
disabled on an Ether port, the simulated host sends an IGMP leave message.
Follow these steps to enable the function
of simulating member hosts:
|
To do...
|
Use the command...
|
Remarks
|
|
Enter system view
|
system-view
|
—
|
|
Enter the corresponding view
|
Enter Ethernet port view
|
interface interface-type interface-number
|
Use either command
|
|
Enter port group view
|
port-group { manual port-group-name | aggregation agg-id
}
|
|
Enable the function of simulating a
member host of a multicast group or multicast source/group
|
igmp-snooping host-join group-address [ source-ip source-address ] vlan
vlan-id
|
Required
Disabled by default
|
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
The IGMP version of the simulated host is the
same as the IGMP Snooping version current running on the device.
1.4.4 Enabling the Fast Leave Feature
By default, when receiving a group-specific
IGMP leave message on a port, the switch first sends an IGMP group-specific
query message that port, rather than directly deleting the port from the
multicast forwarding table. If the switch receives no response within a certain
period of waiting time, it deletes the port from the forwarding table.
With the fast leave feature enabled, when
the switch receives a group-specific IGMP leave message on a port, the switch
directly deletes this port from the forwarding table without first sending an
IGMP group-specific query to the port.
I. Configuring the fast leave feature
globally
Follow these steps to configure the fast
leave feature globally:
|
To do...
|
Use the command...
|
Remarks
|
|
Enter system view
|
system-view
|
—
|
|
Enter IGMP Snooping view
|
igmp-snooping
|
—
|
|
Enable the fast leave feature
|
fast-leave [ vlan vlan-list ]
|
Required
Disabled by default
|
II. Configuring the fast leave feature
on a port or a group ports
Follow these steps to configure the fast
leave feature on a port or a group ports:
|
To do...
|
Use the command...
|
Remarks
|
|
Enter system view
|
system-view
|
—
|
|
Enter the corresponding view
|
Enter Ethernet port view
|
interface interface-type interface-number
|
Use either command
|
|
Enter port group view
|
port-group { manual port-group-name | aggregation agg-id
}
|
|
Enable the fast leave feature
|
igmp-snooping fast-leave [ vlan vlan-list ]
|
Required
Disabled by default
|
Caution:
If the fast leave
feature is enabled on a port to which more than one host is connected, when one
host leaves a multicast group, the other hosts connected to port and interested
in the same multicast group will fail to receive multicast data for that group.
1.4.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
belonging to a multicast group exit on 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 a query interval, the Layer 2 device forwards only the first
IGMP report of a 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.5 Configuring IGMP-Related Functions