- Preface
- Product Overview
- Command-Line Interfaces
- Configuring the Switch for the First Time
- Administering the Switch
- Configuring Virtual Switching Systems
- Programmability
- Configuring the Cisco IOS In-Service Software Upgrade Process
- Configuring the Cisco IOS XE In Service Software Upgrade Process
- Configuring Interfaces
- Checking Port Status and Connectivity
- Configuring Supervisor Engine Redundancy Using RPR and SSO on Supervisor Engine 6-E and Supervisor Engine 6L-E
- Configuring Supervisor Engine Redundancy Using RPR and SSO on Supervisor Engine 7-E, Supervisor Engine 7L-E, and Supervisor Engine 8-E
- Configuring Cisco NSF with SSO Supervisor Engine Redundancy
- Environmental Monitoring and Power Management
- Configuring Power over Ethernet
- Configuring Cisco Network Assistant
- Configuring VLANs, VTP, and VMPS
- Configuring IP Unnumbered Interface
- Configuring Layer 2 Ethernet Interfaces
- Configuring EVC-Lite
- Configuring SmartPort Macros
- Configuring Cisco IOS Auto Smartport Macros
- Configuring STP and MST
- Configuring Flex Links and MAC Address-Table Move Update
- Configuring Resilient Ethernet Protocol
- Configuring Optional STP Features
- Configuring EtherChannel and Link State Tracking
- Configuring IGMP Snooping and Filtering, and MVR
- Configuring IPv6 Multicast Listener Discovery Snooping
- Configuring 802.1Q Tunneling, VLAN Mapping, and Layer 2 Protocol Tunneling
- Configuring Cisco Discovery Protocol
- Configuring LLDP, LLDP-MED, and Location Service
- Configuring UDLD
- Configuring Unidirectional Ethernet
- Configuring Layer 3 Interfaces
- Configuring Cisco Express Forwarding
- Configuring Unicast Reverse Path Forwarding
- Configuring IP Multicast
- Configuring ANCP Client
- Configuring Bidirectional Forwarding Detection
- Configuring Campus Fabric
- Configuring Policy-Based Routing
- Configuring VRF-lite
- Configuring Quality of Service
- Configuring AVC with DNS-AS
- Configuring Voice Interfaces
- Configuring Private VLANs
- Configuring MACsec Encryption
- Configuring 802.1X Port-Based Authentication
- X.509v3 Certificates for SSH Authentication
- Configuring the PPPoE Intermediate Agent
- Configuring Web-Based Authentication
- Configuring Wired Guest Access
- Configuring Auto Identity
- Configuring Port Security
- Configuring Auto Security
- Configuring Control Plane Policing and Layer 2 Control Packet QoS
- Configuring Dynamic ARP Inspection
- Configuring the Cisco IOS DHCP Server
- Configuring DHCP Snooping, IP Source Guard, and IPSG for Static Hosts
- DHCPv6 Options Support
- Configuring Network Security with ACLs
- Support for IPv6
- Port Unicast and Multicast Flood Blocking
- Configuring Storm Control
- Configuring SPAN and RSPAN
- Configuring ERSPAN
- Configuring Wireshark
- Configuring Enhanced Object Tracking
- Configuring System Message Logging
- Onboard Failure Logging (OBFL)
- Configuring SNMP
- Configuring NetFlow-lite
- Configuring Flexible NetFlow
- Configuring Ethernet OAM and CFM
- Configuring Y.1731 (AIS and RDI)
- Configuring Call Home
- Configuring Cisco IOS IP SLA Operations
- Configuring RMON
- Performing Diagnostics
- Configuring WCCP Version 2 Services
- Configuring MIB Support
- Configuring Easy Virtual Networks
- ROM Monitor
- Acronyms and Abbreviations
- Index
- About IGMP Snooping
- Configuring IGMP Snooping
- Default IGMP Snooping Configuration
- Enabling IGMP Snooping Globally
- Enabling IGMP Snooping on a VLAN
- Configuring Learning Methods
- Configuring a Static Connection to a Multicast Router
- Enabling IGMP Immediate-Leave Processing
- Configuring the IGMP Leave Timer
- Configuring IGMP Snooping Querier
- Configuring Explicit Host Tracking
- Configuring a Host Statically
- Suppressing Multicast Flooding
Configuring IGMP Snooping and Filtering,
and MVR
This chapter describes how to configure Internet Group Management Protocol (IGMP) snooping on the switch, including an application of local IGMP snooping, Multicast VLAN Registration (MVR). It also includes procedures for controlling multicast group membership by using IGMP filtering.
This chapter consists of the following major sections:
- About IGMP Snooping
- Configuring IGMP Snooping
- Displaying IGMP Snooping Information
- Understanding Multicast VLAN Registration
- Configuring MVR
- Displaying MVR Information
- Configuring IGMP Filtering
- Displaying IGMP Filtering Configuration
Note To support Cisco Group Management Protocol (CGMP) client devices, configure the switch as a CGMP server. For more information, see the Cisco IOS 15.0M configuration guides at this location:
http://www.cisco.com/en/US/products/ps10591/products_installation_and_configuration_guides_list.html
For complete syntax and usage information for the switch commands used in this chapter, see the
Cisco IOS Command Reference Guides for the Catalyst 4500 Series Switch.
If a command is not in the Cisco Catalyst 4500 Series Switch Command Reference , you can locate it in the Cisco IOS Master Command List, All Releases.
About IGMP Snooping
This section includes the following subsections:
- Immediate-Leave Processing
- IGMP Configurable-Leave Timer
- IGMP Snooping Querier
- Explicit Host Tracking
Note Quality of service does not apply to IGMP packets.
IGMP snooping allows a switch to snoop or capture information from IGMP packets transmitted between hosts and a router. Based on this information, a switch adds or deletes multicast addresses from its address table, which enables (or disables) multicast traffic from flowing to individual host ports. IGMP snooping supports all versions of IGMP: IGMPv1, IGMPv2, and IGMPv3.
In contrast to IGMPv1 and IGMPv2, IGMPv3 snooping provides immediate-leave processing by default. It provides explicit host tracking (EHT) and allows network administrators to deploy SSM functionality on Layer 2 devices that support IGMPv3. See the “Explicit Host Tracking” section. In subnets where IGMP is configured, IGMP snooping manages multicast traffic at Layer 2. You can configure interfaces to dynamically forward multicast traffic only to those interfaces that are interested in receiving it by using the switchport keyword.
IGMP snooping restricts traffic in MAC multicast groups 0100.5e00.0001 to 01-00-5e-ff-ff-ff. IGMP snooping does not restrict Layer 2 multicast packets generated by routing protocols.
Note For more information on IP multicast and IGMP, refer to RFC 1112, RFC 2236, RFC 3376 (for IGMPv3).
IGMP (configured on a router) periodically sends out IGMP general queries. A host responds to these queries with IGMP membership reports for groups that it is interested in. When IGMP snooping is enabled, the switch creates one entry per-VLAN 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 membership reports 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 statically, your setting supersedes any automatic manipulation by IGMP snooping. Multicast group membership lists can contain both user-defined and IGMP snooping settings.
Groups with IP addresses in the range 224.0.0.0 to 224.0.0.255, which map to the multicast MAC address range 0100.5E00.0001 to 0100.5E00.00FF, are reserved for routing control packets. These groups are flooded to all forwarding ports of the VLAN with the exception of 224.0.0.22, which is used for IGMPv3 membership reports.
Note If a VLAN experiences a spanning-tree topology change, IP multicast traffic floods on all VLAN ports where PortFast is not enabled, as well as on ports with the no igmp snooping tcn flood command configured for a period of TCN query count.
For a Layer 2 IGMPv2 host interface to join an IP multicast group, a host sends an IGMP membership report for the IP multicast group. For a host to leave a multicast group, it can either ignore the periodic IGMP general queries or it can send an IGMP leave message. When the switch receives an IGMP leave message from a host, it sends out an IGMP group-specific query to determine whether 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.
In contrast, IGMPv3 hosts send IGMPv3 membership reports (with the allow group record mode) to join a specific multicast group. When IGMPv3 hosts send membership reports (with the block group record) to reject traffic from all sources in the previous source list, the last host on the port is removed by immediate-leave if EHT is enabled.
Immediate-Leave Processing
IGMP snooping immediate-leave processing allows the switch to remove an interface from the forwarding-table entry without first sending out IGMP group-specific queries to the interface. The VLAN interface is pruned from the multicast tree for the multicast group specified in the original IGMP leave message. Immediate-leave processing ensures optimal bandwidth management for all hosts on a switched network, even when multiple multicast groups are being used simultaneously.
When a switch with IGMP snooping enabled receives an IGMPv2 or IGMPv3 leave message, it sends an IGMP group-specific query from the interface where the leave message was received to determine when other hosts are attached to that interface that are interested in joining the MAC multicast group. If the switch does not receive an IGMP join message within the query response interval, the interface is removed from the port list of the (MAC-group, VLAN) entry in the Layer 2 forwarding table.
Note By default all IGMP joins are forwarded to all multicast router ports.
With immediate-leave processing enabled on the VLAN, an interface can be removed immediately from the port list of the Layer 2 entry when the IGMP leave message is received, unless a multicast router was learned on the port.
Note When using IGMPv2 snooping, use immediate-leave processing only on VLANs where just one host is connected to each interface. If immediate-leave processing is enabled on VLANs where multiple hosts are connected to an interface, some hosts might be dropped inadvertently. When using IGMPv3, immediate-leave processing is enabled by default, and due to explicit host tracking, the switch can detect when a port has single or multiple hosts maintained by the switch for IGMPv3 hosts. As a result, the switch can perform immediate-leave processing when it detects a single host behind a given port.
Note IGMPv3 is interoperable with older versions of IGMP.
To display the IGMP version on a particular VLAN, use the show ip igmp snooping querier vlan command.
To display whether the switch supports IGMPv3 snooping, use the show ip igmp snooping vlan command.
To enable immediate-leave for IGMPv2, use the ip igmp snooping immediate-leave command.
Note Immediate-leave processing is enabled by default for IGMPv3.
IGMP Configurable-Leave Timer
Immediate-leave processing cannot be used on VLANs where multiple hosts may be connected to a single interface. To reduce leave latency in such a scenario, IGMPv3 provides a configurable leave timer.
In Cisco IOS Release 12.2(25)SG and earlier, the IGMP snooping leave time was based on query response time. If membership reports were not received by the switch before the query response time of the query expired, a port was removed from the multicast group membership.
In Cisco IOS Release 12.2(31)SG and later, you can configure the length of time that the switch 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 5000 milliseconds. The timer can be set either globally or per-VLAN. The VLAN configuration of the leave time overrides the global configuration.
For configuration steps, see the “Configuring the IGMP Leave Timer” section.
IGMP Snooping Querier
IGMP Snooping Querier support was introduced in Cisco IOS Release 12.2(50)SG. This is a Layer 2 feature required to support IGMP snooping in a VLAN where PIM and IGMP are not configured because the multicast traffic does not require routing.
In a network where IP multicast routing is configured, the IP multicast router acts as the IGMP querier by sending general queries. If the IP-multicast traffic in a VLAN only needs to be Layer 2-switched, an IP-multicast router is not required. Without an IP-multicast router on the VLAN, you must configure another switch as the IGMP querier so that it can send queries.
When enabled, the IGMP snooping querier sends out periodic IGMPv2 queries that trigger IGMP report messages from the switch that requests IP multicast traffic. IGMP snooping listens to these IGMP reports to establish appropriate forwarding.
On switches that use IGMP to report interest in IP multicast traffic, configure at least one switch as the IGMP snooping querier in each supported VLAN.
You can configure a switch to generate IGMP queries on a VLAN regardless of whether IP multicast routing is enabled.
Explicit Host Tracking
Explicit host tracking (EHT) monitors group membership by tracking hosts that are sending IGMPv3 membership reports. This tracking enables a switch to detect host information associated with the groups of each port. EHT also enables the user to track the membership and various statistics.
EHT enables a switch to track membership on a per-port basis. Consequently, a switch is aware of the hosts residing on each port and can perform immediate-leave processing when there is only one host behind a port.
To determine whether EHT is enabled on a VLAN, use the show ip igmp snoop vlan command.
Configuring IGMP Snooping
Note When configuring IGMP, configure the VLAN in the VLAN database mode. See Chapter17, “Configuring VLANs, VTP, and VMPS”
IGMP snooping allows switches to examine IGMP packets and make forwarding decisions based on their content.
These sections describe how to configure IGMP snooping:
- Default IGMP Snooping Configuration
- Enabling IGMP Snooping Globally
- Enabling IGMP Snooping on a VLAN
- Configuring Learning Methods
- Configuring a Static Connection to a Multicast Router
- Enabling IGMP Immediate-Leave Processing
- Configuring the IGMP Leave Timer
- Configuring IGMP Snooping Querier
- Configuring Explicit Host Tracking
- Configuring a Host Statically
- Suppressing Multicast Flooding
Default IGMP Snooping Configuration
Table 28-1 shows the IGMP snooping default configuration values.
|
|
---|---|
PIM/DVMRP1 |
1.PIM/DVMRP = Protocol Independent Multicast/Distance Vector Multicast Routing Protocol |
Enabling IGMP Snooping Globally
To enable IGMP snooping globally, perform this task:
|
|
|
---|---|---|
|
||
This example shows how to enable IGMP snooping globally and verify the configuration:
Enabling IGMP Snooping on a VLAN
To enable IGMP snooping on a VLAN, perform this task:
|
|
|
---|---|---|
This example shows how to enable IGMP snooping on VLAN 2 and verify the configuration:
Configuring Learning Methods
The following sections describe IGMP snooping learning methods:
Configuring PIM/DVMRP Learning
To configure IGMP snooping to learn from PIM/DVMRP packets, perform this task:
|
|
---|---|
Switch(config)# ip igmp snooping vlan vlan_ID mrouter learn [ cgmp | pim-dvmrp ] |
This example shows how to configure IP IGMP snooping to learn from PIM/DVMRP packets:
Configuring CGMP Learning
To configure IGMP snooping to learn from CGMP self-join packets, perform this task:
|
|
---|---|
Switch(config)# ip igmp snooping vlan vlan_ID mrouter learn [ cgmp | pim-dvmrp ] |
This example shows how to configure IP IGMP snooping to learn from CGMP self-join packets:
Configuring a Static Connection to a Multicast Router
To configure a static connection to a multicast router, enter the ip igmp snooping vlan mrouter interface command on the switch.
To configure a static connection to a multicast router, perform this task:
This example shows how to configure a static connection to a multicast router:
Enabling IGMP Immediate-Leave Processing
When you enable IGMP immediate-leave processing on a VLAN, a switch removes an interface from the multicast group when it detects an IGMPv2 leave message on that interface.
Note For IGMPv3, immediate-leave processing is enabled by default with EHT.
To enable immediate-leave processing on an IGMPv2 interface, perform this task:
|
|
---|---|
Switch(config)# ip igmp snooping vlan vlan_ID immediate-leave |
This example shows how to enable IGMP immediate-leave processing on interface VLAN 200 and to verify the configuration:
Configuring the IGMP Leave Timer
Follows these guidelines when configuring the IGMP leave timer:
- You can configure the leave time globally or per-VLAN.
- Configuring the leave time on a VLAN overrides the global setting.
- The default leave time is 1000 milliseconds.
- The IGMP configurable leave time is only supported on hosts running IGMP Version 2.
- 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.
To enable the IGMP configurable-leave timer, perform this task:
This example shows how to enable the IGMP configurable-leave timer and to verify the configuration:
-----------------------------------
Configuring IGMP Snooping Querier
The IGMP Snooping Querier feature can be enabled either globally or per-VLAN.
Note The IGMP snooping querier is disabled by default.
To configure IGMP Snooping Querier, perform this task:
For an example of how to display Snooping Querier information, refer to the “Displaying IGMP Snooping Querier Information” section.
Configuring Explicit Host Tracking
For IGMPv3, EHT is enabled by default and can be disabled on a per-VLAN basis.
To disable EHT processing on a VLAN, perform this task:
|
|
---|---|
Switch(config)# [no] ip igmp snooping vlan vlan_ID explicit-tracking |
This example shows how to disable IGMP EHT on VLAN 200 and to verify the configuration:
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, perform this task:
This example shows how to configure a host statically in VLAN 200 on interface Fast Ethernet 2/11:
Suppressing Multicast Flooding
An IGMP snooping-enabled switch floods multicast traffic to all ports in a VLAN when a spanning-tree topology change notification (TCN) is received. Multicast flooding suppression enables a switch to stop sending such traffic. To support flooding suppression, the following interface and global commands were introduced in Cisco IOS Release 12.1(11b)EW:
- [no | default] ip igmp snooping tcn flood (interface command)
- [no | default] ip igmp snooping tcn flood query count [1 - 10] (global command)
- [no | default] ip igmp snooping tcn query solicit (global command)
Prior to Cisco IOS Release 12.1(11b)EW, when a spanning tree topology change notification (TCN) was received by a switch, the multicast traffic was flooded to all the ports in a VLAN for a period of three IGMP query intervals. This was necessary for redundant configurations. In Cisco IOS Release 12.1(11b)EW, the default time period the switch waits before multicast flooding stops was changed to two IGMP query intervals.
This flooding behavior is undesirable if the switch that does the flooding has many ports that are subscribed to different groups. The traffic could exceed the capacity of the link between the switch and the end host, resulting in packet loss.
With the no ip igmp snooping tcn flood command, you can disable multicast flooding on a switch interface following a topology change. Only the multicast groups that have been joined by a port are sent to that port, even during a topology change.
With the ip igmp snooping tcn flood query count command, you can enable multicast flooding on a switch interface for a short period of time following a topology change by configuring an IGMP query threshold.
Typically, if a topology change occurs, the spanning tree root switch issues a global IGMP leave message (referred to as a “query solicitation”) with the group multicast address 0.0.0.0. When a switch receives this solicitation, it floods this solicitation on all ports in the VLAN where the spanning tree change occurred. When the upstream router receives this solicitation, it immediately issues an IGMP general query.
With the ip igmp snooping tcn query solicit command, you can now direct a non-spanning tree root switch to enter the same query solicitation.
The following sections provide additional details on the new commands and illustrate how you can use them.
IGMP Snooping Interface Configuration
A topology change in a VLAN may invalidate previously learned IGMP snooping information. A host that was on one port before the topology change may move to another port after the topology change. When the topology changes, the Catalyst 4500 series switch takes special actions to ensure that multicast traffic is delivered to all multicast receivers in that VLAN.
When the spanning tree protocol is running in a VLAN, a spanning tree topology change notification (TCN) is issued by the root switch in the VLAN. A Catalyst 4500 series switch that receives a TCN in a VLAN for which IGMP snooping has been enabled immediately enters into multicast flooding mode for a period of time until the topology restabilizes and the new locations of all multicast receivers are learned.
While in multicast flooding mode, IP multicast traffic is delivered to all ports in the VLAN, and not restricted to those ports on which multicast group members have been detected.
Starting with Cisco IOS Release 12.1(11b)EW, you can manually prevent IP multicast traffic from being flooded to a switch port by using the no ip igmp snooping tcn flood command on that port.
For trunk ports, the configuration applies to all VLANs.
By default, multicast flooding is enabled. Use the no keyword to disable flooding, and use default to restore the default behavior (flooding is enabled).
To disable multicast flooding on an interface, perform this task:
This example shows how to disable multicast flooding on interface Fast Ethernet 2/11:
IGMP Snooping Switch Configuration
By default, flooding mode persists until the switch receives two IGMP general queries. You can change this period of time by using the ip igmp snooping tcn flood query count n command, where n is a number between 1 and 10.
This command operates at the global configuration level.
The default number of queries is 2. The no and default keywords restore the default.
To establish an IGMP query threshold, perform this task:
This example shows how to modify the switch to stop flooding multicast traffic after four queries:
When a spanning tree root switch receives a topology change in an IGMP snooping-enabled VLAN, the switch issues a query solicitation that causes an Cisco IOS router to send out one or more general queries. The new command ip igmp snooping tcn query solicit causes the switch to send the query solicitation whenever it notices a topology change, even if that switch is not the spanning tree root.
This command operates at the global configuration level.
By default, query solicitation is disabled unless the switch is the spanning tree root. The default keyword restores the default behavior.
To direct a switch to send a query solicitation, perform this task:
This example shows how to configure the switch to send a query solicitation upon detecting a TCN:
Displaying IGMP Snooping Information
The following sections show how to display IGMP snooping information:
- Displaying Querier Information
- Displaying IGMP Host Membership Information
- Displaying Group Information
- Displaying Multicast Router Interfaces
- Displaying MAC Address Multicast Entries
- Displaying IGMP Snooping Information on a VLAN Interface
- Configuring IGMP Filtering
Displaying Querier Information
To display querier information, perform this task:
|
|
---|---|
This example shows how to display the IGMP snooping querier information for all VLANs on the switch:
This example shows how to display the IGMP snooping querier information for VLAN 3:
Displaying IGMP Host Membership Information
Note By default, EHT maintains a maximum of 1000 entries in the EHT database. Once this limit is reached, no additional entries are created. To create additional entries, clear the database with the
clear ip igmp snooping membership vlan command.
To display host membership information, perform this task:
This example shows how to display host membership information for VLAN 20 and to delete the EHT database:
This example shows how to display host membership for interface gi4/1:
This example shows how to display host membership for VLAN 20 and group 224.10.10.10:
Displaying Group Information
To display detailed IGMPv3 information associated with a group, perform one of the following tasks:
This example shows how to display the host types and ports of a group in VLAN 1:
This example shows how to display the current state of a group with respect to a source IP address:
This example shows how to display the current state of a group with respect to a host MAC address:
This example shows how to display summary information for an IGMPv3 group:
This example shows how to display the total number of group addresses learned by the system globally:
This example shows how to display the total number of group addresses learned on VLAN 5:
Displaying Multicast Router Interfaces
When you enable IGMP snooping, the switch automatically learns to which interface the multicast routers are connected.
To display multicast router interfaces, perform this task:
|
|
---|---|
This example shows how to display the multicast router interfaces in VLAN 1:
Displaying MAC Address Multicast Entries
To display MAC address multicast entries for a VLAN, perform this task:
|
|
---|---|
Switch# show mac-address-table multicast vlan vlan_ID [ count ] |
This example shows how to display MAC address multicast entries for VLAN 1:
This example shows how to display a total count of MAC address entries for VLAN 1:
Displaying IGMP Snooping Information on a VLAN Interface
To display IGMP snooping information on a VLAN, perform this task:
|
|
---|---|
This example shows how to display IGMP snooping information on VLAN 5:
Displaying IGMP Snooping Querier Information
To display IGMP Snooping Querier information, perform this task:
|
|
---|---|
Switch# show ip igmp snooping querier [vlan vlan_ID] [detail] |
This example shows how to display Snooping Querier information:
Understanding Multicast VLAN Registration
When a network involves multi-VLAN's, subscribers to a multicast group may exist in more than one VLAN (i.e., the broadcast of multiple television channels over a service provider network). The multicast router must replicate the multicast data transmission to the same group in the every subscriber VLANs. The number of multicast stream replication is directly proportional to the subscriber VLANs. This results in using more than the required bandwidth.
Multicast VLAN Registration (MVR) overcomes this inefficiency by conserving network bandwidth. MVR allows a subscriber on a port to subscribe and unsubscribe to a multicast stream on the network-wide single "multicast VLAN,” while subscribers remain in separate VLANs. It also isolates the streams from the subscriber VLANs for bandwidth and security reasons.
Note Only Layer 2 ports participate in MVR.
Note You need to configure subscriber ports as MVR receiver ports and router or data-source ports as MVR source ports.
Note Only one MVR multicast VLAN per switch is supported.
MVR assumes that subscriber ports subscribe and unsubscribe (join and leave) these multicast streams by sending out IGMP join and leave messages. These messages can originate from an IGMP v2 compatible host with an Ethernet connection. Although MVR and IGMP snooping use the same underlying mechanism, the two features operate independently. You can enable or disable one without affecting the behavior of the other. However, if IGMP snooping and MVR are both enabled, MVR reacts only to join and leave messages from multicast groups configured under MVR. Join and leave messages from all other multicast groups are managed by IGMP snooping.
You can set the switch to operate MVR in compatible or dynamic mode:
- In compatible mode, a multicast router learned or configured is not required for MVR traffic to egress MVR source ports. All the MVR traffic is forwarded to the source ports. The IGMP reports that are received by the receiver ports are not forwarded to the mrouter or source ports.
- In dynamic mode, the interface on which the multicast router is learned or configured will receive MVR traffic. The receiver ports from where the MVR hosts have explicitly joined either by IGMP reports or by MVR static configuration will receive the MVR data traffic. The IGMP reports are forwarded to all the multicast VLAN (mVLAN) mrouter ports.
Using MVR in a Multicast Television Application
In a multicast television application, a PC or a television with a set-top box can receive the multicast stream. Multiple set-top boxes or PCs can be connected to one subscriber port, which is a switch port configured as an MVR receiver port. Figure 28-1 is an example configuration. DHCP assigns an IP address to the set-top box or the PC. When a subscriber selects a channel, the set-top box or PC sends an IGMP report to Switch A to join the appropriate multicast. If the IGMP report matches one of the configured IP multicast group addresses, the switch CPU modifies the hardware address table to include this receiver port and VLAN as a forwarding destination of the specified multicast stream when it is received from the multicast VLAN. Uplink ports that send and receive multicast data to and from the multicast VLAN are called MVR source ports.
Figure 28-1 Multicast VLAN Registration Example
When a subscriber changes channels or turns off the television, the set-top box sends an IGMP leave message for the multicast stream. The switch CPU sends a MAC-based general query through the receiver port VLAN. If there is another set-top box in the VLAN still subscribing to this group, that set-top box must respond within the maximum response time specified in the query. If the CPU does not receive a response, it eliminates the receiver port as a forwarding destination for this group.
Without Immediate Leave, when the switch receives an IGMP leave message from a subscriber on a receiver port, it sends out an IGMP query on that port and waits for IGMP group membership reports. If no reports are received in a configured time period, the receiver port is removed from multicast group membership. With Immediate Leave, an IGMP query is not sent from the receiver port on which the IGMP leave was received. Once the leave message is received, the receiver port is removed from multicast group membership, which speeds up leave latency. Enable Immediate Leave feature only on receiver ports to which a single receiver device is connected.
Because MVR multicast traffic is sent only on mVLANs, duplicating television-channel multicast traffic for subscribers on different VLANs is unnecessary. The IGMP leave and join messages are in the VLAN to which the subscriber port is assigned. The access layer switch (Switch A) modifies the forwarding behavior to allow traffic forwarding from the multicast VLAN to the subscriber port in a different VLAN. This is done by selectively allowing traffic to cross between the two VLANs.
IGMP reports are sent to the same IP multicast group address as the multicast data. The Switch A CPU must capture all IGMP join and leave messages from the receiver ports and forward them to the multicast VLAN of the source (uplink) port, based on the MVR mode.
Configuring MVR
These sections include basic MVR configuration information:
- Default MVR Configuration
- MVR Configuration Guidelines and Limitations
- Configuring MVR Global Parameters
- Configuring MVR on Access Ports
- Configuring MVR on a Trunk Port
- Displaying MVR Information
Default MVR Configuration
Note Enabling the MVR command will set all the MVR default parameters.
Table 28-2 shows the default MVR configuration.
|
|
---|---|
MVR Configuration Guidelines and Limitations
Follow these guidelines when configuring MVR:
– Ports connected to subscribers are configured as receiver ports.
– Router ports or ports that are connected to another MVR switch are configured as source ports.
A source port configuration is required for those ports that must receive MVR traffic, even when there is no JOIN request from that port. All the MVR traffic received on the mVLAN on any port is forwarded to all source and receiver ports. (The receiver port should have been joined either by IGMP report or through static configurations).
Source port configuration is not required, unless there is a port connected to another Layer 2 switch that runs MVR on the same mVLAN as this switch. Configure such ports as source ports. All MVR traffic received on the mVLAN on any ports is forwarded to the receiver or source ports that are joined either by IGMP report or through static configurations.
- Only one MVR VLAN can be configured.
- Although receiver ports that are connected to subscribers can be on different VLANs, they should not belong to the mVLAN.
- mRouter ports should not be configured as receiver ports.
- Both trunk and access ports can be configured as either source or receiver ports.
- The maximum number of MVR groups is fixed at 1500.
- MVR cannot coexist with a PVLAN; do not configure MVR on a PVLAN.
- The IGMPSN group MAC address can alias with an MVR group's MAC address.
For example, 225.1.1.1 and 226.1.1.1 are IP addresses whose MAC addresses match to the same multicast MAC address (0100.5e01.0101). If 225.1.1.1 is configured as an MVR group then 225.1.1.1 is handled by MVR and 226.1.1.1 is handled by IGMPSN.
If the 226.1.1.1 host is present on the MVR trunk receiver, IGMPSN might not handle the forwarding for 226.1.1.1. Instead, the switch treats 226.1.1.1 as an MVR group and MVR handles forwarding on the mVLAN. You should not connect the hosts interested in MVR aliased groups on the MVR trunk receiver port. (By interested we mean that a host sends a JOIN request for a multicast group in order to receive the traffic or stream for that group.) This limitation applies only to MVR trunk receiver ports.
- MVR and multicast-routing cannot co-exist on the same switch. If you try to enable MVR while multicast routing or a multicast routing protocol are enabled, your operation is cancelled and you receive an error message. If you enable multicast routing or a multicast routing protocol while MVR is enabled, MVR is disabled and you receive a warning message.
- MVR can coexist with IGMP snooping on a switch.
- MVR is not supported with IPv6 multicast groups.
- MVR supports only IGMPv2 messages; MVR group reports derived from other versions are dropped.
Configuring MVR Global Parameters
If you select the default settings, you do not need to set the optional MVR parameters. If you want to change the default parameters (except for the MVR VLAN), you must first enable MVR.
To configure MVR parameters, perform these steps:
To return a switch to the default settings, use the no mvr [ mode | group ip-address | querytime | vlan ] global configuration commands.
The following example shows how to enable and verify MVR:
Note Fa2/1 is an mrouter port.
Configuring MVR on Access Ports
To configure the access port, perform these steps:
To return the interface to its default settings, use the no mvr [ type | immediate | vlan vlan-id | group ] interface configuration commands.
This example shows how to configure MVR "source and receiver" access ports:
Configuring MVR on a Trunk Port
To configure MVR on a trunk port, perform these steps:
This example shows how to configure MVR “receiver” VLANs on trunk ports:
Displaying MVR Information
You can display MVR information for the switch or a specified interface. Use the following commands in privileged EXEC mode:
The following examples show how to display MVR information for either the switch or an interface on the switch:
Configuring IGMP Filtering
This section includes the following subsections:
- Default IGMP Filtering Configuration
- Configuring IGMP Profiles
- Applying IGMP Profiles
- Setting the Maximum Number of IGMP Groups
Note The IGMP filtering feature works for IGMPv1 and IGMPv2 only.
In some environments (like metropolitan or multiple-dwelling unit (MDU) installations), an administrator might want to control the multicast groups to which a user on a switch port can belong. This allows the administrator to control the distribution of multicast services, such as IP/TV, based on some type of subscription or service plan.
With IGMP filtering, an administrator can apply this type of control. With this feature, you can filter multicast joins on a per-port basis by configuring IP multicast profiles and associating them with individual switch 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 switch 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.
IGMP filtering controls only IGMP membership join reports and has no relationship to the function that directs the forwarding of IP multicast traffic.
You can also set the maximum number of IGMP groups that a Layer 2 interface can join with the
ip igmp max-groups n command.
Default IGMP Filtering Configuration
Table 28-4 shows the default IGMP filtering configuration.
|
|
---|---|
Configuring IGMP Profiles
To configure an IGMP profile and to enter IGMP profile configuration mode, use the ip igmp profile global configuration command. From the IGMP profile configuration mode, you can specify the parameters of the IGMP profile to be used for filtering IGMP join requests from a port. When you are in IGMP profile configuration mode, you can apply these keywords:
- deny— Specifies that matching addresses are denied (the default condition).
- exit —Exits from igmp-profile configuration mode.
- no— Negates a command or sets 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 starting and ending addresses.
By default, no IGMP profiles are configured. When a profile is configured with neither the permit nor the deny keyword, the default is to deny access to the range of IP addresses.
To create an IGMP profile for a port, perform this task:
To delete a profile, use the no ip igmp profile profile-number global configuration command.
To delete an IP multicast address or range of IP multicast addresses, use the no range ip multicast address IGMP profile configuration command.
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 were to deny (the default), it does not appear in the output of the show ip igmp profile command.
Applying IGMP Profiles
To control access as defined in an IGMP profile, use the ip igmp filter interface configuration command to apply the profile to the appropriate interfaces. You can apply a profile to multiple interfaces, but each interface can only have one profile applied to it.
Note You can apply IGMP profiles to Layer 2 ports only. You cannot apply IGMP profiles to routed ports (or SVIs) or to ports that belong to an EtherChannel port group.
To apply an IGMP profile to a switch port, perform this task:
To remove a profile from an interface, use the no ip igmp filter command.
This example shows how to apply IGMP profile 4 to an interface and to verify the configuration:
Setting the Maximum Number of IGMP Groups
You can set the maximum number of IGMP groups that a Layer 2 interface can join by using the ip igmp max-groups interface configuration command. Use the no form of this command to set the maximum back to the default, which is no limit.
Note This restriction can be applied to Layer 2 ports only. You cannot set a maximum number of IGMP groups on routed ports (or SVIs) or on ports that belong to an EtherChannel port group.
To apply an IGMP profile on a switch port, perform this task:
This example shows how to limit the number of IGMP groups that an interface can join to 25:
Displaying IGMP Filtering Configuration
You can display IGMP profile and maximum group configuration for all interfaces on the switch or for a specified interface.
To display IGMP profiles, perform this task:
|
|
---|---|
Displays the specified IGMP profile or all IGMP profiles defined on the switch. |
To display interface configuration, perform this task:
This is an example of the show ip igmp profile privileged EXEC command when no profile number is entered. All profiles defined on the switch are displayed.
This is an example of the show running-config privileged EXEC command when an interface is specified with IGMP maximum groups configured and IGMP profile 4 has been applied to the interface: