Configuring Igmp

Download as pdf or txt
Download as pdf or txt
You are on page 1of 62

Configuring IGMP

• Prerequisites for IGMP and IGMP Snooping, on page 1


• Restrictions for IGMP and IGMP Snooping, on page 2
• Information About IGMP, on page 3
• How to Configure IGMP, on page 13
• Monitoring IGMP, on page 53
• Configuration Examples for IGMP, on page 55
• Additional References for IGMP, on page 60
• Feature Information for IGMP, on page 61

Prerequisites for IGMP and IGMP Snooping


Prerequisites for IGMP
• Before performing the tasks in this module, you should be familiar with the concepts explained in the
"IP Multicast Routing Technology Overview" module.
• The tasks in this module assume that IP multicast has been enabled and that the Protocol Independent
Multicast (PIM) interfaces have been configured using the tasks described in the "Configuring IP Multicast
Routing” module.

Prerequisites for IGMP Snooping


Observe these guidelines when configuring the IGMP snooping querier:
• Configure the VLAN in global configuration mode.
• Configure an IP address on the VLAN interface. When enabled, the IGMP snooping querier uses the IP
address as the query source address.
• If there is no IP address configured on the VLAN interface, the IGMP snooping querier tries to use the
configured global IP address for the IGMP querier. If there is no global IP address specified, the IGMP
querier tries to use the VLAN device virtual interface (SVI) IP address (if one exists). If there is no SVI
IP address, the device uses the first available IP address configured on the device. The first IP address
available appears in the output of the show ip interface privileged EXEC command. The IGMP snooping
querier does not generate an IGMP general query if it cannot find an available IP address on the device.

Configuring IGMP
1
Configuring IGMP
Restrictions for IGMP and IGMP Snooping

• The IGMP snooping querier supports IGMP Versions 1 and 2.


• When administratively enabled, the IGMP snooping querier moves to the nonquerier state if it detects
the presence of a multicast router in the network.
• When it is administratively enabled, the IGMP snooping querier moves to the operationally disabled
state under these conditions:
• IGMP snooping is disabled in the VLAN.
• PIM is enabled on the SVI of the corresponding VLAN.


Restrictions for IGMP and IGMP Snooping


Restrictions for Configuring IGMP
The following are the restrictions for configuring IGMP:
• The device supports IGMP Versions 1, 2 , and 3.

Note For IGMP Version 3, only IGMP Version 3 BISS (Basic IGMPv3 Snooping
Support) is supported.

• IGMP Version 3 uses new membership report messages that might not be correctly recognized by older
IGMP snooping devices.
• IGMPv3 can operate with both ISM and SSM. In ISM, both exclude and include mode reports are
applicable. In SSM, only include mode reports are accepted by the last-hop router. Exclude mode reports
are ignored.
• Use ACLs to designate a specified port only as a multicast host port and not as a multicast router port.
Multicast router control-packets received on this port are dropped.

Restrictions for IGMP Snooping


The following are the restrictions for IGMP snooping:
• IGMPv3 join and leave messages are not supported on devices running IGMP filtering or Multicast
VLAN registration (MVR).
• IGMP report suppression is supported only when the multicast query has IGMPv1 and IGMPv2 reports.
This feature is not supported when the query includes IGMPv3 reports.
• The IGMP configurable leave time is only supported on hosts running IGMP Version 2. IGMP version
2 is the default version for the device.

Configuring IGMP
2
Configuring IGMP
Information About IGMP

The actual leave latency in the network is usually the configured leave time. However, the leave time
might vary around the configured time, depending on real-time CPU load conditions, network delays
and the amount of traffic sent through the interface.
• The IGMP throttling action restriction can be applied only to Layer 2 ports. You can use ip igmp
max-groups action replace interface configuration command on a logical EtherChannel interface but
cannot use it on ports that belong to an EtherChannel port group.
When the maximum group limitation is set to the default (no maximum), entering the ip igmp max-groups
action {deny | replace} command has no effect.
If you configure the throttling action and set the maximum group limitation after an interface has added
multicast entries to the forwarding table, the forwarding-table entries are either aged out or removed,
depending on the throttling action.

Information About IGMP


Role of the Internet Group Management Protocol
IGMP is used to dynamically register individual hosts in a multicast group on a particular LAN. Enabling
PIM on an interface also enables IGMP. IGMP provides a means to automatically control and limit the flow
of multicast traffic throughout your network with the use of special multicast queriers and hosts.
• A querier is a network device, such as a router, that sends query messages to discover which network
devices are members of a given multicast group.
• A host is a receiver, including routers, that sends report messages (in response to query messages) to
inform the querier of a host membership. Hosts use IGMP messages to join and leave multicast groups.

Hosts identify group memberships by sending IGMP messages to their local multicast device. Under IGMP,
devices listen to IGMP messages and periodically send out queries to discover which groups are active or
inactive on a particular subnet.

IGMP Multicast Addresses


IP multicast traffic uses group addresses, which are Class D IP addresses. The high-order four bits of a Class
D address are 1110. Therefore, host group addresses can be in the range 224.0.0.0 to 239.255.255.255.
Multicast addresses in the range 224.0.0.0 to 224.0.0.255 are reserved for use by routing protocols and other
network control traffic. The address 224.0.0.0 is guaranteed not to be assigned to any group.
IGMP packets are transmitted using IP multicast group addresses as follows:
• IGMP general queries are destined to the address 224.0.0.1 (all systems on a subnet).
• IGMP group-specific queries are destined to the group IP address for which the device is querying.
• IGMP group membership reports are destined to the group IP address for which the device is reporting.
• IGMPv2 leave-group messages are destined to the address 224.0.0.2 (all devices on a subnet).
• IGMPv3 membership reports are destined to the address 224.0.0.22; all IGMPv3-capable multicast
devices must listen to this address.

Configuring IGMP
3
Configuring IGMP
IGMP Versions

IGMP Versions
The device supports IGMP version 1, IGMP version 2, and IGMP version 3. These versions are interoperable
on the device. For example, if IGMP snooping is enabled and the querier's version is IGMPv2, and the device
receives an IGMPv3 report from a host, then the device can forward the IGMPv3 report to the multicast router.
An IGMPv3 device can receive messages from and forward messages to a device running the Source Specific
Multicast (SSM) feature.

IGMP Version 1
IGMP version 1 (IGMPv1) primarily uses a query-response model that enables the multicast router and
multilayer device to find which multicast groups are active (have one or more hosts interested in a multicast
group) on the local subnet. IGMPv1 has other processes that enable a host to join and leave a multicast group.
For more information, see RFC 1112.

IGMP Version 2
IGMPv2 extends IGMP functionality by providing such features as the IGMP leave process to reduce leave
latency, group-specific queries, and an explicit maximum query response time. IGMPv2 also adds the capability
for routers to elect the IGMP querier without depending on the multicast protocol to perform this task. For
more information, see RFC 2236.

Note IGMP version 2 is the default version for the device.

IGMP Version 3
The device supports IGMP version 3.
An IGMPv3 device supports Basic IGMPv3 Snooping Support (BISS), which includes support for the snooping
features on IGMPv1 and IGMPv2 switches and for IGMPv3 membership report messages. BISS constrains
the flooding of multicast traffic when your network includes IGMPv3 hosts. It constrains traffic to approximately
the same set of ports as the IGMP snooping feature on IGMPv2 or IGMPv1 hosts.
An IGMPv3 device can receive messages from and forward messages to a device running the Source Specific
Multicast (SSM) feature.

IGMPv3 Host Signaling


IGMPv3 is the third version of the IETF standards track protocol in which hosts signal membership to last-hop
devices of multicast groups. IGMPv3 introduces the ability for hosts to signal group membership that allows
filtering capabilities with respect to sources. A host can signal either that it wants to receive traffic from all
sources sending to a group except for some specific sources (a mode called EXCLUDE) or that it wants to
receive traffic only from some specific sources sending to the group (a mode called INCLUDE).
IGMPv3 can operate with both ISM and SSM. In ISM, both EXCLUDE and INCLUDE mode reports are
accepted by the last-hop router. In SSM, only INCLUDE mode reports are accepted by the last-hop router.

Configuring IGMP
4
Configuring IGMP
IGMP Versions Differences

IGMP Versions Differences


There are three versions of IGMP, as defined by Request for Comments (RFC) documents of the Internet
Engineering Task Force (IETF). IGMPv2 improves over IGMPv1 by adding the ability for a host to signal
desire to leave a multicast group and IGMPv3 improves over IGMPv2 mainly by adding the ability to listen
to multicast originating from a set of source IP addresses only.

Table 1: IGMP Versions

IGMP Version Description

IGMPv1 Provides the basic query-response mechanism that allows the multicast
device to determine which multicast groups are active and other
processes that enable hosts to join and leave a multicast group. RFC
1112 defines the IGMPv1 host extensions for IP multicasting.

IGMPv2 Extends IGMP, allowing such capabilities as the IGMP leave process,
group-specific queries, and an explicit maximum response time field.
IGMPv2 also adds the capability for devices to elect the IGMP querier
without dependence on the multicast protocol to perform this task. RFC
2236 defines IGMPv2.

Note By default, enabling a PIM on an interface enables IGMPv2 on that device. IGMPv2 was designed to be as
backward compatible with IGMPv1 as possible. To accomplish this backward compatibility, RFC 2236 defined
special interoperability rules. If your network contains legacy IGMPv1 hosts, you should be familiar with
these operability rules. For more information about IGMPv1 and IGMPv2 interoperability, see RFC 2236,
Internet Group Management Protocol, Version 2 .

Devices That Run IGMPv1


IGMPv1 devices send IGMP queries to the “all-hosts” multicast address of 224.0.0.1 to solicit multicast
groups with active multicast receivers. The multicast receivers also can send IGMP reports to the device to
notify it that they are interested in receiving a particular multicast stream. Hosts can send the report
asynchronously or in response to the IGMP queries sent by the device. If more than one multicast receiver
exists for the same multicast group, only one of these hosts sends an IGMP report message; the other hosts
suppress their report messages.
In IGMPv1, there is no election of an IGMP querier. If more than one device on the segment exists, all the
devices send periodic IGMP queries. IGMPv1 has no special mechanism by which the hosts can leave the
group. If the hosts are no longer interested in receiving multicast packets for a particular group, they simply
do not reply to the IGMP query packets sent from the device. The device continues sending query packets. If
the device does not hear a response in three IGMP queries, the group times out and the device stops sending
multicast packets on the segment for the group. If the host later wants to receive multicast packets after the
timeout period, the host simply sends a new IGMP join to the device, and the device begins to forward the
multicast packet again.
If there are multiple devices on a LAN, a designated router (DR) must be elected to avoid duplicating multicast
traffic for connected hosts. PIM devices follow an election process to select a DR. The PIM device with the
highest IP address becomes the DR.
The DR is responsible for the following tasks:

Configuring IGMP
5
Configuring IGMP
IGMP Versions Differences

• Sending PIM register and PIM Join and Prune messages toward the rendezvous point (RP) to inform it
about host group membership.
• Sending IGMP host-query messages.
• Sending host-query messages by default every 60 seconds in order to keep the IGMP overhead on hosts
and networks very low.

Devices That Run IGMPv2


IGMPv2 improves the query messaging capabilities of IGMPv1.
The query and membership report messages in IGMPv2 are identical to the IGMPv1 messages with two
exceptions:
• IGMPv2 query messages are broken into two categories: general queries (identical to IGMPv1 queries)
and group-specific queries.
• IGMPv1 membership reports and IGMPv2 membership reports have different IGMP type codes.

IGMPv2 also enhances IGMP by providing support for the following capabilities:
• Querier election process--Provides the capability for IGMPv2 devices to elect the IGMP querier without
having to rely on the multicast routing protocol to perform the process.
• Maximum Response Time field--A new field in query messages permits the IGMP querier to specify the
maximum query-response time. This field permits the tuning of the query-response process to control
response burstiness and to fine-tune leave latencies.
• Group-Specific Query messages--Permits the IGMP querier to perform the query operation on a specific
group instead of all groups.
• Leave-Group messages--Provides hosts with a method of notifying devices on the network that they wish
to leave the group.

Unlike IGMPv1, in which the DR and the IGMP querier are typically the same device, in IGMPv2 the two
functions are decoupled. The DR and the IGMP querier are selected based on different criteria and may be
different devices on the same subnet. The DR is the device with the highest IP address on the subnet, whereas
the IGMP querier is the device with the lowest IP address.
Query messages are used to elect the IGMP querier as follows:
1. When IGMPv2 devices start, they each multicast a general query message to the all-systems group address
of 224.0.0.1 with their interface address in the source IP address field of the message.
2. When an IGMPv2 device receives a general query message, the device compares the source IP address
in the message with its own interface address. The device with the lowest IP address on the subnet is
elected the IGMP querier.
3. All devices (excluding the querier) start the query timer, which is reset whenever a general query message
is received from the IGMP querier. If the query timer expires, it is assumed that the IGMP querier has
gone down, and the election process is performed again to elect a new IGMP querier.

By default, the timer is two times the query interval.

Configuring IGMP
6
Configuring IGMP
IGMP Join and Leave Process

IGMP Join and Leave Process


IGMP Join Process
When a host wants to join a multicast group, the host sends one or more unsolicited membership reports for
the multicast group it wants to join. The IGMP join process is the same for IGMPv1 and IGMPv2 hosts.
In IGMPv3, the join process for hosts proceeds as follows:
• When a hosts wants to join a group, it sends an IGMPv3 membership report to 224.0.0.22 with an empty
EXCLUDE list.
• When a host wants to join a specific channel, it sends an IGMPv3 membership report to 224.0.0.22 with
the address of the specific source included in the INCLUDE list.
• When a host wants to join a group excluding particular sources, it sends an IGMPv3 membership report
to 224.0.0.22 excluding those sources in the EXCLUDE list.

Note If some IGMPv3 hosts on a LAN wish to exclude a source and others wish to include the source, then the
device will send traffic for the source on the LAN (that is, inclusion trumps exclusion in this situation).

IGMP Leave Process


The method that hosts use to leave a group varies depending on the version of IGMP in operation.

IGMPv1 Leave Process


There is no leave-group message in IGMPv1 to notify the devices on the subnet that a host no longer wants
to receive the multicast traffic from a specific group. The host simply stops processing traffic for the multicast
group and ceases responding to IGMP queries with IGMP membership reports for the group. As a result, the
only way IGMPv1 devices know that there are no longer any active receivers for a particular multicast group
on a subnet is when the devices stop receiving membership reports. To facilitate this process, IGMPv1 devices
associate a countdown timer with an IGMP group on a subnet. When a membership report is received for the
group on the subnet, the timer is reset. For IGMPv1 devices, this timeout interval is typically three times the
query interval (3 minutes). This timeout interval means that the device may continue to forward multicast
traffic onto the subnet for up to 3 minutes after all hosts have left the multicast group.

IGMPv2 Leave Process


IGMPv2 incorporates a leave-group message that provides the means for a host to indicate that it wishes to
stop receiving multicast traffic for a specific group. When an IGMPv2 host leaves a multicast group, if it was
the last host to respond to a query with a membership report for that group, it sends a leave-group message
to the all-devices multicast group (224.0.0.2).

IGMPv3 Leave Process


IGMPv3 enhances the leave process by introducing the capability for a host to stop receiving traffic from a
particular group, source, or channel in IGMP by including or excluding sources, groups, or channels in IGMPv3
membership reports.

Configuring IGMP
7
Configuring IGMP
IGMP Snooping

IGMP Snooping
Layer 2 devices can use IGMP snooping to constrain the flooding of multicast traffic by dynamically configuring
Layer 2 interfaces so that multicast traffic is forwarded to only those interfaces associated with IP multicast
devices. As the name implies, IGMP snooping requires the LAN device to snoop on the IGMP transmissions
between the host and the router and to keep track of multicast groups and member ports. When the device
receives an IGMP report from a host for a particular multicast group, the device adds the host port number to
the forwarding table entry; when it receives an IGMP Leave Group message from a host, it removes the host
port from the table entry. It also periodically deletes entries if it does not receive IGMP membership reports
from the multicast clients.

Note For more information on IP multicast and IGMP, see RFC 1112 and RFC 2236.

The multicast router sends out periodic general queries to all VLANs. All hosts interested in this multicast
traffic send join requests and are added to the forwarding table entry. The device creates one entry per VLAN
in the IGMP snooping IP multicast forwarding table for each group from which it receives an IGMP join
request.
The device supports IP multicast group-based bridging, instead of MAC-addressed based groups. With
multicast MAC address-based groups, if an IP address being configured translates (aliases) to a previously
configured MAC address or to any reserved multicast MAC addresses (in the range 224.0.0.xxx), the command
fails. Because the device uses IP multicast groups, there are no address aliasing issues.
The IP multicast groups learned through IGMP snooping are dynamic. However, you can statically configure
multicast groups by using the ip igmp snooping vlan vlan-id static ip_address interface interface-id global
configuration command. If you specify group membership for a multicast group address statically, your setting
supersedes any automatic manipulation by IGMP snooping. Multicast group membership lists can consist of
both user-defined and IGMP snooping-learned settings.
You can configure an IGMP snooping querier to support IGMP snooping in subnets without multicast interfaces
because the multicast traffic does not need to be routed.
If a port spanning-tree, a port group, or a VLAN ID change occurs, the IGMP snooping-learned multicast
groups from this port on the VLAN are deleted.
These sections describe IGMP snooping characteristics:

Joining a Multicast Group


Figure 1: Initial IGMP Join Message

When a host connected to the device wants to join an IP multicast group and it is an IGMP version 2 client,
it sends an unsolicited IGMP join message, specifying the IP multicast group to join. Alternatively, when the
device receives a general query from the router, it forwards the query to all ports in the VLAN. IGMP version
1 or version 2 hosts wanting to join the multicast group respond by sending a join message to the device. The
device CPU creates a multicast forwarding-table entry for the group if it is not already present. The CPU also
adds the interface where the join message was received to the forwarding-table entry. The host associated
with that interface receives multicast traffic for that multicast group.

Configuring IGMP
8
Configuring IGMP
Joining a Multicast Group

Router A sends a general query to the device, which forwards the query to ports 2 through 5, all of which are
members of the same VLAN. Host 1 wants to join multicast group 224.1.2.3 and multicasts an IGMP
membership report (IGMP join message) to the group. The device CPU uses the information in the IGMP
report to set up a forwarding-table entry that includes the port numbers connected to Host 1 and to the router.

Table 2: IGMP Snooping Forwarding Table

Destination Address Type of Packet Ports

224.1.2.3 IGMP 1, 2

The device hardware can distinguish IGMP information packets from other packets for the multicast group.
The information in the table tells the switching engine to send frames addressed to the 224.1.2.3 multicast IP
address that are not IGMP packets to the router and to the host that has joined the group.
Figure 2: Second Host Joining a Multicast Group

If another host (for example, Host 4) sends an unsolicited IGMP join message for the same group, the CPU
receives that message and adds the port number of Host 4 to the forwarding table. Because the forwarding
table directs IGMP messages only to the CPU, the message is not flooded to other ports on the device. Any
known multicast traffic is forwarded to the group and not to the CPU.

Configuring IGMP
9
Configuring IGMP
Leaving a Multicast Group

Table 3: Updated IGMP Snooping Forwarding Table

Destination Address Type of Packet Ports

224.1.2.3 IGMP 1, 2, 5

Leaving a Multicast Group


The router sends periodic multicast general queries, and the device forwards these queries through all ports
in the VLAN. Interested hosts respond to the queries. If at least one host in the VLAN wants to receive
multicast traffic, the router continues forwarding the multicast traffic to the VLAN. The device forwards
multicast group traffic only to those hosts listed in the forwarding table for that IP multicast group maintained
by IGMP snooping.
When hosts want to leave a multicast group, they can silently leave, or they can send a leave message. When
the device receives a leave message from a host, it sends a group-specific query to learn if any other devices
connected to that interface are interested in traffic for the specific multicast group. The device then updates
the forwarding table for that MAC group so that only those hosts interested in receiving multicast traffic for
the group are listed in the forwarding table. If the router receives no reports from a VLAN, it removes the
group for the VLAN from its IGMP cache.

Immediate Leave
The device uses IGMP snooping Immediate Leave to remove from the forwarding table an interface that sends
a leave message without the device sending group-specific queries to the interface. The VLAN interface is
pruned from the multicast tree for the multicast group specified in the original leave message. Immediate
Leave ensures optimal bandwidth management for all hosts on a switched network, even when multiple
multicast groups are simultaneously in use.
Immediate Leave is only supported on IGMP version 2 hosts. IGMP version 2 is the default version for the
device.

Note You should use the Immediate Leave feature only on VLANs where a single host is connected to each port.
If Immediate Leave is enabled on VLANs where more than one host is connected to a port, some hosts may
be dropped inadvertently.

IGMP Configurable-Leave Timer


You can configure the time that the device waits after sending a group-specific query to determine if hosts
are still interested in a specific multicast group. The IGMP leave response time can be configured from 100
to 32767 milliseconds.

IGMP Report Suppression

Note IGMP report suppression is supported only when the multicast query has IGMPv1 and IGMPv2 reports. This
feature is not supported when the query includes IGMPv3 reports.

Configuring IGMP
10
Configuring IGMP
IGMP Snooping and Device Stacks

The device uses IGMP report suppression to forward only one IGMP report per multicast router query to
multicast devices. When IGMP report suppression is enabled (the default), the device sends the first IGMP
report from all hosts for a group to all the multicast routers. The device does not send the remaining IGMP
reports for the group to the multicast routers. This feature prevents duplicate reports from being sent to the
multicast devices.
If the multicast router query includes requests only for IGMPv1 and IGMPv2 reports, the device forwards
only the first IGMPv1 or IGMPv2 report from all hosts for a group to all the multicast routers.
If the multicast router query also includes requests for IGMPv3 reports, the device forwards all IGMPv1,
IGMPv2, and IGMPv3 reports for a group to the multicast devices.
If you disable IGMP report suppression, all IGMP reports are forwarded to the multicast routers.

IGMP Snooping and Device Stacks


IGMP snooping functions across the device stack; that is, IGMP control information from one device is
distributed to all devices in the stack. Regardless of the stack member through which IGMP multicast data
enters the stack, the data reaches the hosts that have registered for that group.
If a device in the stack fails or is removed from the stack, only the members of the multicast group that are
on that device will not receive the multicast data. All other members of a multicast group on other devices in
the stack continue to receive multicast data streams. However, multicast groups that are common for both
Layer 2 and Layer 3 (IP multicast routing) might take longer to converge if the active device is removed.

IGMP Filtering and Throttling


In some environments, for example, metropolitan or multiple-dwelling unit (MDU) installations, you might
want to control the set of multicast groups to which a user on a device port can belong. You can control the
distribution of multicast services, such as IP/TV, based on some type of subscription or service plan. You
might also want to limit the number of multicast groups to which a user on a device port can belong.
With the IGMP filtering feature, you can filter multicast joins on a per-port basis by configuring IP multicast
profiles and associating them with individual device ports. An IGMP profile can contain one or more multicast
groups and specifies whether access to the group is permitted or denied. If an IGMP profile denying access
to a multicast group is applied to a device port, the IGMP join report requesting the stream of IP multicast
traffic is dropped, and the port is not allowed to receive IP multicast traffic from that group. If the filtering
action permits access to the multicast group, the IGMP report from the port is forwarded for normal processing.
You can also set the maximum number of IGMP groups that a Layer 2 interface can join.
IGMP filtering controls only group-specific query and membership reports, including join and leave reports.
It does not control general IGMP queries. IGMP filtering has no relationship with the function that directs
the forwarding of IP multicast traffic. The filtering feature operates in the same manner whether CGMP or
MVR is used to forward the multicast traffic.
IGMP filtering applies only to the dynamic learning of IP multicast group addresses, not static configuration.
With the IGMP throttling feature, you can set the maximum number of IGMP groups that a Layer 2 interface
can join. If the maximum number of IGMP groups is set, the IGMP snooping forwarding table contains the
maximum number of entries, and the interface receives an IGMP join report, you can configure an interface
to drop the IGMP report or to replace the randomly selected multicast entry with the received IGMP report.

Note IGMPv3 join and leave messages are not supported on devices running IGMP filtering.

Configuring IGMP
11
Configuring IGMP
Default IGMP Configuration

Default IGMP Configuration


This table displays the default IGMP configuration for the device.

Table 4: Default IGMP Configuration

Feature Default Setting

Multilayer device as a member of a multicast group No group memberships are defined.

Access to multicast groups All groups are allowed on an interface.

IGMP version Version 2 on all interfaces.

IGMP host-query message interval 60 seconds on all interfaces.

IGMP query timeout 60 seconds on all interfaces.

IGMP maximum query response time 10 seconds on all interfaces.

Multilayer device as a statically connected member Disabled.

Default IGMP Snooping Configuration


This table displays the default IGMP snooping configuration for the device.

Table 5: Default IGMP Snooping Configuration

Feature Default Setting

IGMP snooping Enabled globally and per VLAN

Multicast routers None configured

IGMP snooping Immediate Leave Disabled

Static groups None configured

TCN1 flood query count 2

TCN query solicitation Disabled

IGMP snooping querier Disabled

IGMP report suppression Enabled


1
(1) TCN = Topology Change Notification

Configuring IGMP
12
Configuring IGMP
Default IGMP Filtering and Throttling Configuration

Default IGMP Filtering and Throttling Configuration


This table displays the default IGMP filtering and throttling configuration for the device.

Table 6: Default IGMP Filtering Configuration

Feature Default Setting

IGMP filters None applied.

IGMP maximum number of IGMP groups No maximum set.


Note When the maximum number of groups is
in the forwarding table, the default IGMP
throttling action is to deny the IGMP
report.

IGMP profiles None defined.

IGMP profile action Deny the range addresses.

How to Configure IGMP


Configuring the Device as a Member of a Group
You can configure the device as a member of a multicast group and discover multicast reachability in a
network. If all the multicast-capable routers and multilayer devices that you administer are members of a
multicast group, pinging that group causes all of these devices to respond. The devices respond to ICMP
echo-request packets addressed to a group of which they are members. Another example is the multicast
trace-route tools provided in the software.

Caution Performing this procedure might impact the CPU performance because the CPU will receive all data traffic
for the group address.

This procedure is optional.

SUMMARY STEPS
1. enable
2. configure terminal
3. interface interface-id
4. ip igmp join-group group-address
5. end
6. show ip igmp interface [interface-id]
7. copy running-config startup-config

Configuring IGMP
13
Configuring IGMP
Configuring the Device as a Member of a Group

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 interface interface-id Specifies the Layer 3 interface on which you want to enable
multicast routing, and enters interface configuration mode.
Example:
The specified interface must be one of the following:
Device(config)# interface
gigabitethernet 1/0/1 • A routed port—A physical port that has been
configured as a Layer 3 port by entering the no
switchport interface configuration command.
• An SVI—A VLAN interface created by using the
interface vlan vlan-id global configuration command.

These interfaces must have IP addresses assigned to them.

Step 4 ip igmp join-group group-address Configures the device to join a multicast group.
Example: By default, no group memberships are defined.
For group-address, specify the multicast IP address in dotted
Device(config-if)# ip igmp
join-group 225.2.2.2 decimal notation.

Step 5 end Returns to privileged EXEC mode.


Example:

Device(config)# end

Step 6 show ip igmp interface [interface-id] Verifies your entries.


Example:

Device# show ip igmp interface

Step 7 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Configuring IGMP
14
Configuring IGMP
Controlling Access to IP Multicast Group

Command or Action Purpose

Device# copy running-config startup-config

Controlling Access to IP Multicast Group


The device sends IGMP host-query messages to find which multicast groups have members on attached local
networks. The device then forwards to these group members all packets addressed to the multicast group.
You can place a filter on each interface to restrict the multicast groups that hosts on the subnet serviced by
the interface can join.
To limit the number of joins on the interface, configure the port for the filter which associates with the IGMP
profile.
This procedure is optional.

SUMMARY STEPS
1. enable
2. configure terminal
3. ip igmp profile
4. permit
5. exit
6. interface interface-id
7. ip igmp filter filter_number
8. end
9. show ip igmp interface [interface-id]
10. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 ip igmp profile Enters an IGMP filter profile number from 1 to


4294967295.
Example:
For additional information about configuring IGMP filter
profiles, see Configuring IGMP Profiles , on page 24.

Configuring IGMP
15
Configuring IGMP
Controlling Access to IP Multicast Group

Command or Action Purpose

Device(config)# ip igmp profile 10


Device(config-igmp-profile)# ?

Step 4 permit Enters an IGMP profile configuration action. The following


IGMP profile configuration actions are supported:
Example:
• deny—Matching IP addresses are denied.
Device(config-igmp-profile)#
permit 229.9.9.0 • exit—Exits from the IGMP profile configuration
mode.
• no—Negates a command or set its defaults.
• permit—Matching addresses are permitted.
• range—Adds a range to the set.

Step 5 exit Returns to global configuration mode.


Example:

Device(config-igmp-profile)# exit

Step 6 interface interface-id Specifies the interface to be configured, and enters interface
configuration mode.
Example:

Device(config)# interface
gigabitethernet 1/0/1

Step 7 ip igmp filter filter_number Specifies the IGMP filter profile number.
Example: For additional information about applying IGMP filter
profiles, see Applying IGMP Profiles , on page 26.
Device(config-if)# ip igmp filter 10

Step 8 end Returns to privileged EXEC mode.


Example:

Device(config)# end

Step 9 show ip igmp interface [interface-id] Verifies your entries.


Example:

Device# show ip igmp interface

Step 10 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Configuring IGMP
16
Configuring IGMP
Changing the IGMP Version

Command or Action Purpose

Device# copy running-config startup-config

Changing the IGMP Version


By default, the switch uses IGMP Version 2, which provides features such as the IGMP query timeout and
the maximum query response time.
All systems on the subnet must support the same version. The switch does not automatically detect Version
1 systems and switch to Version 1. You can mix Version 1 and Version 2 hosts on the subnet because Version
2 routers or switches always work correctly with IGMPv1 hosts.
Configure the switch for Version 1 if your hosts do not support Version 2.
This procedure is optional.

SUMMARY STEPS
1. enable
2. configure terminal
3. interface interface-id
4. ip igmp version {1 | 2 | 3 }
5. end
6. show ip igmp interface [interface-id]
7. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 interface interface-id Specifies the interface to be configured, and enters the
interface configuration mode.
Example:

Device(config)# interface gigabitethernet 1/0/1

Configuring IGMP
17
Configuring IGMP
Modifying the IGMP Host-Query Message Interval

Command or Action Purpose


Step 4 ip igmp version {1 | 2 | 3 } Specifies the IGMP version that the switch uses.
Example: Note If you change to Version 1, you cannot configure
the ip igmp query-interval or the ip igmp
Device(config-if)# ip igmp version 2 query-max-response-time interface
configuration commands.

To return to the default setting, use the no ip igmp version


interface configuration command.

Step 5 end Returns to privileged EXEC mode.


Example:

Device(config)# end

Step 6 show ip igmp interface [interface-id] Verifies your entries.


Example:

Device# show ip igmp interface

Step 7 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Device# copy running-config startup-config

Modifying the IGMP Host-Query Message Interval


The device periodically sends IGMP host-query messages to discover which multicast groups are present on
attached networks. These messages are sent to the all-hosts multicast group (224.0.0.1) with a time-to-live
(TTL) of 1. The device sends host-query messages to refresh its knowledge of memberships present on the
network. If, after some number of queries, the software discovers that no local hosts are members of a multicast
group, the software stops forwarding multicast packets to the local network from remote origins for that group
and sends a prune message upstream toward the source.
The device elects a PIM designated router (DR) for the LAN (subnet). The designated router is responsible
for sending IGMP host-query messages to all hosts on the LAN. In sparse mode, the designated router also
sends PIM register and PIM join messages toward the RP router. With IGMPv2, the DR is the router or
multilayer device with the highest IP address. With IGMPv1, the DR is elected according to the multicast
routing protocol that runs on the LAN.
This procedure is optional.

