Table Of Contents
Understanding and Configuring IGMP Snooping
IGMP Snooping Overview
Fast-Leave Processing
IGMP Snooping Configuration Guidelines and Restrictions
Default IGMP Snooping Configuration
Configuring IGMP Snooping
Enabling IGMP Snooping
Configuring Learning
Configuring IGMP Learning
Configuring CGMP Learning
Configuring a Multicast Router Port Statically
Enabling IGMP Fast-Leave Processing
Configuring a Host Statically
Displaying IGMP Snooping Information
Displaying Multicast Router Interfaces
Displaying MAC Address Multicast Entries
Displaying IGMP Snooping Information for a VLAN Interface
Understanding and Configuring IGMP Snooping
This chapter describes how to configure Internet Group Management Protocol (IGMP) snooping on the Catalyst 4006 switch with Supervisor Engine III. It also provides guidelines, procedures, and configuration examples.
This chapter consists of the following sections:
•
IGMP Snooping Overview
•
Default IGMP Snooping Configuration
•
IGMP Snooping Configuration Guidelines and Restrictions
•
Configuring IGMP Snooping
Note
To support Cisco Group Management Protocol (CGMP) client devices, configure the switch as a CGMP server. For more information, refer to the Cisco IOS IP and IP Routing Configuration Guide, Release 12.1, "IP Multicast," "Configuring IP Multicast Routing," at the following URL:
http://www.cisco.com/univercd/cc/td/doc/product/software/ios121/121cgcr/ip_c/ipcprt3/1cdmulti.htm
Note
For complete syntax and usage information for the commands used in this chapter, refer to the Command Reference for the Catalyst 4006 Switch with Supervisor Engine III and the publications at
http://www.cisco.com/univercd/cc/td/doc/product/software/ios121/121cgcr/index.htm
IGMP Snooping Overview
In subnets where you have configured IGMP, IGMP snooping manages multicast traffic at Layer 2 by configuring interfaces that have been set up using the switchport keyword to dynamically forward multicast traffic only to those interfaces that want to receive it.
IGMP snooping constrains traffic in MAC multicast groups 01-00-5e-00-00-01 to 01-00-5e-ff-ff-ff. IGMP snooping does not constrain Layer 2 multicast packets generated by routing protocols.
Note
For more information on IP multicast and IGMP, refer to RFC 1112 and RFC 2236.
IGMP (on a router) sends out periodic general IGMP queries. When you enable IGMP snooping, the switch responds at Layer 2 to the IGMP queries with only one IGMP join request per Layer 2 multicast group. The switch creates one entry per subnet in the Layer 2 forwarding table for each Layer 2 multicast group from which it receives an IGMP join request. All hosts interested in this multicast traffic send IGMP join requests and are added to the forwarding table entry.
Layer 2 multicast groups learned through IGMP snooping are dynamic. However, you can statically configure Layer 2 multicast groups using the ip igmp snooping static command. If you specify group membership for a multicast group address statically, your static setting supersedes any automatic manipulation by IGMP snooping. Multicast group membership lists can consist of both user-defined and IGMP snooping-learned settings.
Groups with IP addresses in the 224.0.0.* range are reserved for routing control packets and are flooded to all forwarding ports of the VLAN. These addresses map to the multicast MAC address range 01-00-5E-00-00-xx, where xx is in the range 0-0xFF.
Note
If a spanning-tree topology change occurs in a VLAN, then IP multicast traffic floods in all ports in the VLAN where PortFast is not enabled for three general query intervals.
When a host connected to a Layer 2 interface wants to join an IP multicast group, it sends an IGMP join request specifying the IP multicast group it wants to join. When hosts want to leave a multicast group, they can either ignore the periodic general IGMP queries, or they can send an IGMP leave message. When the switch receives an IGMP leave message from a host, it sends out a group-specific IGMP query to determine if any devices connected to that interface are interested in traffic for the specific multicast group. The switch then updates the table entry for that Layer 2 multicast group so that only those hosts interested in receiving multicast traffic for the group are listed.
Fast-Leave Processing
IGMP snooping fast-leave processing allows the switch to remove an interface from the forwarding-table entry without first sending out 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. Fast-leave processing ensures optimal bandwidth management for all hosts on a switched network, even when multiple multicast groups are in use simultaneously.
When a switch with IGMP snooping enabled receives an IP group-specific IGMPv2 leave message, it sends a group-specific query out the interface where the leave message was received to determine if there are any other hosts attached to that interface that are interested in the MAC multicast group. If the switch does not receive an IGMP join message within the query-response-interval and none of the other 31 IP groups corresponding to the MAC group are interested in the multicast traffic for that MAC group and no multicast routers have been learned on the interface, then the interface is removed from the port list of the (mac-group, vlan) entry in the L2 forwarding table. With fast-leave enabled on the VLAN, an interface can be removed immediately from the port list of the L2 entry when the IGMP leave message is received, unless a multicast router was learned on the port.

