Table Of Contents
Configuring IGMP Snooping and MVR
Understanding IGMP Snooping
Joining a Multicast Group
Leaving a Multicast Group
Immediate-Leave Processing
Configuring IGMP Snooping
Default IGMP Snooping Configuration
Enabling or Disabling IGMP Snooping
Setting the Snooping Method
Configuring a Multicast Router Port
Configuring a Host Statically to Join a Group
Enabling IGMP Immediate-Leave Processing
Displaying IGMP Snooping Information
Understanding Multicast VLAN Registration
Using MVR in a Multicast Television Application
Configuring MVR
Configuration Guidelines and Limitations
Default MVR Configuration
Configuring MVR Global Parameters
Configuring MVR Interfaces
Displaying MVR Information
Configuring IGMP Filtering
Default IGMP Filtering Configuration
Configuring IGMP Profiles
Applying IGMP Profiles
Setting the Maximum Number of IGMP Groups
Displaying IGMP Filtering Configuration
Configuring IGMP Snooping and MVR
This chapter describes how to configure Internet Group Management Protocol (IGMP) snooping on your 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.
Note
For complete syntax and usage information for the commands used in this chapter, refer to the Catalyst 2950 Desktop Switch Command Reference for this release and the Cisco IOS Release Network Protocols Command Reference, Part 1, for Release 12.1.
This chapter consists of these sections:
•
Understanding 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
For MAC addresses that map to IP multicast groups, you can either manage them through features such as IGMP snooping and MVR, or you can use static MAC addresses. However, you cannot use both methods simultaneously. Therefore, before using IGMP snooping or MVR, you should remove all statically configured MAC addresses that map to IP multicast groups.
Understanding IGMP Snooping
Internet Group Management Protocol (IGMP) snooping constrains the flooding of multicast traffic by dynamically configuring the interfaces so that multicast traffic is forwarded only to those interfaces associated with IP multicast devices. The LAN switch snoops on the IGMP traffic between the host and the router and keeps track of multicast groups and member ports. When the switch receives an IGMP join report from a host for a particular multicast group, the switch adds the host port number to the associated multicast forwarding table entry. When it receives an IGMP Leave Group message from a host, it removes the host port from the table entry. After it relays the IGMP queries from the multicast router, it deletes entries periodically if it does not receive any IGMP membership reports from the multicast clients.
When IGMP snooping is enabled, the multicast router sends out periodic IGMP general queries to all VLANs. The switch responds to the router queries with only one join request per MAC multicast group, and the switch creates one entry per VLAN in the Layer 2 forwarding table for each MAC group from which it receives an IGMP join request. All hosts interested in this multicast traffic send 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 MAC multicast groups by using the ip igmp snooping vlan static 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.
Catalyst 2950 switches support a maximum of 255 IP multicast groups and support both IGMP version 1 and IGMP version 2.
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.
In the IP multicast-source-only environment, the switch learns the IP multicast group from the IP multicast data stream and only forwards traffic to the multicast router ports.
Joining a Multicast Group
When a host connected to the switch wants to join an IP multicast group, it sends an IGMP join message, specifying the IP multicast group it wants to join. When the switch receives this message, it adds the port to the IP multicast group port address entry in the forwarding table.
See Figure 16-1. Host 1 wants to join multicast group 224.1.2.3 and multicasts an unsolicited IGMP membership report (IGMP join message) to the group with the equivalent MAC destination address of 0100.5E01.0203. The switch recognizes IGMP packets and forwards them to the CPU. When the CPU receives the IGMP report multicast by Host 1, the CPU uses the information to set up a multicast forwarding table entry as shown in Table 16-1 that includes the port numbers of Host 1 and the router.
Figure 16-1 Initial IGMP Join Message
Table 16-1 IP Multicast Forwarding Table
Destination Address
|
Type of Packet
|
Ports
|
0100.5e01.0203
|
!IGMP
|
1, 2
|
Note that the switch architecture allows the CPU to distinguish IGMP information packets from other packets for the multicast group. The switch recognizes the IGMP packets through its filter engine. This prevents the CPU from becoming overloaded with multicast frames.
The entry in the multicast forwarding table tells the switching engine to send frames addressed to the 0100.5E01.0203 multicast MAC address that are not IGMP packets (!IGMP) to the router and to the host that has joined the group.
If another host (for example, Host 4) sends an IGMP join message for the same group (Figure 16-2), the CPU receives that message and adds the port number of Host 4 to the multicast forwarding table as shown in Table 16-2.
Figure 16-2 Second Host Joining a Multicast Group
Table 16-2 Updated Multicast Forwarding Table
Destination Address
|
Type of Packet
|
Ports
|
0100.5e01.0203
|
!IGMP
|
1, 2, 5
|
Leaving a Multicast Group
The router sends periodic IP multicast general queries, and the switch responds to these queries with one join response per MAC multicast group. As long as at least one host in the VLAN needs multicast traffic, the switch responds to the router queries, and the router continues forwarding the multicast traffic to the VLAN. The switch only forwards IP multicast group traffic to those hosts listed in the forwarding table for that IP multicast group.
When hosts need to leave a multicast group, they can either ignore the periodic general-query requests sent by the router, or they can send a leave message. When the switch receives a leave message from a host, it sends out a group-specific query to determine if any devices behind that interface are interested in traffic for the specific multicast group. If, after a number of queries, the router processor receives no reports from a VLAN, it removes the group for the VLAN from its multicast forwarding table.
Immediate-Leave Processing
IGMP snooping Immediate-Leave processing allows the switch to remove an interface that sends a leave message from the forwarding table without first sending out MAC-based general 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 processing ensures optimal bandwidth management for all hosts on a switched network, even when multiple multicast groups are in use simultaneously.
Note
You should use the Immediate-Leave processing feature only on VLANs where only one 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 might be inadvertently dropped. Immediate Leave is supported only with IGMP version 2 hosts.
Configuring IGMP Snooping
IGMP snooping allows switches to examine IGMP packets and make forwarding decisions based on their content. To enable IGMP snooping on the switch to discover external multicast routers, the Layer 3 interfaces on the routers in the VLAN must already have been configured for multicast routing.
These sections describe how to configure IGMP snooping:
•
Default IGMP Snooping Configuration
•
Enabling or Disabling IGMP Snooping
•
Setting the Snooping Method
•
Configuring a Multicast Router Port
•
Configuring a Host Statically to Join a Group
•
Enabling IGMP Immediate-Leave Processing
Default IGMP Snooping Configuration
Table 16-3 shows the default IGMP snooping configuration.
Table 16-3 Default IGMP Snooping Configuration
Feature
|
Default Setting
|
IGMP snooping
|
Enabled globally and per VLAN
|
Multicast routers
|
None configured
|
Multicast router learning (snooping) method
|
PIM-DVMRP
|
IGMP snooping Immediate Leave
|
Disabled
|
Static groups
|
None configured
|
Enabling or Disabling IGMP Snooping
By default, IGMP snooping is globally enabled on the switch. When globally enabled or disabled, it is also enabled or disabled in all existing VLAN interfaces. By default, IGMP snooping is enabled on all VLANs, but it can be enabled and disabled on a per-VLAN basis.
Global IGMP snooping overrides the VLAN IGMP snooping. If global snooping is disabled, you cannot enable VLAN snooping. If global snooping is enabled, you can enable or disable VLAN snooping.
Beginning in privileged EXEC mode, follow these steps to globally enable IGMP snooping on the switch:
|
Command
|
Purpose
|
Step 1
|
configure terminal
|
Enter global configuration mode.
|
Step 2
|
ip igmp snooping
|
Globally enable IGMP snooping in all existing VLAN interfaces.
|
Step 3
|
end
|
Return to privileged EXEC mode.
|
Step 4
|
show ip igmp snooping
|
Display snooping configuration.
|
Step 5
|
copy running-config startup-config
|
(Optional) Save your entries in the configuration file.
|
To globally disable IGMP snooping on all VLAN interfaces, use the no ip igmp snooping global configuration command.
Beginning in privileged EXEC mode, follow these steps to enable IGMP snooping on a VLAN interface:
|
Command
|
Purpose
|
Step 1
|
configure terminal
|
Enter global configuration mode.
|
Step 2
|
ip igmp snooping vlan vlan-id
|
Enable IGMP snooping on the VLAN interface.
|
Step 3
|
end
|
Return to privileged EXEC mode.
|
Step 4
|
show ip igmp snooping [vlan vlan-id]
|
Display snooping configuration.
(Optional) vlan-id is the number of the VLAN.
|
Step 5
|
copy running-config startup-config
|
(Optional) Save your entries in the configuration file.
|
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 (for example, vlan1).
Setting the Snooping Method
Multicast-capable router ports are added to the forwarding table for every IP multicast entry. The switch learns of such ports through one of these methods:
•
Snooping on Protocol Independent Multicast (PIM) packets and Distance Vector Multicast Routing Protocol (DVMRP) packets
•
Listening to Cisco Group Management Protocol (CGMP) self-join packets from other routers
•
Statically connecting to a multicast router port with the ip igmp snooping mrouter global configuration command
You can configure the switch to either snoop on PIM/DVMRP packets or to listen to CGMP self-join packets. By default, the switch snoops on PIM/DVMRP packets on all VLANs. To learn of multicast router ports through only CGMP self-join packets, use the ip igmp snooping vlan vlan-id mrouter learn cgmp global configuration command. When this command is used, the router listens only to CGMP self-join packets and no other CGMP packets. To learn of multicast router ports through only PIM-DVMRP packets, use the ip igmp snooping vlan vlan-id mrouter learn pim-dvmrp global configuration command.
Beginning in privileged EXEC mode, follow these steps to configure the multicast router learning method:
|
Command
|
Purpose
|
Step 1
|
configure terminal
|
Enter global configuration mode.
|
Step 2
|
ip igmp snooping vlan vlan-id mrouter {interface interface-id} {learn {cgmp | pim-dvmrp}}
|
Specify the multicast router VLAN ID. For vlan-id, the range is 1 to 4094 when the enhanced software image is installed and 1 to 1005 when the standard software image is installed. Do not enter leading zeros.
Specify the interface to the multicast router.
Specify the multicast router learning method:
• cgmp to specify listening for CGMP packets.
• pim-dvmrp to specify snooping PIM-DVMRP packets
|
Step 3
|
end
|
Return to privileged EXEC mode.
|
Step 4
|
show ip igmp snooping [vlan vlan-id]
|
Verify that IGMP snooping is enabled on the VLAN interface.
|
Step 5
|
show ip igmp snooping mrouter [vlan vlan-id]
|
Display information on dynamically learned and manually configured multicast router interfaces.
|
Step 6
|
copy running-config startup-config
|
(Optional) Save your entries in the configuration file.
|
This example shows how to configure IGMP snooping to use CGMP packets as the learning method:
Switch# configure terminal
Switch(config)# ip igmp snooping vlan 1 mrouter learn cgmp
Switch# show ip igmp snooping vlan 1
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 cgmp on this Vlan
To return to the default learning method, use the no ip igmp snooping vlan vlan-id mrouter learn cgmp global configuration command.
Configuring a Multicast Router Port
To add a multicast router port (add a static connection to a multicast router), use the ip igmp snooping vlan mrouter global configuration command on the switch.
Beginning in privileged EXEC mode, follow these steps to enable a static connection to a multicast router:
|
Command
|
Purpose
|
Step 1
|
configure terminal
|
Enter global configuration mode.
|
Step 2
|
ip igmp snooping vlan vlan-id mrouter interface interface-id
|
Specify the multicast router VLAN ID. For vlan-id, the range is 1 to 4094 when the enhanced software image is installed and 1 to 1005 when the standard software image is installed. Do not enter leading zeros.
Specify the interface to the multicast router.
|
Step 3
|
end
|
Return to privileged EXEC mode.
|
Step 4
|
show ip igmp snooping [vlan vlan-id]
|
Verify that IGMP snooping is enabled on the VLAN interface.
|
Step 5
|
show ip igmp snooping mrouter [vlan vlan-id]
|
Display information on dynamically learned and manually configured multicast router interfaces.
|
Step 6
|
copy running-config startup-config
|
(Optional) Save your entries in the configuration file.
|
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.
This example shows how to enable a static connection to a multicast router and verify the configuration:
Switch# configure terminal
Switch(config)# ip igmp snooping vlan 200 mrouter interface gigabitethernet0/2
Switch# show ip igmp snooping mrouter vlan 200
-----+----------------------------------------
Configuring a Host Statically to Join a Group
Ports normally join multicast groups through the IGMP report message, but you can also statically configure a host on an interface.
Beginning in privileged EXEC mode, follow these steps to add a port as a member of a multicast group:
|
Command
|
Purpose
|
Step 1
|
configure terminal
|
Enter global configuration mode
|
Step 2
|
ip igmp snooping vlan vlan-id static mac-address interface interface-id
|
Statically configure a port as a member of a multicast group:
• vlan-id is the multicast group VLAN ID.
• mac-address is the group MAC address.
• interface-id is the member port.
|
Step 3
|
end
|
Return to privileged EXEC mode.
|
Step 4
|
show ip igmp snooping mrouter vlan vlan-id
or
show mac-address-table multicast [vlan vlan-id] [user | igmp-snooping] [count]
|
Verify that the member port is a member of the VLAN multicast group.
Verify the member port and the MAC address
|
Step 5
|
copy running-config startup-config
|
(Optional) Save your entries in the configuration file.
|
To remove the port from the multicast group, use the no ip igmp snooping vlan vlan-id static mac-address interface interface-id global configuration command.
This example shows how to statically configure a host on an interface and verify the configuration:
Switch# configure terminal
Switch(config)# ip igmp snooping vlan 1 static 0100.5e00.0203 interface gigabitethernet0/1
Switch# show mac-address-table multicast vlan 1
Vlan Mac Address Type Ports
---- ----------- ---- -----
1 0100.5e00.0203 USER Gi0/1
Enabling IGMP Immediate-Leave Processing
When you enable IGMP Immediate-Leave processing, the switch immediately removes a port from the IP multicast group when it detects an IGMP version 2 leave message on that port. Immediate-Leave processing allows the switch to remove an interface that sends a leave message from the forwarding table without first sending out group-specific queries to the interface. You should use the Immediate-Leave feature only when there is only a single receiver present on every port in the VLAN.
Immediate-Leave is supported only with IGMP version 2 hosts.
Beginning in privileged EXEC mode, follow these steps to enable IGMP Immediate-Leave processing:
|
Command
|
Purpose
|
Step 1
|
configure terminal
|
Enter global configuration mode.
|
Step 2
|
ip igmp snooping vlan vlan-id immediate-leave
|
Enable IGMP Immediate-Leave processing on the VLAN interface.
|
Step 3
|
end
|
Return to privileged EXEC mode.
|
Step 4
|
show ip igmp snooping vlan vlan-id
|
Verify that Immediate Leave is enabled on the VLAN.
|
Step 5
|
copy running-config startup-config
|
(Optional) Save your entries in the configuration file.
|
To disable Immediate-Leave processing, use the no ip igmp snooping vlan vlan-id immediate-leave global configuration command.
This example shows how to enable IGMP immediate-leave processing on VLAN 130 and verify the configuration:
Switch# configure terminal
Switch(config)# ip igmp snooping vlan 130 immediate-leave
Switch# show ip igmp snooping vlan 130
IGMP snooping is globally enabled
IGMP snooping is enabled on this Vlan
IGMP snooping immediate-leave is enabled on this Vlan
IGMP snooping mrouter learn mode is pim-dvmrp on this Vlan
Displaying 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.
To display IGMP snooping information, use one or more of the privileged EXEC commands in Table 16-4.
Table 16-4 Commands for Displaying IGMP Snooping Information
Command
|
Purpose
|
show ip igmp snooping [vlan vlan-id]
|
Display the snooping configuration information for all VLANs on the switch or for a specified VLAN.
(Optional) Enter vlan vlan-id to display information for a single VLAN.
|
show ip igmp snooping mrouter [vlan vlan-id]
|
Display information on dynamically learned and manually configured multicast router interfaces.
Note When you enable IGMP snooping, the switch 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 mac-address-table multicast [vlan vlan-id] [user | igmp-snooping] [count]
|
Display the Layer 2 MAC address table entries for a VLAN. The keywords are all optional and limit the display as shown:
• vlan vlan-id—Displays only the specified multicast group VLAN.
• user—Displays only the user-configured multicast entries.
• igmp-snooping—Displays only entries learned through IGMP snooping.
• count—Displays only the total number of entries for the selected criteria, not the actual entries.
|
Understanding Multicast VLAN Registration
Multicast VLAN Registration (MVR) is designed for applications using wide-scale deployment of multicast traffic across an Ethernet ring-based service provider network (for example, the broadcast of multiple television channels over a service-provider network). MVR allows a subscriber on a port to subscribe and unsubscribe to a multicast stream on the network-wide multicast VLAN. It allows the single multicast VLAN to be shared in the network while subscribers remain in separate VLANs. MVR provides the ability to continuously send multicast streams in the multicast VLAN, but to isolate the streams from the subscriber VLANs for bandwidth and security reasons.
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 version-2-compatible host with an Ethernet connection. Although MVR operates on the underlying mechanism of IGMP snooping, the two features operate independently of each other. One can be enabled or disabled without affecting the behavior of the other feature. However, if IGMP snooping and MVR are both enabled, MVR only reacts 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.
The switch CPU identifies the MVR IP multicast streams and their associated MAC addresses in the switch forwarding table, intercepts the IGMP messages, and modifies the forwarding table to include or remove the subscriber as a receiver of the multicast stream, even though the receivers might be in a different VLAN from the source. This forwarding behavior selectively allows traffic to cross between different VLANs.
The Catalyst 2950 switch has dynamic and compatible modes of MVR operation:
•
When operating in MVR dynamic mode, the switch performs standard IGMP snooping. IGMP information packets are sent to the switch CPU, but multicast data packets are not sent to the CPU. Dynamic mode allows the multicast router to run normally because the switch sends the IGMP join messages to the router, and the router only forwards multicast streams for a particular group to an interface if it has received a join message from the interface for the group. Receiver ports are treated as members of the multicast VLAN for MVR multicast control and data traffic. IGMP reports for MVR groups are sent out source ports in the multicast VLAN.
•
When in MVR compatible mode, MVR interoperates with Catalyst 2900 XL and Catalyst 3500 XL switches. It works the same as dynamic mode for all multicast data packets and IGMP query and leave packets. However, received IGMP report packets for MVR groups are not sent out on the multicast VLAN source ports. In contrast to dynamic mode, the switch does not send join messages to the router. The router must be statically configured for the interface to receive the multicast stream. Therefore, in this mode, MVR does not support dynamic membership joins on source 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. Refer to Figure 16-3. 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 the S1 switch to join the appropriate multicast. If the IGMP report matches one of the configured multicast MAC 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.
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 an IGMP group-specific 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. If the CPU does not receive a response, it eliminates the receiver port as a forwarding destination for this group.
If the Immediate-Leave feature is enabled on a receiver port, the port leaves a multicast group more quickly. 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. As soon as the leave message is received, the receiver port is removed from multicast group membership, which speeds up leave latency. Only enable the Immediate Leave feature on receiver ports to which a single receiver device is connected.
Figure 16-3 Multicast VLAN Registration Example
MVR eliminates the need to duplicate television-channel multicast traffic for subscribers in each VLAN. Multicast traffic for all channels is sent only once around the VLAN trunk—only on the multicast VLAN. Although the IGMP leave and join messages originate with a subscriber, they appear to be initiated by a port in the multicast VLAN rather than in the VLAN to which the subscriber port is assigned. These messages dynamically register for streams of multicast traffic in the multicast VLAN on the Layer 3 device. The access layer switch (S1 switch) modifies the forwarding behavior to allow the traffic to be forwarded from the multicast VLAN to the subscriber port in a different VLAN, selectively allowing traffic to cross between two VLANs.
IGMP reports are sent to the same MAC addresses as the multicast data. The S1 CPU must capture all IGMP join and leave messages from receiver ports and forward them to the multicast VLAN of the source (uplink) port.
Configuring MVR
These sections include basic MVR configuration information:
•
Configuration Guidelines and Limitations
•
Default MVR Configuration
•
Configuring MVR Global Parameters
•
Configuring MVR Interfaces
Configuration Guidelines and Limitations
Follow these guidelines when configuring MVR:
•
Receiver ports cannot be trunk ports. Receiver ports on a switch can be in different VLANs, but should not belong to the multicast VLAN.
•
The maximum number of multicast entries that can be configured on a switch (that is, the maximum number of television channels that can be received) is 256.
•
Each channel is one multicast stream destined for a unique IP multicast address. These IP addresses cannot alias between themselves or with the reserved IP multicast addresses (in the range 224.0.0.xx).
Note
For complete syntax and usage information for the commands used in this section, refer to the Catalyst 2950 Desktop Switch Command Reference for this release.
Default MVR Configuration
Table 16-5 shows the default MVR configuration.
Table 16-5 Default MVR Configuration
Feature
|
Default Setting
|
MVR
|
Disabled globally and per interface
|
Multicast addresses
|
None configured
|
Group IP address count
|
1
|
Query response time
|
0.5 second
|
Multicast VLAN
|
VLAN 1
|
Mode
|
Compatibility
|
Interface (per port) default
|
Neither a receiver or source port
|
Immediate Leave
|
Disabled on all ports
|
Configuring MVR Global Parameters
You do not need to set the optional MVR parameters if you choose to use the default settings. If you do want to change the default parameters (except for the MVR VLAN), you must first enable MVR.
Beginning in privileged EXEC mode, follow these steps to configure MVR parameters:
|
Command
|
Purpose
|
Step 1
|
configure terminal
|
Enter global configuration mode.
|
Step 2
|
mvr
|
Enable MVR on the switch.
|
Step 3
|
mvr group ip-address [count]
|
Configure an IP multicast address on the switch or use the count parameter to configure a contiguous series of IP addresses. Any multicast data sent to this address is sent to all source ports on the switch and all receiver ports that have elected to receive data on that multicast address. Each multicast address corresponds to one television channel.
Note Each IP address translates to a multicast 48-bit MAC address. If an IP address being configured translates (aliases) to a previously configured MAC address or to any reserved multicast MAC addresses, the command fails.
|
Step 4
|
mvr querytime value
|
(Optional) Define the maximum time to wait for IGMP report memberships on a receiver port before removing the port from multicast group membership. The value is in units of tenths of a second. The default is 5 tenths or one-half a second.
|
Step 5
|
mvr vlan vlan-id
|
(Optional) Specify the VLAN in which multicast data is received; all source ports must belong to this VLAN. The VLAN range is 1 to 4094 when the enhanced software image is installed and 1 to 1005 when the standard software image is installed. Do not enter leading zeros. The default is VLAN 1.
|
Step 6
|
mvr mode {dynamic | compatible}
|
(Optional) Specify the MVR mode of operation:
• dynamic allows dynamic MVR membership on source ports.
• compatible provides for compatibility with Catalyst 2900 XL and Catalyst 3500 XL switches and does not support IGMP dynamic joins on source ports.
The default is compatible mode.
|
Step 7
|
end
|
Exit configuration mode.
|
Step 8
|
show mvr show mvr members
|
Verify the configuration.
|
Step 9
|
copy running-config startup-config
|
(Optional) Save your entries in the configuration file.
|
This example shows how to enable MVR, configure the MVR group address, set the query time to 1 second (10 tenths), specify the MVR multicast VLAN as VLAN 22, set the MVR mode as dynamic, and verify the results:
Switch(config)# mvr group 228.1.23.4
Switch(config)# mvr querytime 10
Switch(config)# mvr vlan 22
Switch(config)# mvr mode dynamic
MVR Max Multicast Groups: 256
MVR Current multicast groups: 256
MVR Global query response time: 10 (tenths of sec)
You can use the show mvr members privileged EXEC command to verify the MVR multicast group addresses on the switch.
Configuring MVR Interfaces
Beginning in privileged EXEC mode, follow these steps to configure MVR interfaces:
|
Command
|
Purpose
|
Step 1
|
configure terminal
|
Enter global configuration mode.
|
Step 2
|
mvr
|
Enable MVR on the switch.
|
Step 3
|
interface interface-id
|
Enter interface configuration mode, and enter the type and number of the port to configure, for example, gi 0/1 or gigabitethernet 0/1 for Gigabit Ethernet port 1.
|
Step 4
|
mvr type {source | receiver}
|
Configure an MVR port as one of these:
• source—Configure uplink ports that receive and send multicast data as source ports. Subscribers cannot be directly connected to source ports. All source ports on a switch belong to the single multicast VLAN.
• receiver—Configure a port as a receiver port if it is a subscriber port and should only receive multicast data. It does not receive data unless it becomes a member of the multicast group, either statically or by using IGMP leave and join messages. Receiver ports cannot belong to the multicast VLAN.
|
Step 5
|
mvr vlan vlan-id group ip-address
|
(Optional) Statically configure a port to receive multicast traffic sent to the IP multicast address. A port statically configured as a member of a group remains a member of the group until statically removed.
Note In compatible mode, this command applies only to receiver ports. In dynamic mode, it applies to receiver ports and source ports.
Receiver ports can also dynamically join multicast groups by using IGMP join and leave messages.
|
Step 6
|
mvr immediate
|
(Optional) Enable the Immediate Leave feature of MVR on the port.
Note This command applies only to receiver ports and should only be enabled on receiver ports to which a single receiver device is connected.
|
Step 7
|
end
|
Exit configuration mode.
|
Step 8
|
show mvr show mvr interface show mvr members
|
Verify the configuration.
|
Step 9
|
copy running-config startup-config
|
(Optional) Save your entries in the configuration file.
|
This example shows how to configure Gigabit Ethernet port 0/2 as a receiver port, statically configure the port to receive multicast traffic sent to the multicast group address, configure Immediate Leave on the interface, and verify the results:
Switch(config)# interface gigabitethernet0/2
Switch(config-if)# mvr type receiver
Switch(config-if)# mvr vlan 22 group 228.1.23.4
Switch(config-if)# mvr immediate
Switch# show mvr interface gigabitethernet0/2
Type: RECEIVER Status: ACTIVE Immediate Leave: ENABLED
This example shows the results of the show mvr interface privileged EXEC command when the members keyword is included:
Switch# show mvr interface gigabitethernet0/6 members
239.255.0.0 DYNAMIC ACTIVE
239.255.0.1 DYNAMIC ACTIVE
239.255.0.2 DYNAMIC ACTIVE
239.255.0.3 DYNAMIC ACTIVE
239.255.0.4 DYNAMIC ACTIVE
239.255.0.5 DYNAMIC ACTIVE
239.255.0.6 DYNAMIC ACTIVE
239.255.0.7 DYNAMIC ACTIVE
239.255.0.8 DYNAMIC ACTIVE
239.255.0.9 DYNAMIC ACTIVE
Displaying MVR Information
You can display MVR information for the switch or for a specified interface.
Beginning in privileged EXEC mode, use the commands in Table 16-6 to display MVR configuration:
Table 16-6 Commands for Displaying MVR Information
show mvr
|
Displays MVR status and values for the switch—whether MVR is enabled or disabled, the multicast VLAN, the number of multicast groups (always 256 for the Catalyst 2950 switch), the query response time, and the MVR mode.
|
show mvr interface [interface-id] [members [vlan vlan-id]]
|
Displays all MVR interfaces and their MVR configurations.
When a specific interface is entered, displays this information:
• Type—Receiver or Source
• Status—One of these:
– Active means that the port is part of a VLAN.
– Up/Down means that the port is forwarding or nonforwarding.
– Inactive means that the port is not part of any VLAN.
• Immediate Leave—Enabled or Disabled
If the members keyword is entered, displays all multicast group members on this port or, if a VLAN identification is entered, all multicast group members on the VLAN.
|
show mvr members [ip-address]
|
Displays all receiver ports that are members of any IP multicast group or the specified IP multicast group IP address.
|
This example shows the results of the show mvr privileged EXEC command:
MVR Max Multicast Groups: 256
MVR Current multicast groups: 256
MVR Global query response time: 5 (tenths of sec)
This example shows the results of the show mvr interface privileged EXEC command:
Switch# show mvr interface
Port Type Status Immediate Leave
---- ---- ------- ---------------
Gi0/1 SOURCE ACTIVE/UP DISABLED
Gi0/2 SOURCE ACTIVE/UP DISABLED
Gi0/3 RECEIVER ACTIVE/UP DISABLED
Gi0/4 RECEIVER ACTIVE/UP DISABLED
Gi0/5 RECEIVER ACTIVE/UP ENABLED
Gi0/6 RECEIVER ACTIVE/UP DISABLED
Gi0/7 RECEIVER ACTIVE/UP ENABLED
Gi0/8 RECEIVER ACTIVE/UP DISABLED
This example shows the results of the show mvr interface privileged EXEC command for a specified interface:
Switch# show mvr interface gigabitethernet0/2
Type: RECEIVER Status: ACTIVE Immediate Leave: DISABLED
This example shows the results of the show mvr interface privileged EXEC command when the members keyword is included:
Switch# show mvr interface gigabitethernet0/1 members
239.255.0.0 DYNAMIC ACTIVE
239.255.0.1 DYNAMIC ACTIVE
239.255.0.2 DYNAMIC ACTIVE
239.255.0.3 DYNAMIC ACTIVE
239.255.0.4 DYNAMIC ACTIVE
239.255.0.5 DYNAMIC ACTIVE
239.255.0.6 DYNAMIC ACTIVE
239.255.0.7 DYNAMIC ACTIVE
239.255.0.8 DYNAMIC ACTIVE
239.255.0.9 DYNAMIC ACTIVE
This example shows the results of the show mvr members privileged EXEC command:
MVR Group IP Status Members
------------ ------ -------
239.255.0.1 ACTIVE Gi0/1(d), Gi0/5(s)
239.255.0.2 INACTIVE None
239.255.0.3 INACTIVE None
239.255.0.4 INACTIVE None
239.255.0.5 INACTIVE None
239.255.0.6 INACTIVE None
239.255.0.7 INACTIVE None
239.255.0.8 INACTIVE None
239.255.0.9 INACTIVE None
239.255.0.10 INACTIVE None
239.255.0.255 INACTIVE None
239.255.1.0 INACTIVE None
Configuring IGMP Filtering
In some environments, for example metropolitan or multiple-dwelling unit (MDU) installations, an administrator might want to control the set of 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 the IGMP filtering 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 queries and membership join reports and 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.
You can also set the maximum number of IGMP groups that an interface can join.
Default IGMP Filtering Configuration
Table 16-5 shows the default IGMP filtering configuration.
Table 16-7 Default IGMP Filtering Configuration
Feature
|
Default Setting
|
IGMP filters
|
None applied
|
IGMP maximum number of IGMP groups
|
No maximum set
|
IGMP profiles
|
None defined
|
IGMP profile action
|
Deny the range addresses
|
Configuring IGMP Profiles
To configure an IGMP profile, use the ip igmp profile global configuration command with a profile number to create an IGMP profile and to enter IGMP profile configuration mode. From this 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 create the profile by using these commands:
•
deny: Specifies that matching addresses are denied; this is 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 a start and an end address.
The default is for the switch to have no IGMP profiles configured. When a profile is configured, if neither the permit nor deny keyword is included, the default is to deny access to the range of IP addresses.
Beginning in privileged EXEC mode, follow these steps to create an IGMP profile:
|
Command
|
Purpose
|
Step 1
|
configure terminal
|
Enter global configuration mode.
|
Step 2
|
ip igmp profile profile number
|
Enter IGMP profile configuration mode, and assign a number to the profile you are configuring. The range is from 1 to 4294967295.
|
Step 3
|
permit | deny
|
(Optional) Set the action to permit or deny access to the IP multicast address. If no action is configured, the default for the profile is to deny access.
|
Step 4
|
range ip multicast address
|
Enter the IP multicast address or range of IP multicast addresses to which access is being controlled. If entering a range, enter the low IP multicast address, a space, and the high IP multicast address.
You can use the range command multiple times to enter multiple addresses or ranges of addresses.
|
Step 5
|
end
|
Return to privileged EXEC mode.
|
Step 6
|
show ip igmp profile profile number
|
Verify the profile configuration.
|
Step 7
|
copy running-config startup-config
|
(Optional) Save your entries in the configuration file.
|
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 was to deny (the default), it would not appear in the show ip igmp profile output display.
Switch # configure terminal
Switch(config) # ip igmp profile 4
Switch(config-igmp-profile)# permit
Switch(config-igmp-profile)# range 229.9.9.0
Switch(config-igmp-profile)# end
Switch# show ip igmp profile 4
range 229.9.9.0 229.9.9.0
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 IGMP profiles to Layer 2 ports only; you cannot apply IGMP profiles to SVIs.You can apply a profile to multiple interfaces, but each interface can only have one profile applied to it.
Beginning in privileged EXEC mode, follow these steps to apply an IGMP profile to a switch port:
|
Command
|
Purpose
|
Step 1
|
configure terminal
|
Enter global configuration mode.
|
Step 2
|
interface interface-id
|
Enter interface configuration mode, and enter the physical interface to configure, for example fastethernet0/3.
|
Step 3
|
ip igmp filter profile number
|
Apply the specified IGMP profile to the interface. The profile number can be from 1 to 4294967295.
|
Step 4
|
end
|
Return to privileged EXEC mode.
|
Step 5
|
show running configuration interface interface-id
|
Verify the configuration.
|
Step 6
|
copy running-config startup-config
|
(Optional) Save your entries in the configuration file.
|
To remove a profile from an interface, use the no ip igmp filter profile number interface configuration command.
This example shows how to apply IGMP profile 4 to an interface and verify the configuration.
Switch # configure terminal
Switch(config)# interface fastethernet0/12
Switch(config-if)# ip igmp filter 4
Switch# show running-config interface fastethernet0/12
Building configuration...
Current configuration : 123 bytes
interface FastEthernet0/12
Setting the Maximum Number of IGMP Groups
You can set the maximum number of IGMP groups that an interface can join. Use the no form of this command to set the maximum back to the default, which is no limit.
Beginning in privileged EXEC mode, follow these steps to apply an IGMP profile to a switch port:
|
Command
|
Purpose
|
Step 1
|
configure terminal
|
Enter global configuration mode.
|
Step 2
|
interface interface-id
|
Enter interface configuration mode, and enter the physical interface to configure, for example fasthernet0/1.
|
Step 3
|
ip igmp max-groups number
|
Set the maximum number of IGMP groups that the interface can join. The range is from 0 to 4294967294. The default is to have no maximum set.
|
Step 4
|
end
|
Return to privileged EXEC mode.
|
Step 5
|
show running-configuration interface interface-id
|
Verify the configuration.
|
Step 6
|
copy running-config startup-config
|
(Optional) Save your entries in the configuration file.
|
To remove the maximum group limitation and return to the default of no maximum, use the no ip igmp max-groups interface configuration command.
This example shows how to limit the number of IGMP groups that an interface can join to 25.
Switch# configure terminal
Switch(config)# interface fastethernet0/12
Switch(config-if)# ip igmp max-groups 25
Switch# show running-config interface fastethernet0/12
Building configuration...
Current configuration : 123 bytes
interface FastEthernet0/12
Displaying IGMP Filtering Configuration
You can display IGMP profile characteristics, and you can display the IGMP profile and maximum group configuration for all interfaces on the switch or for a specified interface.
Beginning in privileged EXEC mode, use the commands in Table 16-8 to display IGMP filtering configuration:
Table 16-8 Commands for Displaying IGMP Filtering Configuration
show ip igmp profile [profile number]
|
Displays the specified IGMP profile or all IGMP profiles defined on the switch.
|
show running-configuration [interface interface-id]
|
Displays the configuration of the specified interface or all interfaces on the switch, including (if configured) the maximum number of IGMP groups to which an interface can belong and the IGMP profile applied to the interface.
|
This is an example of output from the show ip igmp profile privileged EXEC command when no profile number is entered. All profiles defined on the switch appear.
Switch# show ip igmp profile
range 230.9.9.0 230.9.9.0
range 229.9.9.0 229.255.255.255
This is an example of the output from 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.
Switch# show running-config interface fastethernet0/12
Building configuration...
Current configuration : 123 bytes
interface FastEthernet0/12