SUMMARY STEPS
1. enable
2. configure terminal
3. interface interface-id

Configuring IGMP
18
Configuring IGMP
Modifying the IGMP Host-Query Message Interval

4. ip igmp query-interval seconds


5. end
6. show ip igmp interface [interface-id]
7. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 interface interface-id Specifies the Layer 3 interface on which you want to enable
multicast routing, and enters interface configuration mode.
Example:
The specified interface must be one of the following:
Device(config)# interface
gigabitethernet 1/0/1 • A routed port—A physical port that has been
configured as a Layer 3 port by entering the no
switchport interface configuration command.
• An SVI—A VLAN interface created by using the
interface vlan vlan-id global configuration command.

These interfaces must have IP addresses assigned to them.

Step 4 ip igmp query-interval seconds Configures the frequency at which the designated router
sends IGMP host-query messages.
Example:
By default, the designated router sends IGMP host-query
Device(config-if)# ip igmp messages every 60 seconds to keep the IGMP overhead
query-interval 75 very low on hosts and networks.
The range is 1 to 65535.

Step 5 end Returns to privileged EXEC mode.


Example:

Device(config)# end

Step 6 show ip igmp interface [interface-id] Verifies your entries.


Example:

Configuring IGMP
19
Configuring IGMP
Changing the IGMP Query Timeout for IGMPv2

Command or Action Purpose

Device# show ip igmp interface

Step 7 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Device# copy running-config startup-config

Changing the IGMP Query Timeout for IGMPv2


If you are using IGMPv2, you can specify the period of time before the device takes over as the querier for
the interface. By default, the device waits twice the query interval period controlled by the ip igmp
query-interval interface configuration command. After that time, if the device has received no queries, it
becomes the querier.
This procedure is optional.

SUMMARY STEPS
1. enable
2. configure terminal
3. interface interface-id
4. ip igmp querier-timeout seconds
5. end
6. show ip igmp interface [interface-id]
7. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 interface interface-id Specifies the Layer 3 interface on which you want to enable
multicast routing, and enters interface configuration mode.
Example:
The specified interface must be one of the following:
Device(config)# interface

Configuring IGMP
20
Configuring IGMP
Changing the Maximum Query Response Time for IGMPv2

Command or Action Purpose


gigabitethernet 1/0/1 • A routed port—A physical port that has been
configured as a Layer 3 port by entering the no
switchport interface configuration command.
• An SVI—A VLAN interface created by using the
interface vlan vlan-id global configuration command.

These interfaces must have IP addresses assigned to them.

Step 4 ip igmp querier-timeout seconds Specifies the IGMP query timeout.


Example: The default is 60 seconds (twice the query interval). The
range is 60 to 300.
Device(config-if)# ip igmp
querier-timeout 120

Step 5 end Returns to privileged EXEC mode.


Example:

Device(config)# end

Step 6 show ip igmp interface [interface-id] Verifies your entries.


Example:

Device# show ip igmp interface

Step 7 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Device# copy running-config startup-config

Changing the Maximum Query Response Time for IGMPv2


If you are using IGMPv2, you can change the maximum query response time advertised in IGMP queries.
The maximum query response time enables the device to quickly detect that there are no more directly
connected group members on a LAN. Decreasing the value enables the device to prune groups faster.
This procedure is optional.

SUMMARY STEPS
1. enable
2. configure terminal
3. interface interface-id
4. ip igmp query-max-response-time seconds
5. end

Configuring IGMP
21
Configuring IGMP
Changing the Maximum Query Response Time for IGMPv2

6. show ip igmp interface [interface-id]


7. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 interface interface-id Specifies the Layer 3 interface on which you want to enable
multicast routing, and enters interface configuration mode.
Example:
The specified interface must be one of the following:
Device(config)# interface
gigabitethernet 1/0/1 • A routed port—A physical port that has been
configured as a Layer 3 port by entering the no
switchport interface configuration command.
• An SVI—A VLAN interface created by using the
interface vlan vlan-id global configuration command.

These interfaces must have IP addresses assigned to them.

Step 4 ip igmp query-max-response-time seconds Changes the maximum query response time advertised in
IGMP queries.
Example:
The default is 10 seconds. The range is 1 to 25.
Device(config-if)# ip igmp
query-max-response-time 15

Step 5 end Returns to privileged EXEC mode.


Example:

Device(config)# end

Step 6 show ip igmp interface [interface-id] Verifies your entries.


Example:

Device# show ip igmp interface

Configuring IGMP
22
Configuring IGMP
Configuring the Device as a Statically Connected Member

Command or Action Purpose


Step 7 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Device# copy running-config startup-config

Configuring the Device as a Statically Connected Member


At various times, either there is not a group member on a network segment or a host that cannot report its
group membership by using IGMP. However, you may want multicast traffic to be sent to that network
segment. The following commands are used to pull multicast traffic down to a network segment:
• ip igmp join-group—The device accepts the multicast packets in addition to forwarding them. Accepting
the multicast packets prevents the device from fast switching.
• ip igmp static-group—The device does not accept the packets itself, but only forwards them. This
method enables fast switching. The outgoing interface appears in the IGMP cache, but the device itself
is not a member, as evidenced by lack of an L (local) flag in the multicast route entry.

This procedure is optional.

SUMMARY STEPS
1. enable
2. configure terminal
3. interface interface-id
4. ip igmp static-group group-address
5. end
6. show ip igmp interface [interface-id]
7. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Configuring IGMP
23
Configuring IGMP
Configuring IGMP Profiles

Command or Action Purpose


Step 3 interface interface-id Specifies the Layer 3 interface on which you want to enable
multicast routing, and enters interface configuration mode.
Example:
The specified interface must be one of the following:
Device(config)# interface
gigabitethernet 1/0/1 • A routed port—A physical port that has been
configured as a Layer 3 port by entering the no
switchport interface configuration command.
• An SVI—A VLAN interface created by using the
interface vlan vlan-id global configuration command.

These interfaces must have IP addresses assigned to them.

Step 4 ip igmp static-group group-address Configures the device as a statically connected member of
a group.
Example:
By default, this feature is disabled.
Device(config-if)# ip igmp static-group
239.100.100.101

Step 5 end Returns to privileged EXEC mode.


Example:

Device(config)# end

Step 6 show ip igmp interface [interface-id] Verifies your entries.


Example:

Device# show ip igmp interface


gigabitethernet 1/0/1

Step 7 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Device# copy running-config startup-config

Configuring IGMP Profiles


Follow these steps to create an IGMP profile:
This task is optional.

SUMMARY STEPS
1. enable
2. configure terminal

Configuring IGMP
24
Configuring IGMP
Configuring IGMP Profiles

3. ip igmp profile profile number


4. permit | deny
5. range ip multicast address
6. end
7. show ip igmp profile profile number
8. show running-config
9. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 ip igmp profile profile number Assigns a number to the profile you are configuring, and
enters IGMP profile configuration mode. The profile
Example:
number range is 1 to 4294967295. When you are in IGMP
profile configuration mode, you can create the profile by
Device(config)# ip igmp profile 3
using these commands:
• deny—Specifies that matching addresses are denied;
this is the default.
• exit—Exits from igmp-profile configuration mode.
• no—Negates a command or returns to its defaults.
• permit—Specifies that matching addresses are
permitted.
• range—Specifies a range of IP addresses for the
profile. You can enter a single IP address or a range
with a start and an end address.

The default is for the device to have no IGMP profiles


configured.
Note To delete a profile, use the no ip igmp profile
profile number global configuration command.

Configuring IGMP
25
Configuring IGMP
Applying IGMP Profiles

Command or Action Purpose


Step 4 permit | deny (Optional) Sets the action to permit or deny access to the
IP multicast address. If no action is configured, the default
Example:
for the profile is to deny access.
Device(config-igmp-profile)# permit

Step 5 range ip multicast address Enters the IP multicast address or range of IP multicast
addresses to which access is being controlled. If entering a
Example:
range, enter the low IP multicast address, a space, and the
high IP multicast address.
Device(config-igmp-profile)# range 229.9.9.0
You can use the range command multiple times to enter
multiple addresses or ranges of addresses.
Note To delete an IP multicast address or range of IP
multicast addresses, use the no range ip
multicast address IGMP profile configuration
command.

Step 6 end Returns to privileged EXEC mode.


Example:

Device(config)# end

Step 7 show ip igmp profile profile number Verifies the profile configuration.
Example:

Device# show ip igmp profile 3

Step 8 show running-config Verifies your entries.


Example:

Device# show running-config

Step 9 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Device# copy running-config startup-config

Applying IGMP Profiles


To control access as defined in an IGMP profile, you have to apply the profile to the appropriate interfaces.
You can apply IGMP profiles only to Layer 2 access ports; you cannot apply IGMP profiles to routed ports
or SVIs. You cannot apply profiles to ports that belong to an EtherChannel port group. You can apply a profile
to multiple interfaces, but each interface can have only one profile applied to it.

Configuring IGMP
26
Configuring IGMP
Applying IGMP Profiles

Follow these steps to apply an IGMP profile to a switch port:

SUMMARY STEPS
1. enable
2. configure terminal
3. interface interface-id
4. ip igmp filter profile number
5. end
6. show running-config
7. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 interface interface-id Specifies the physical interface, and enters interface
configuration mode. The interface must be a Layer 2 port
Example:
that does not belong to an EtherChannel port group.
Device(config)# interface gigabitethernet1/0/1

Step 4 ip igmp filter profile number Applies the specified IGMP profile to the interface. The
range is 1 to 4294967295.
Example:
Note To remove a profile from an interface, use the
Device(config-if)# ip igmp filter 321 no ip igmp filter profile number interface
configuration command.

Step 5 end Returns to privileged EXEC mode.


Example:

Device(config-if)# end

Step 6 show running-config Verifies your entries.


Example:

Configuring IGMP
27
Configuring IGMP
Setting the Maximum Number of IGMP Groups

Command or Action Purpose

Device# show running-config

Step 7 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Device# copy running-config startup-config

Setting the Maximum Number of IGMP Groups


Follow these steps to set the maximum number of IGMP groups that a Layer 2 interface can join:

Before you begin


This restriction can be applied to Layer 2 ports only; you cannot set a maximum number of IGMP groups on
routed ports or SVIs. You also can use this command on a logical EtherChannel interface but cannot use it
on ports that belong to an EtherChannel port group.

SUMMARY STEPS
1. enable
2. configure terminal
3. interface interface-id
4. ip igmp max-groups number
5. end
6. show running-config interface interface-id
7. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 interface interface-id Specifies the interface to be configured, and enters interface
configuration mode. The interface can be a Layer 2 port
Example:

Configuring IGMP
28
Configuring IGMP
Configuring the IGMP Throttling Action

Command or Action Purpose


that does not belong to an EtherChannel group or a
Device(config)# interface gigabitethernet1/0/2
EtherChannel interface.

Step 4 ip igmp max-groups number Sets the maximum number of IGMP groups that the
interface can join. The range is 0 to 4294967294. The
Example:
default is to have no maximum set.
Device(config-if)# ip igmp max-groups 20

Step 5 end Returns to privileged EXEC mode.


Example:

Device(config)# end

Step 6 show running-config interface interface-id Verifies your entries.


Example:

Device# interface gigabitethernet1/0/1

Step 7 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Device# copy running-config startup-config

Configuring the IGMP Throttling Action


After you set the maximum number of IGMP groups that a Layer 2 interface can join, you can configure an
interface to replace the existing group with the new group for which the IGMP report was received.
Follow these steps to configure the throttling action when the maximum number of entries is in the forwarding
table:

SUMMARY STEPS
1. enable
2. configure terminal
3. interface interface-id
4. ip igmp max-groups action {deny | replace}
5. end
6. show running-config interface interface-id
7. copy running-config startup-config

Configuring IGMP
29
Configuring IGMP
Configuring the IGMP Throttling Action

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 interface interface-id Specifies the physical interface to be configured, and enters
interface configuration mode. The interface can be a Layer
Example:
2 port that does not belong to an EtherChannel group or an
EtherChannel interface. The interface cannot be a trunk
Device(config)# interface gigabitethernet1/0/1
port.

Step 4 ip igmp max-groups action {deny | replace} When an interface receives an IGMP report and the
maximum number of entries is in the forwarding table,
Example:
specifies the action that the interface takes:
Device(config-if)# ip igmp max-groups action • deny—Drops the report. If you configure this throttling
replace action, the entries that were previously in the
forwarding table are not removed but are aged out.
After these entries are aged out and the maximum
number of entries is in the forwarding table, the device
drops the next IGMP report received on the interface.
• replace—Replaces the existing group with the new
group for which the IGMP report was received. If you
configure this throttling action, the entries that were
previously in the forwarding table are removed. When
the maximum number of entries is in the forwarding
table, the device replaces a randomly selected entry
with the received IGMP report.

To prevent the device from removing the forwarding-table


entries, you can configure the IGMP throttling action before
an interface adds entries to the forwarding table.
Note To return to the default action of dropping the
report, use the no ip igmp max-groups action
interface configuration command.

Step 5 end Returns to privileged EXEC mode.


Example:

Configuring IGMP
30
Configuring IGMP
Configuring the Device to Forward Multicast Traffic in the Absence of Directly Connected IGMP Hosts

Command or Action Purpose

Device(config)# end

Step 6 show running-config interface interface-id Verifies your entries.


Example:

Device# show running-config interface


gigabitethernet1/0/1

Step 7 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Device# copy running-config startup-config

Configuring the Device to Forward Multicast Traffic in the Absence of Directly


Connected IGMP Hosts
Perform this optional task to configure the device to forward multicast traffic in the absence of directly
connected IGMP hosts.

SUMMARY STEPS
1. enable
2. configure terminal
3. interface type number
4. Do one of the following:
• ip igmp join-group group-address
• ip igmp static-group {* | group-address [source source-address]}
5. end
6. show ip igmp interface [interface-type interface-number]

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

device# configure terminal

Configuring IGMP
31
Configuring IGMP
Controlling Access to an SSM Network Using IGMP Extended Access Lists

Command or Action Purpose


Step 3 interface type number Enters interface configuration mode.
Example: • For the type and number arguments, specify an
interface that is connected to hosts.
device(config)# interface gigabitethernet 1

Step 4 Do one of the following: The first sample shows how to configure an interface on
the device to join the specified group.
• ip igmp join-group group-address
• ip igmp static-group {* | group-address [source With this method, the device accepts the multicast packets
source-address]} in addition to forwarding them. Accepting the multicast
packets prevents the device from fast switching.
Example:
The second example shows how to configure static group
device(config-if)# ip igmp join-group 225.2.2.2 membership entries on an interface. With this method, the
device does not accept the packets itself, but only forwards
Example: them. Hence, this method allows fast switching. The
outgoing interface appears in the IGMP cache, but the
device(config-if)# ip igmp static-group 225.2.2.2
device itself is not a member, as evidenced by lack of an
“L” (local) flag in the multicast route entry

Step 5 end Returns to privileged EXEC mode.


Example:

device#(config-if)# end

Step 6 show ip igmp interface [interface-type interface-number] (Optional) Displays multicast-related information about an
interface.
Example:

device# show ip igmp interface

Controlling Access to an SSM Network Using IGMP Extended Access Lists


Perform this optional task to control access to an SSM network by using an IGMP extended access list that
filters SSM traffic based on source address, group address, or both.

SUMMARY STEPS
1. enable
2. configure terminal
3. ip multicast-routing [distributed]
4. ip pim ssm {default | range access-list}
5. ip access-list extended access-list -name
6. deny igmp source source-wildcard destination destination-wildcard [igmp-type] [precedence
precedence] [tos tos] [log] [time-range time-range-name] [fragments]
7. permit igmp source source-wildcard destination destination-wildcard [igmp-type] [precedence
precedence] [tos tos] [log] [time-range time-range-name] [fragments]
8. exit
9. interface type number

Configuring IGMP
32
Configuring IGMP
Controlling Access to an SSM Network Using IGMP Extended Access Lists

10. ip igmp access-group access-list


11. ip pim sparse-mode
12. Repeat Steps 1 through 11 on all interfaces that require access control of SSM channel membership.
13. ip igmp version 3
14. Repeat Step 13 on all host-facing interfaces.
15. end

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 ip multicast-routing [distributed] Enables IP multicast routing.


Example: • The distributed keyword is required for IPv4
multicast..
Device(config)# ip multicast-routing distributed

Step 4 ip pim ssm {default | range access-list} Configures SSM service.


Example: • The default keyword defines the SSM range access
list as 232/8.
Device(config)# ip pim ssm default
• The range keyword specifies the standard IP access
list number or name that defines the SSM range.

Step 5 ip access-list extended access-list -name Specifies an extended named IP access list.
Example:

Device(config)# ip access-list extended mygroup

Step 6 deny igmp source source-wildcard destination (Optional) Filters the specified source address or group
destination-wildcard [igmp-type] [precedence precedence] address from the IGMP report, thereby restricting hosts
[tos tos] [log] [time-range time-range-name] [fragments] on a subnet from membership to the (S, G) channel.
Example: • Repeat this step to restrict hosts on a subnet
membership to other (S, G) channels. (These sources
Device(config-ext-nacl)# deny igmp host 10.1.2.3 should be more specific than a subsequent permit
any statement because any sources or groups not
specifically permitted are denied.)
• Remember that the access list ends in an implicit deny
statement.

Configuring IGMP
33
Configuring IGMP
Controlling Access to an SSM Network Using IGMP Extended Access Lists

Command or Action Purpose


• This example shows how to create a deny statement
that filters all groups for source 10.1.2.3, which
effectively denies the source.

Step 7 permit igmp source source-wildcard destination Allows a source address or group address in an IGMP
destination-wildcard [igmp-type] [precedence precedence] report to pass the IP access list.
[tos tos] [log] [time-range time-range-name] [fragments]
• You must have at least one permit statement in an
Example: access list.

Device(config-ext-nacl)# permit igmp any any


• Repeat this step to allow other sources to pass the IP
access list.
• This example shows how to allow group membership
to sources and groups not denied by prior deny
statements.

Step 8 exit Exits the current configuration session and returns to global
configuration mode.
Example:

Device(config-ext-nacl)# exit

Step 9 interface type number Selects an interface that is connected to hosts on which
IGMPv3 can be enabled.
Example:

Device(config)# interface ethernet 0

Step 10 ip igmp access-group access-list Applies the specified access list to IGMP reports.
Example:

Device(config-if)# ip igmp access-group mygroup

Step 11 ip pim sparse-mode Enables PIM-SM on the interface.


Example: Note You must use sparse mode.

Device(config-if)# ip pim sparse-mode

Step 12 Repeat Steps 1 through 11 on all interfaces that require --


access control of SSM channel membership.
Step 13 ip igmp version 3 Enables IGMPv3 on this interface. The default version of
IGMP is IGMP version 2. Version 3 is required by SSM.
Example:

Device(config-if)# ip igmp version 3

Step 14 Repeat Step 13 on all host-facing interfaces. --

Step 15 end Returns to privileged EXEC mode.


Example:

Configuring IGMP
34
Configuring IGMP
How to Configure IGMP Snooping

Command or Action Purpose

Device(config-if)# end

How to Configure IGMP Snooping


Enabling IGMP Snooping

SUMMARY STEPS
1. enable
2. configure terminal
3. ip igmp snooping
4. bridge-domain bridge-id
5. end

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.
Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:
Device# configure terminal

Step 3 ip igmp snooping Globally enables IGMP snooping after it has been disabled.
Example:
Device(config)# ip igmp snooping

Step 4 bridge-domain bridge-id (Optional) Enters bridge domain configuration mode.


Example:
Device(config)# bridge-domain 100

Step 5 end Returns to privileged EXEC mode.


Example:
Device(config-bdomain)# end

Enabling or Disabling IGMP Snooping on a VLAN Interface


Follow these steps to enable IGMP snooping on a VLAN interface:

Configuring IGMP
35
Configuring IGMP
Setting the Snooping Method

SUMMARY STEPS
1. enable
2. configure terminal
3. ip igmp snooping vlan vlan-id
4. end
5. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 ip igmp snooping vlan vlan-id Enables IGMP snooping on the VLAN interface. The VLAN
ID range is 1 to 1001 and 1006 to 4094.
Example:
IGMP snooping must be globally enabled before you can
Device(config)# ip igmp snooping vlan 7 enable VLAN snooping.
Note To disable IGMP snooping on a VLAN interface,
use the no ip igmp snooping vlan vlan-id global
configuration command for the specified VLAN
number.

Step 4 end Returns to privileged EXEC mode.


Example:

Device(config)# end

Step 5 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Device# copy running-config startup-config

Setting the Snooping Method


Multicast-capable router ports are added to the forwarding table for every Layer 2 multicast entry. The device
learns of the ports through one of these methods:

Configuring IGMP
36
Configuring IGMP
Setting the Snooping Method