Note
Use fast-leave processing only on VLANs where only one host is connected to each interface. If fast-leave is enabled in VLANs where more than one host is connected to an interface, some hosts might be dropped inadvertently. Immediate-leave processing is supported only with IGMP version 2 hosts.
IGMP Snooping Configuration Guidelines and Restrictions
Follow these guidelines and restrictions when configuring the IGMP:
•
Configure the VLAN in the VLAN database (see "Understanding and Configuring VLANs").
•
QoS does not apply IGMP packets when IGMP snooping is enabled.
Default IGMP Snooping Configuration
Table 17-1 shows the default IGMP snooping configuration.
Table 17-1 IGMP Snooping Default Configuration
Feature
|
Default Values
|
IGMP snooping
|
Enabled
|
Multicast routers
|
None configured
|
IGMP snooping learning method
|
PIM/DVMRP1
|
Configuring IGMP Snooping
Note
To use IGMP snooping, configure a Layer 3 interface in the subnet for multicast routing (see "Understanding and Configuring IP Multicast").
IGMP snooping allows switches to examine IGMP packets and make forwarding decisions based on their content.
These sections describe how to configure IGMP snooping:
•
Enabling IGMP Snooping
•
Configuring Learning
•
Configuring a Multicast Router Port Statically
•
Enabling IGMP Fast-Leave Processing
•
Configuring a Host Statically
•
Displaying IGMP Snooping Information
Enabling IGMP Snooping
To enable IGMP snooping globally, perform this task:
| |
Task
|
Command
|
Step 1
|
Enable IGMP snooping.
Use the no keyword to disable IGMP snooping.
|
Switch(config)# [no] ip igmp snooping
|
Step 2
|
Exit configuration mode.
|
|
Step 3
|
Verify the configuration.
|
Switch# show ip igmp snooping | include globally
|
This example shows how to enable IGMP snooping globally and verify the configuration:
Switch(config)# ip igmp snooping
Switch# show ip igmp snooping | include globally
IGMP snooping is globally enabled
To enable IGMP snooping in a VLAN, perform this task:
| |
Task
|
Command
|
Step 1
|
Enable IGMP snooping.
Use the no keyword to disable IGMP snooping.
|
Switch(config)# [no] ip igmp snooping vlan vlan_ID
|
Step 2
|
Exit configuration mode.
|
|
Step 3
|
Verify the configuration.
|
Switch# show ip igmp snooping vlan vlan_ID
|
This example shows how to enable IGMP snooping on VLAN 200 and verify the configuration:
Switch# configure terminal
Switch(config)# ip igmp snooping vlan 200
Switch# show ip igmp snooping vlan 200
IGMP snooping is globally enabled
IGMP snooping is enabled on this VLAN
IGMP snooping intermediate-leave is disabled on this VLAN
IGMP snooping mrouter learn mode is pim-dvmrp on this VLAN
IGMP snooping is running in IGMP_ONLY mode on thei VLAN
Configuring Learning
The following sections describe IGMP snooping learning methods:
•
Configuring IGMP Learning
•
Configuring CGMP Learning
Configuring IGMP Learning
To configure IGMP snooping to learn from PIM/DVMRP packets, enter the following command:
Command
|
Purpose
|
Switch(config)# ip igmp snooping vlan
vlan_ID mrouter learn [cgmp | pim-dvmrp]
|
Specifies the learning method for the VLAN.
|
This example shows how to configure IP IGMP snooping to learn from PIM/DVMRP packets:
Switch(config)# ip igmp snooping vlan 1 mrouter learn pim-dvmrp
Configuring CGMP Learning
To configure IGMP snooping to learn from CGMP self-join packets, enter the following command:
Command
|
Purpose
|
Switch(config)# ip igmp snooping vlan
vlan_ID mrouter learn [cgmp | pim-dvmrp]
|
Specifies the learning method for the VLAN.
|
This example shows how to configure IP IGMP snooping to use CGMP self-join packets as the learning method:
Switch(config)# ip igmp snooping vlan 1 mrouter learn cgmp
Configuring a Multicast Router Port Statically
To configure a static connection to a multicast router, enter the ip igmp snooping mrouter command on the switch instead of the ip cgmp router-only command.
To configure a static connection to a multicast router, perform this task:
| |
Task
|
Command
|
Step 1
|
Specify the a static connection to a multicast router for theVLAN.
Note The interface to the router must be in the VLAN where you are entering the command and it must be administratively up and the line protocol must be up.
|
Switch(config)# ip igmp snooping vlan vlan_ID
mrouter interface interface_num
|
Step 2
|
Exit configuration mode.
|
|
Step 3
|
Verify the configuration.
|
Switch# show ip igmp snooping mrouter vlan vlan_ID
|
This example shows how to configure a static connection to a multicast router:
Switch(config)# ip igmp snooping vlan 200 mrouter interface fastethernet 5/10
Switch# show ip igmp snooping mrouter vlan 200
-----+----------------------------------------
Enabling IGMP Fast-Leave Processing
When you enable IGMP fast-leave processing in a VLAN, the switch immediately removes an interface from the multicast group when it detects an IGMP version 2 leave message on that interface.
To enable IGMP fast-leave processing on an interface, enter the following command:
Command
|
Purpose
|
Switch(config)# ip igmp snooping vlan
vlan_ID immediate-leave
|
Enables IGMP fast-leave processing in the VLAN.
|
This example shows how to enable IGMP fast-leave processing on interface VLAN 200 and verify the configuration:
Switch(config)# ip igmp snooping vlan 200 immediate-leave
Configuring immediate leave on vlan 200
Switch# show ip igmp interface vlan 200 | include immediate-leave
IGMP snooping fast-leave is enabled on this vlan
Configuring a Host Statically
Hosts normally join multicast groups dynamically, but you can also configure a host statically on an interface.
To configure a host statically on an interface, enter the following command:
Command
|
Purpose
|
Switch(config-if)# ip igmp snooping vlan
vlan_ID static mac_address interface
interface_num
|
Configures a host statically in the VLAN.
|
This example shows how to configure a host statically in VLAN 200 on interface FastEthernet 5/11:
Switch(config)# ip igmp snooping vlan 200 static 0100.5e02.0203 interface fastethernet
5/11
Configuring port FastEthernet5/11 on group 0100.5e02.0203 vlan 200
Displaying IGMP Snooping Information
The following sections describe displaying IGMP snooping information:
•
Displaying Multicast Router Interfaces
•
Displaying MAC Address Multicast Entries
•
Displaying IGMP Snooping Information for a VLAN Interface
Displaying Multicast Router Interfaces
When you enable IGMP snooping, the switch automatically learns to which interface multicast routers are connected.
To display multicast router interfaces, enter the following command:
Command
|
Purpose
|
Switch# show ip igmp snooping mrouter vlan
vlan_ID
|
Displays multicast router interfaces.
|
This example shows how to display the multicast router interfaces in VLAN 1:
Switch# show ip igmp snooping mrouter vlan 1
-----+----------------------------------------
1 Gi1/1,Gi2/1,Fa3/48,Router
Displaying MAC Address Multicast Entries
To display MAC address multicast entries for a VLAN, enter the following command:
Command
|
Purpose
|
Switch# show mac-address-table multicast
vlan vlan_ID [count]
|
Displays MAC address multicast entries for a VLAN.
|
This example shows how to display MAC address multicast entries for VLAN 1:
Switch# show mac-address-table multicast vlan 1
vlan mac address type ports
-------+---------------+-------+-------------------------------------------
1 0100.5e01.0101 igmp Switch,Gi6/1
1 0100.5e01.0102 igmp Switch,Gi6/1
1 0100.5e01.0103 igmp Switch,Gi6/1
1 0100.5e01.0104 igmp Switch,Gi6/1
1 0100.5e01.0105 igmp Switch,Gi6/1
1 0100.5e01.0106 igmp Switch,Gi6/1
This example shows how to display a total count of MAC address entries for a VLAN:
Switch# show mac-address-table multicast vlan 1 count
Multicast MAC Entries for vlan 1: 4
Displaying IGMP Snooping Information for a VLAN Interface
To display IGMP snooping information for a VLAN interface, enter the following command:
Command
|
Purpose
|
Switch# show ip igmp interface vlan vlan_ID
|
Displays IGMP snooping information on a VLAN interface.
|
This example shows how to display IGMP snooping information on interface VLAN 200:
Switch# show ip igmp interface vlan 200
IGMP snooping is globally enabled
IGMP snooping is enabled on this Vlan
IGMP snooping immediate-leave is disabled on this Vlan
IGMP snooping mrouter learn mode is pim-dvmrp on this Vlan
IGMP snooping is running in IGMP-ONLY mode on this VLAN