• Snooping on IGMP queries, Protocol-Independent Multicast (PIM) packets


• Statically connecting to a multicast router port using the ip igmp snooping mrouter global configuration
command

Beginning in privileged EXEC mode, follow these steps to alter the method in which a VLAN interface
accesses a multicast router:

SUMMARY STEPS
1. enable
2. configure terminal
3. ip igmp snooping vlan vlan-id mrouter interface {GigabitEthernet | Port-Channel |
TenGigabitEthernet}
4. end
5. show ip igmp snooping
6. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: Enter your password, if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 ip igmp snooping vlan vlan-id mrouter interface Enables IGMP snooping on a VLAN. The VLAN ID range
{GigabitEthernet | Port-Channel | TenGigabitEthernet} is 1 to 1001 and 1006 to 4094.
Example:

Device(config)# ip igmp snooping


vlan 1 mrouter interface GigabitEthernet1/0/3

Step 4 end Returns to privileged EXEC mode.


Example:

Device(config)# end

Step 5 show ip igmp snooping Verifies the configuration.


Example:

Configuring IGMP
37
Configuring IGMP
Configuring a Multicast Router Port

Command or Action Purpose

Device# show ip igmp snooping

Step 6 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Device# copy running-config startup-config

Configuring a Multicast Router Port


Perform these steps to add a multicast router port (enable a static connection to a multicast router) on the
device.

Note Static connections to multicast routers are supported only on device ports.

SUMMARY STEPS
1. enable
2. configure terminal
3. ip igmp snooping vlan vlan-id mrouter interface interface-id
4. end
5. show ip igmp snooping mrouter [vlan vlan-id]
6. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 ip igmp snooping vlan vlan-id mrouter interface Specifies the multicast router VLAN ID and the interface
interface-id to the multicast router.
Example: • The VLAN ID range is 1 to 1001 and 1006 to 4094.

Device(config)# ip igmp snooping vlan 5 mrouter

Configuring IGMP
38
Configuring IGMP
Configuring a Host Statically to Join a Group

Command or Action Purpose


interface gigabitethernet1/0/1 • The interface can be a physical interface or a port
channel. The port-channel range is 1 to 128.

Note To remove a multicast router port from the


VLAN, use the no ip igmp snooping vlan
vlan-id mrouter interface interface-id global
configuration command.

Step 4 end Returns to privileged EXEC mode.


Example:

Device(config)# end

Step 5 show ip igmp snooping mrouter [vlan vlan-id] Verifies that IGMP snooping is enabled on the VLAN
interface.
Example:

Device# show ip igmp snooping mrouter vlan 5

Step 6 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Device# copy running-config startup-config

Configuring a Host Statically to Join a Group


Hosts or Layer 2 ports normally join multicast groups dynamically, but you can also statically configure a
host on an interface.
Follow these steps to add a Layer 2 port as a member of a multicast group:

SUMMARY STEPS
1. enable
2. configure terminal
3. ip igmp snooping vlan vlan-id static ip_address interface interface-id
4. end
5. show ip igmp snooping groups
6. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Configuring IGMP
39
Configuring IGMP
Enabling IGMP Immediate Leave

Command or Action Purpose

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 ip igmp snooping vlan vlan-id static ip_address interface Statically configures a Layer 2 port as a member of a
interface-id multicast group:
Example: • vlan-id is the multicast group VLAN ID. The range is
1 to 1001 and 1006 to 4094.
Device(config)# ip igmp snooping vlan 105 static
230.0.0.1 interface gigabitethernet1/0/1 • ip-address is the group IP address.
• interface-id is the member port. It can be a physical
interface or a port channel (1 to 128).

Note To remove the Layer 2 port from the multicast


group, use the no ip igmp snooping vlan vlan-id
static mac-address interface interface-id global
configuration command.

Step 4 end Returns to privileged EXEC mode.


Example:

Device(config)# end

Step 5 show ip igmp snooping groups Verifies the member port and the IP address.
Example:

Device# show ip igmp snooping groups

Step 6 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Device# copy running-config startup-config

Enabling IGMP Immediate Leave


When you enable IGMP Immediate Leave, the device immediately removes a port when it detects an IGMP
Version 2 leave message on that port. You should use the Immediate-Leave feature only when there is a single
receiver present on every port in the VLAN.

Configuring IGMP
40
Configuring IGMP
Enabling IGMP Immediate Leave

Note Immediate Leave is supported only on IGMP Version 2 hosts. IGMP Version 2 is the default version for the
device.

SUMMARY STEPS
1. enable
2. configure terminal
3. ip igmp snooping vlan vlan-id immediate-leave
4. end
5. show ip igmp snooping vlan vlan-id
6. end

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 ip igmp snooping vlan vlan-id immediate-leave Enables IGMP Immediate Leave on the VLAN interface.
Example: Note To disable IGMP Immediate Leave on a VLAN,
use the no ip igmp snooping vlan vlan-id
Device(config)# ip igmp snooping vlan 21 immediate-leave global configuration command.
immediate-leave

Step 4 end Returns to privileged EXEC mode.


Example:

Device(config)# end

Step 5 show ip igmp snooping vlan vlan-id Verifies that Immediate Leave is enabled on the VLAN
interface.
Example:

Device# show ip igmp snooping vlan 21

Configuring IGMP
41
Configuring IGMP
Configuring the IGMP Leave Timer

Command or Action Purpose


Step 6 end Returns to privileged EXEC mode.
Example:

Device(config)# end

Configuring the IGMP Leave Timer


You can configure the leave time globally or on a per-VLAN basis. Follow these steps to enable the IGMP
configurable-leave timer:

SUMMARY STEPS
1. enable
2. configure terminal
3. ip igmp snooping last-member-query-interval time
4. ip igmp snooping vlan vlan-id last-member-query-interval time
5. end
6. show ip igmp snooping
7. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 ip igmp snooping last-member-query-interval time Configures the IGMP leave timer globally. The range is
100 to 32767 milliseconds.
Example:
The default leave time is 1000 milliseconds.
Device(config)# ip igmp snooping
last-member-query-interval 1000
Note To globally reset the IGMP leave timer to the
default setting, use the no ip igmp snooping
last-member-query-interval global
configuration command.

Step 4 ip igmp snooping vlan vlan-id (Optional) Configures the IGMP leave time on the VLAN
last-member-query-interval time interface. The range is 100 to 32767 milliseconds.

Configuring IGMP
42
Configuring IGMP
Configuring the IGMP Robustness-Variable

Command or Action Purpose


Example: Note Configuring the leave time on a VLAN overrides
the globally configured timer.
Device(config)# ip igmp snooping vlan 210
last-member-query-interval 1000 Note To remove the configured IGMP leave-time
setting from the specified VLAN, use the no ip
igmp snooping vlan vlan-id
last-member-query-interval global
configuration command.

Step 5 end Returns to privileged EXEC mode.


Example:

Device(config)# end

Step 6 show ip igmp snooping (Optional) Displays the configured IGMP leave time.
Example:

Device# show ip igmp snooping

Step 7 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Device# copy running-config startup-config

Configuring the IGMP Robustness-Variable


Use the following procedure to configure the IGMP robustness variable on the device.
The robustness variable is the integer used by IGMP snooping during calculations for IGMP messages. The
robustness variable provides fine tuning to allow for expected packet loss.

SUMMARY STEPS
1. enable
2. configure terminal
3. ip igmp snooping robustness-variable count
4. ip igmp snooping vlan vlan-id robustness-variable count
5. end
6. show ip igmp snooping
7. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.

Configuring IGMP
43
Configuring IGMP
Configuring the IGMP Last Member Query Count

Command or Action Purpose


Example: Enter your password, if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 ip igmp snooping robustness-variable count Configures the IGMP robustness variable. The range is 1
to 3 times.
Example:
The recommended value for the robustness variable is 2.
Device(config)# ip igmp snooping Use this command to change the value of the robustness
robustness-variable 3 variable for IGMP snooping from the default (2) to a
specified value.

Step 4 ip igmp snooping vlan vlan-id robustness-variable count (Optional) Configures the IGMP robustness variable on the
VLAN interface. The range is 1 to 3 times. The
Example:
recommended value for the robustness variable is 2.
Device(config)#ip igmp snooping vlan 100 Note Configuring the robustness variable count on a
robustness-variable 3 VLAN overrides the globally configured value.

Step 5 end Returns to privileged EXEC mode.


Example:

Device(config)# end

Step 6 show ip igmp snooping (Optional) Displays the configured IGMP robustness
variable count.
Example:

Device# show ip igmp snooping

Step 7 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Device# copy running-config startup-config

Configuring the IGMP Last Member Query Count


To configure the number of times the device sends IGMP group-specific or group-source-specific (with IGMP
version 3) query messages in response to receiving a group-specific or group-source-specific leave message,
use this command.

Configuring IGMP
44
Configuring IGMP
Configuring the IGMP Last Member Query Count

SUMMARY STEPS
1. enable
2. configure terminal
3. ip igmp snooping last-member-query-count count
4. ip igmp snooping vlan vlan-id last-member-query-count count
5. end
6. show ip igmp snooping
7. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: Enter your password, if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 ip igmp snooping last-member-query-count count Configures the IGMP last member query count. The range
is 1 to 7 messages. The default is 2 messages.
Example:

Device(config)# ip igmp snooping


last-member-query-count 3

Step 4 ip igmp snooping vlan vlan-id last-member-query-count (Optional) Configures the IGMP last member query count
count on the VLAN interface. The range is 1 to 7 messages.
Example: Note Configuring the last member query count on a
VLAN overrides the globally configured timer.
Device(config)#ip igmp snooping vlan 100
last-member-query-count 3

Step 5 end Returns to privileged EXEC mode.


Example:

Device(config)# end

Step 6 show ip igmp snooping (Optional) Displays the configured IGMP last member
query count.
Example:

Configuring IGMP
45
Configuring IGMP
Configuring TCN-Related Commands

Command or Action Purpose

Device# show ip igmp snooping

Step 7 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Device# copy running-config startup-config

Configuring TCN-Related Commands


Controlling the Multicast Flooding Time After a TCN Event
You can configure the number of general queries by which multicast data traffic is flooded after a topology
change notification (TCN) event. If you set the TCN flood query count to 1 the flooding stops after receiving
1 general query. If you set the count to 7, the flooding continues until 7 general queries are received. Groups
are relearned based on the general queries received during the TCN event.
Some examples of TCN events are when the client location is changed and the receiver is on same port that
was blocked but is now forwarding, and when a port goes down without sending a leave message.
Follow these steps to configure the TCN flood query count:

SUMMARY STEPS
1. enable
2. configure terminal
3. ip igmp snooping tcn flood query count count
4. end
5. show ip igmp snooping
6. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Configuring IGMP
46
Configuring IGMP
Recovering from Flood Mode

Command or Action Purpose


Step 3 ip igmp snooping tcn flood query count count Specifies the number of IGMP general queries for which
the multicast traffic is flooded.
Example:
The range is 1 to 10. The default, the flooding query count
Device(config)# ip igmp snooping tcn flood query is 2.
count 3
Note To return to the default flooding query count,
use the no ip igmp snooping tcn flood query
count global configuration command.

Step 4 end Returns to privileged EXEC mode.


Example:

Device(config)# end

Step 5 show ip igmp snooping Verifies the TCN settings.


Example:

Device# show ip igmp snooping

Step 6 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Device# copy running-config startup-config

Recovering from Flood Mode


When a topology change occurs, the spanning-tree root sends a special IGMP leave message (also known as
global leave) with the group multicast address 0.0.0.0. However, you can enable the device to send the global
leave message whether it is the spanning-tree root or not. When the router receives this special leave, it
immediately sends general queries, which expedite the process of recovering from the flood mode during the
TCN event. Leaves are always sent if the device is the spanning-tree root regardless of this configuration.
Follow these steps to enable sending of leave messages:

SUMMARY STEPS
1. enable
2. configure terminal
3. ip igmp snooping tcn query solicit
4. end
5. show ip igmp snooping
6. copy running-config startup-config

Configuring IGMP
47
Configuring IGMP
Disabling Multicast Flooding During a TCN Event

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 ip igmp snooping tcn query solicit Sends an IGMP leave message (global leave) to speed the
process of recovering from the flood mode caused during
Example:
a TCN event. By default, query solicitation is disabled.
Device(config)# ip igmp snooping tcn query solicit Note To return to the default query solicitation, use
the no ip igmp snooping tcn query solicit
global configuration command.

Step 4 end Returns to privileged EXEC mode.


Example:

Device(config)# end

Step 5 show ip igmp snooping Verifies the TCN settings.


Example:

Device# show ip igmp snooping

Step 6 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Device# copy running-config startup-config

Disabling Multicast Flooding During a TCN Event


When the device receives a TCN, multicast traffic is flooded to all the ports until 2 general queries are received.
If the device has many ports with attached hosts that are subscribed to different multicast groups, this flooding
might exceed the capacity of the link and cause packet loss. Follow these steps to control TCN flooding:

SUMMARY STEPS
1. enable
2. configure terminal

Configuring IGMP
48
Configuring IGMP
Disabling Multicast Flooding During a TCN Event

3. interface interface-id
4. no ip igmp snooping tcn flood
5. end
6. show ip igmp snooping
7. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 interface interface-id Specifies the interface to be configured, and enters interface
configuration mode.
Example:

Device(config)# interface gigabitethernet 1/0/1

Step 4 no ip igmp snooping tcn flood Disables the flooding of multicast traffic during a
spanning-tree TCN event.
Example:
By default, multicast flooding is enabled on an interface.
Device(config-if)# no ip igmp snooping tcn flood
Note To re-enable multicast flooding on an interface,
use the ip igmp snooping tcn flood interface
configuration command.

Step 5 end Returns to privileged EXEC mode.


Example:

Device(config)# end

Step 6 show ip igmp snooping Verifies the TCN settings.


Example:

Device# show ip igmp snooping

Step 7 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Configuring IGMP
49
Configuring IGMP
Configuring the IGMP Snooping Querier

Command or Action Purpose

Device# copy running-config startup-config

Configuring the IGMP Snooping Querier


Follow these steps to enable the IGMP snooping querier feature in a VLAN:

SUMMARY STEPS
1. enable
2. configure terminal
3. ip igmp snooping querier
4. ip igmp snooping querier address ip_address
5. ip igmp snooping querier query-interval interval-count
6. ip igmp snooping querier tcn query [count count | interval interval]
7. ip igmp snooping querier timer expiry timeout
8. ip igmp snooping querier version version
9. end
10. show ip igmp snooping vlan vlan-id
11. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 ip igmp snooping querier Enables the IGMP snooping querier.


Example:

Device(config)# ip igmp snooping querier

Step 4 ip igmp snooping querier address ip_address (Optional) Specifies an IP address for the IGMP snooping
querier. If you do not specify an IP address, the querier
Example:
tries to use the global IP address configured for the IGMP
querier.
Device(config)# ip igmp snooping querier address
172.16.24.1

Configuring IGMP
50
Configuring IGMP
Configuring the IGMP Snooping Querier

Command or Action Purpose


Note The IGMP snooping querier does not generate
an IGMP general query if it cannot find an IP
address on the device.

Step 5 ip igmp snooping querier query-interval interval-count (Optional) Sets the interval between IGMP queriers. The
range is 1 to 18000 seconds.
Example:

Device(config)# ip igmp snooping querier


query-interval 30

Step 6 ip igmp snooping querier tcn query [count count | (Optional) Sets the time between Topology Change
interval interval] Notification (TCN) queries. The count range is 1 to 10.
The interval range is 1 to 255 seconds.
Example:

Device(config)# ip igmp snooping querier tcn query


interval 20

Step 7 ip igmp snooping querier timer expiry timeout (Optional) Sets the length of time until the IGMP querier
expires. The range is 60 to 300 seconds.
Example:

Device(config)# ip igmp snooping querier timer


expiry 180

Step 8 ip igmp snooping querier version version (Optional) Selects the IGMP version number that the
querier feature uses. Select 1 or 2.
Example:

Device(config)# ip igmp snooping querier version


2

Step 9 end Returns to privileged EXEC mode.


Example:

Device(config)# end

Step 10 show ip igmp snooping vlan vlan-id (Optional) Verifies that the IGMP snooping querier is
enabled on the VLAN interface. The VLAN ID range is
Example:
1 to 1001 and 1006 to 4094.
Device# show ip igmp snooping vlan 30

Step 11 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Configuring IGMP
51
Configuring IGMP
Disabling IGMP Report Suppression

Command or Action Purpose

Device# copy running-config startup-config

Disabling IGMP Report Suppression


Follow these steps to disable IGMP report suppression:

SUMMARY STEPS
1. enable
2. configure terminal
3. no ip igmp snooping report-suppression
4. end
5. show ip igmp snooping
6. copy running-config startup-config

DETAILED STEPS

Command or Action Purpose


Step 1 enable Enables privileged EXEC mode.
Example: • Enter your password if prompted.

Device> enable

Step 2 configure terminal Enters global configuration mode.


Example:

Device# configure terminal

Step 3 no ip igmp snooping report-suppression Disables IGMP report suppression. When report suppression
is disabled, all IGMP reports are forwarded to the multicast
Example:
routers.
Device(config)# no ip igmp snooping IGMP report suppression is enabled by default.
report-suppression
When IGMP report supression is enabled, the device
forwards only one IGMP report per multicast router query.
Note To re-enable IGMP report suppression, use the
ip igmp snooping report-suppression global
configuration command.

Step 4 end Returns to privileged EXEC mode.


Example:

Device(config)# end

Configuring IGMP
52
Configuring IGMP
Monitoring IGMP

Command or Action Purpose


Step 5 show ip igmp snooping Verifies that IGMP report suppression is disabled.
Example:

Device# show ip igmp snooping

Step 6 copy running-config startup-config (Optional) Saves your entries in the configuration file.
Example:

Device# copy running-config startup-config

Monitoring IGMP
You can display specific statistics, such as the contents of IP routing tables, caches, and databases.

Note This release does not support per-route statistics.

You can display information to learn resource usage and solve network problems. You can also display
information about node reachability and discover the routing path that packets of your device are taking
through the network.
You can use any of the privileged EXEC commands in the following table to display various routing statistics.

Table 7: Commands for Displaying System and Network Statistics

Command Purpose

show ip igmp groups [type-number | detail ] Displays the multicast groups that are directly
connected to the device and that were learned through
IGMP.

show ip igmp interface [type number] Displays multicast-related information about an


interface.

show ip igmp profile [ profile_number] Displays IGMP profile information.

show ip igmp ssm-mapping [ hostname/IP address Displays IGMP SSM mapping information.
]

show ip igmp static-group {class-map [ interface Displays static group information.


[ type ] ]
show ip igmp vrf Displays the selected VPN routing/forwarding
instance by name.

Configuring IGMP
53
Configuring IGMP
Monitoring IGMP Snooping Information

Monitoring IGMP Snooping Information


You can display IGMP snooping information for dynamically learned and statically configured router ports
and VLAN interfaces. You can also display MAC address multicast entries for a VLAN configured for IGMP
snooping.

Table 8: Commands for Displaying IGMP Snooping Information

Command Purpose

show ip igmp snooping detail Displays the operational state information.

show ip igmp snooping groups [ count | [vlan Displays multicast table information for the device or
vlan-id [A.B.C.D | count ] ] about a specific parameter:
• count—Displays the total number of groups.
• vlan—Displays group information by VLAN
ID.

show ip igmp snooping mrouter [vlan vlan-id] Displays information on dynamically learned and
manually configured multicast router interfaces.
Note When you enable IGMP snooping, the
device automatically learns the interface
to which a multicast router is connected.
These are dynamically learned interfaces.

(Optional) Enter vlan vlan-id to display information


for a single VLAN.

show ip igmp snooping querier [ detail | vlan Displays information about the IP address and
vlan-id] receiving port for the most-recently received IGMP
query messages in the VLAN.
(Optional) Enter detail to display the detailed IGMP
querier information in a VLAN.
(Optional) Enter vlan vlan-id to display information
for a single VLAN.

show ip igmp snooping [vlan vlan-id [ detail ] ] Displays the snooping configuration information for
all VLANs on the device or for a specified VLAN.
(Optional) Enter vlan vlan-id to display information
for a single VLAN. The VLAN ID range is 1 to 1001
and 1006 to 4094.

Monitoring IGMP Filtering and Throttling Configuration


You can display IGMP profile characteristics, and you can display the IGMP profile and maximum group
configuration for all interfaces on the device or for a specified interface. You can also display the IGMP
throttling configuration for all interfaces on the device or for a specified interface.

Configuring IGMP
54
Configuring IGMP
Configuration Examples for IGMP

Table 9: Commands for Displaying IGMP Filtering and Throttling Configuration

Command Purpose

show ip igmp profile [profile number] Displays the specified IGMP profile or all the IGMP
profiles defined on the device.

show running-config [interface interface-id] Displays the configuration of the specified interface
or the configuration of all interfaces on the device,
including (if configured) the maximum number of
IGMP groups to which an interface can belong and
the IGMP profile applied to the interface.

Configuration Examples for IGMP


Example: Configuring the Device as a Member of a Multicast Group
This example shows how to enable the device to join multicast group 255.2.2.2:

Device(config)# interface gigabitethernet1/0/1


Device(config-if)# ip igmp join-group 255.2.2.2
Device(config-if)#

Example: Controlling Access to Multicast Groups


To limit the number of joins on the interface, configure the port for filter which associates with the IGMP
profile.

Device# configure terminal


Device(config)# ip igmp profile 10
Device(config-igmp-profile)# ?

IGMP profile configuration commands:


deny matching addresses are denied
exit Exit from igmp profile configuration mode
no Negate a command or set its defaults
permit matching addresses are permitted
range add a range to the set

Device(config-igmp-profile)# range 172.16.5.1


Device(config-igmp-profile)# exit
Device(config)#
Device(config)# interface gigabitEthernet 2/0/10
Device(config-if)# ip igmp filter 10

Examples: Configuring IGMP Snooping


This example shows how to enable a static connection to a multicast router:

Configuring IGMP
55
Configuring IGMP
Example: Configuring IGMP Profiles

Device# configure terminal


Device(config)# ip igmp snooping vlan 200 mrouter interface gigabitethernet1/0/2
Device(config)# end

This example shows how to statically configure a host on a port:

Device# configure terminal


Device(config)# ip igmp snooping vlan 105 static 224.2.4.12 interface gigabitethernet1/0/1
Device(config)# end

This example shows how to enable IGMP Immediate Leave on VLAN 130:

Device# configure terminal


Device(config)# ip igmp snooping vlan 130 immediate-leave
Device(config)# end

This example shows how to set the IGMP snooping querier source address to 10.0.0.64:

Device# configure terminal


Device(config)# ip igmp snooping querier 10.0.0.64
Device(config)# end

This example shows how to set the IGMP snooping querier maximum response time to 25 seconds:

Device# configure terminal


Device(config)# ip igmp snooping querier query-interval 25
Device(config)# end

This example shows how to set the IGMP snooping querier timeout to 60 seconds:

Device# configure terminal


Device(config)# ip igmp snooping querier timer expiry 60
Device(config)# end

This example shows how to set the IGMP snooping querier feature to Version 2:

Device# configure terminal


Device(config)# no ip igmp snooping querier version 2
Device(config)# end

Example: Configuring IGMP Profiles


This example shows how to create IGMP profile 4 allowing access to the single IP multicast address and how
to verify the configuration. If the action was to deny (the default), it would not appear in the show ip igmp
profile output display.
Device(config)# ip igmp profile 4
Device(config-igmp-profile)# permit
Device(config-igmp-profile)# range 229.9.9.0
Device(config-igmp-profile)# end

Configuring IGMP
56
Configuring IGMP
Example: Applying IGMP Profile

Device# show ip igmp profile 4


IGMP Profile 4
permit
range 229.9.9.0 229.9.9.0

Example: Applying IGMP Profile


This example shows how to apply IGMP profile 4 to a port:
Device(config)# interface gigabitethernet1/0/2
Device(config-if)# ip igmp filter 4
Device(config-if)# end

Example: Setting the Maximum Number of IGMP Groups


This example shows how to limit to 25 the number of IGMP groups that a port can join:
Device(config)# interface gigabitethernet1/0/2
Device(config-if)# ip igmp max-groups 25
Device(config-if)# end

Example: Interface Configuration as a Routed Port


This example shows how to configure an interface on the device as a routed port. This configuration is required
on the interface for several IP multicast routing configuration procedures that require running the no switchport
command.

Device configure terminal


Device(config)# interface GigabitEthernet1/0/9
Device(config-if)# description interface to be use as routed port
Device(config-if)# no switchport
Device(config-if)# ip address 10.20.20.1 255.255.255.0
Device(config-if)# ip pim sparse-mode
Device(config-if)# ip igmp join-group 224.1.2.3 source 15.15.15.2
Device(config-if)# end
Device# configure terminal
Device# show run interface gigabitEthernet 1/0/9

Current configuration : 166 bytes


!
interface GigabitEthernet1/0/9
no switchport
ip address 10.20.20.1 255.255.255.0
ip pim sparse-mode
ip igmp static-group 224.1.2.3 source 15.15.15.2
end

Example: Interface Configuration as an SVI


This example shows how to configure an interface on the device as an SVI. This configuration is required on
the interface for several IP multicast routing configuration procedures that require running the no switchport
command.

Configuring IGMP
57
Configuring IGMP
Example: Configuring the Device to Forward Multicast Traffic in the Absence of Directly Connected IGMP Hosts

Device(config)# interface vlan 150


Device(config-if)# ip address 10.20.20.1 255.255.255.0
Device(config-if)# ip pim sparse-mode
Device(config-if)# ip igmp join-group 224.1.2.3 source 15.15.15.2
Device(config-if)# end
Device# configure terminal
Device(config)# ip igmp snooping vlan 20 static 224.1.2.3
interface gigabitEthernet 1/0/9
Device# show run interface vlan 150

Current configuration : 137 bytes


!
interface Vlan150
ip address 10.20.20.1 255.255.255.0
ip pim sparse-mode
ip igmp static-group 224.1.2.3 source 15.15.15.2
end

Example: Configuring the Device to Forward Multicast Traffic in the Absence


of Directly Connected IGMP Hosts
The following example shows how to configure a device to forward multicast traffic in the absence of directly
connected IGMP hosts using the ip igmp join-group command. With this method, the device accepts the
multicast packets in addition to forwarding them. Accepting the multicast packets prevents the device from
fast switching.
In this example, Fast Ethernet interface 0/0/0 on the device is configured to join the group 225.2.2.2:

interface FastEthernet0/0/0
ip igmp join-group 225.2.2.2

The following example shows how to configure a device to forward multicast traffic in the absence of directly
connected IGMP hosts using the ip igmp static-group command. With this method, the device does not
accept the packets itself, but only forwards them. Hence, this method allows fast switching. The outgoing
interface appears in the IGMP cache, but the device itself is not a member, as evidenced by lack of an “L”
(local) flag in the multicast route entry.
In this example, static group membership entries for group 225.2.2.2 are configured on Fast Ethernet interface
0/1/0:

interface FastEthernet0/1/0
ip igmp static-group 225.2.2.2

Controlling Access to an SSM Network Using IGMP Extended Access Lists


This section contains the following configuration examples for controlling access to an SSM network using
IGMP extended access lists:

Configuring IGMP
58
Configuring IGMP
Example: Denying All States for a Group G

Note Keep in mind that access lists are very flexible: there are many combinations of permit and deny statements
one could use in an access list to filter multicast traffic. The examples in this section simply provide a few
examples of how it can be done.

Example: Denying All States for a Group G


The following example shows how to deny all states for a group G. In this example, Fast Ethernet interface
0/0/0 is configured to filter all sources for SSM group 232.2.2.2 in IGMPv3 reports, which effectively denies
this group.

ip access-list extended test1


deny igmp any host 232.2.2.2
permit igmp any any
!
interface FastEthernet0/0/0
ip igmp access-group test1

Example: Denying All States for a Source S


The following example shows how to deny all states for a source S. In this example, Gigabit Ethernet interface
1/1/0 is configured to filter all groups for source 10.2.1.32 in IGMPv3 reports, which effectively denies this
source.

ip access-list extended test2


deny igmp host 10.2.1.32 any
permit igmp any any
!
interface GigabitEthernet1/1/0
ip igmp access-group test2

Example: Permitting All States for a Group G


The following example shows how to permit all states for a group G. In this example, Gigabit Ethernet interface
1/2/0 is configured to accept all sources for SSM group 232.1.1.10 in IGMPv3 reports, which effectively
accepts this group altogether.

ip access-list extended test3


permit igmp any host 232.1.1.10
!
interface GigabitEthernet1/2/0
ip igmp access-group test3

Example: Permitting All States for a Source S


The following example shows how to permit all states for a source S. In this example, Gigabit Ethernet
interface 1/2 is configured to accept all groups for source 10.6.23.32 in IGMPv3 reports, which effectively
accepts this source altogether.

ip access-list extended test4


permit igmp host 10.6.23.32 any
!

Configuring IGMP
59
Configuring IGMP
Example: Filtering a Source S for a Group G

interface GigabitEthernet1/2/0
ip igmp access-group test4

Example: Filtering a Source S for a Group G


The following example shows how to filter a particular source S for a group G. In this example, Gigabit
Ethernet interface 0/3/0 is configured to filter source 232.2.2.2 for SSM group 232.2.30.30 in IGMPv3 reports.

ip access-list extended test5


deny igmp host 10.4.4.4 host 232.2.30.30
permit igmp any any
!
interface GigabitEthernet0/3/0
ip igmp access-group test5

Additional References for IGMP


Related Documents

Related Topic Document Title


For complete syntax and usage information for See the IP Multicast Routing Commands section of the
the commands used in this chapter. Command Reference (Catalyst 9200 Series Switches)

Cisco IOS commands Cisco IOS Master Commands List, All Releases

Standards and RFCs

Standard/RFC Title
RFC 1112 Host Extensions for IP Multicasting

RFC 2236 Internet Group Management Protocol, Version 2

RFC 3376 Internet Group Management Protocol, Version 3

MIBs

MIB MIBs Link


All the supported MIBs for this To locate and download MIBs for selected platforms, Cisco IOS releases,
release. and feature sets, use Cisco MIB Locator found at the following URL:
http://www.cisco.com/go/mibs

Configuring IGMP
60
Configuring IGMP
Feature Information for IGMP

Technical Assistance

Description Link
The Cisco Support website provides extensive online resources, including http://www.cisco.com/support
documentation and tools for troubleshooting and resolving technical issues
with Cisco products and technologies.
To receive security and technical information about your products, you can
subscribe to various services, such as the Product Alert Tool (accessed from
Field Notices), the Cisco Technical Services Newsletter, and Really Simple
Syndication (RSS) Feeds.
Access to most tools on the Cisco Support website requires a Cisco.com user
ID and password.

Feature Information for IGMP


The following table provides release information about the feature or features described in this module. This
table lists only the software release that introduced support for a given feature in a given software release
train. Unless noted otherwise, subsequent releases of that software release train also support that feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support.
To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.

Table 10: Feature Information for IGMP

Feature Name Releases Feature Information

IGMP Cisco IOS XE Fuji 16.9.1 IGMP is used to dynamically register individual hosts
in a multicast group on a particular LAN. Enabling
PIM on an interface also enables IGMP. IGMP
provides a means to automatically control and limit
the flow of multicast traffic throughout your network
with the use of special multicast queriers and hosts.
This feature was implemented on the following
platforms:
• Cisco Catalyst 9200 Series Switches

Configuring IGMP
61
Configuring IGMP
Feature Information for IGMP

Configuring IGMP
62

You might also like