Table of Contents

Configuring Multicast Services

Configuring Multicast Services

This chapter describes how to configure multicast services on Catalyst 5000 series switches.

Multicast Services Overview

Interactive applications such as video conferencing, delivery of live stock quotes, and shared whiteboard applications rely on multicast traffic, both within intranets and on the Internet. Multicasting saves bandwidth by forcing the network to replicate packets only when necessary. In addition, multicasting allows hosts to dynamically join and leave groups at any time, unrestricted by the number of members in the group or by the location of the group within the network.

This chapter describes the following multicast services:

Cisco Group Management Protocol

CGMP manages multicast traffic in Catalyst 5000 series switches by allowing directed switching of IP multicast traffic within a network at rates greater than one million packets per second.

CGMP requires only a software upgrade on the Catalyst 5000 series switch and at least one Cisco router running software release 11.1(3) or later.

CGMP offers the following benefits:

Prerequisites

CGMP filtering requires a network connection from the Catalyst 5000 series switch to a router running CGMP.

Procedure

By default, CGMP is disabled, and no multicast routers are configured.

To configure CGMP, use the set cgmp and set multicast router commands to perform the following steps:

Task Command
Step 1 Enable CGMP on a device. set cgmp enable
Step 2 Configure multicast router ports. set multicast router mod_num/port_num

In the set multicast router command, mod_num is the number of the module, and port_num is the number of the port on that module to which the CGMP-capable router is attached.


Note When CGMP is enabled, it automatically identifies the ports to which the CGMP-capable router is attached. The set multicast router command allows you to statically configure multicast router ports.

To disable all CGMP router ports, enter the following command:

console> (enable) clear multicast router all

To disable specific CGMP router ports, enter the following command:

console> (enable) clear multicast router mod_num/port_num

Verification

To verify the CGMP configuration, enter the show multicast router, show multicast group, and show cgmp statistics commands, as follows:

console> (enable) show multicast router [cgmp] [mod_num/port_num] [vlan_id]
console> (enable) show multicast group [cgmp] [mac_addr] [vlan_id]
console> (enable) show cgmp statistics [vlan_id]

The "Examples" section contains complete output for the show multicast router, show multicast group, and show cgmp statistics commands.

Examples

This section contains examples of the commands used to configure CGMP.

console> (enable) set cgmp enable
CGMP support for IP multicast enabled.
console> (enable) set multicast router 3/1
Port 3/1 added to multicast router port list.
This example associates a CGMP-capable router to module 3, port 1.
console> (enable) show multicast router 4/9
CGMP enabled
Port        Vlan
------      -----------
4/9         1,5,200-203
Total Number of Entries = 1
This example shows that multicast router module 4, port 9 is in VLAN 1, VLAN 5, and VLANs 200 through 203.
console> (enable) show multicast router 5
CGMP enabled
Port        Vlan
------      -----------
3/1         5
4/9         5
Total Number of Entries = 2
This example shows that VLAN 5 contains two CGMP ports, one on module 3, port 1, and one on module 4, port 9.
console> (enable) show multicast router cgmp 5
CGMP enabled
Port        Vlan
------      -----------
4/9         5
This example shows that module 4, port 9, on VLAN 5 has been automatically configured by CGMP to be a multicast router port. By entering the cgmp keyword, you can distinguish between information that has been learned automatically through CGMP and information that has been entered manually.
console> (enable) show multicast group cgmp 5
CGMP enabled
Vlan        Destination MAC        Destination Ports of VC's
------      ----------------       -------------------------
5           01-00-5E-00-00-5C      3/1, 3/9
5           01-00-5E-00-00-FF      3/7, 3/9
This example shows two multicast groups automatically defined for VLAN 5 (media access controller [MAC] addresses 01-00-5E-00-00-5C and 01-00-5E-00-00-FF) and the ports associated with those groups.
console> (enable) show multicast group 01-00-5E-00-00-5C 5
CGMP enabled
Vlan         Destination MAC       Destination Ports of VC's
------       ------------------    -------------------------
5            01-00-5E-00-00-5C    3/1, 3/9

This example shows that the multicast group at MAC address 01-00-5E-00-00-5C on VLAN 5 is associated with module 3, port 1 and module 3, port 9.
console> (enable) show cgmp statistics 2
CGMP enabled
CGMP statistics for vlan 2:
No of valid rx pkts rcvd: 20
No of invalid rx pkts rcvd: 0
No of valid join msgs rcvd: 15
No of valid leave msgs rcvd: 5
No of failures to add 	 to EARL: 0
No of topology notifications rcvd: 0
Console> (enable>

How CGMP Works

CGMP works with Internet Group Management Protocol (IGMP) messages to dynamically configure Catalyst 5000 series switch ports so that IP multicast traffic is forwarded only to those ports associated with IP multicast hosts.


Note For information on IP multicast, including IGMP, refer to RFC 1112.

CGMP software components run on both the router and the Catalyst 5000 series switch. A CGMP-capable IP multicast router sees all IGMP packets and can inform the Catalyst 5000 series switch when specific hosts join or leave IP multicast groups. When the CGMP-capable router receives an IGMP control packet, it creates a CGMP packet that contains the request type (either join or leave), the multicast group address, and the actual MAC address of the host. The router then sends the CGMP packet to a well-known address to which all Catalyst 5000 series switches listen. When a switch receives the CGMP packet, the supervisor engine module interprets the packet and modifies the Encoded Address Recognition Logic (EARL) forwarding table automatically, without user intervention.

You can explicitly set up multicast groups by entering the set cam static command. User-specified multicast group settings are static, whereas multicast groups learned through CGMP are dynamic. If you specify group membership for a multicast group address, your static setting supersedes any automatic manipulation by CGMP. Multicast group membership lists can consist of both user-defined and CGMP-learned settings.

If a spanning-tree VLAN topology changes, the CGMP-learned multicast groups on the VLAN are purged and the CGMP-capable router generates new multicast group information.

If a CGMP-learned port link is disabled for any reason, CGMP removes that port from any multicast group memberships.

Joining a Multicast Group

When a host wants to join an IP multicast group, it sends an IGMP join message specifying its MAC address and which IP multicast group it wants to join. The CGMP-capable router then builds a CGMP join message and multicasts the join message to the well-known address to which the Catalyst 5000 series switches listen. Upon receipt of the join message, each Catalyst 5000 series switch searches its EARL table to determine if it contains the MAC address of the host asking to join the multicast group. If a switch finds the host's MAC address in its EARL table associating the MAC address with a nontrunking port, the switch creates a multicast forwarding entry in the EARL forwarding table. The host associated with that port then receives multicast traffic for that multicast group. In this way, the EARL automatically learns the MAC addresses and port numbers of the IP multicast hosts.

Leaving a Multicast Group

The CGMP-capable router sends periodic multicast-group queries. If a host wants to remain in a multicast group, it responds to the query from the router. In this case, the router does nothing. If a host does not want to remain in the multicast group, it does not respond to the router query. If after a number of queries, the router receives no reports from any host in a multicast group, the router sends a CGMP command to the Catalyst 5000 series switch, telling it to remove the multicast group from its forwarding tables.


Note If there are other hosts in the same multicast group and they do respond to the multicast-group query, the router does not tell the switch to remove the group from its forwarding tables. The router does not remove a multicast group from the switch's forwarding tables until all the hosts in the group have asked to leave the group.

The CGMP fast-leave-processing feature allows the Catalyst 5000 series supervisor engine module to detect IGMP V.2 leave messages sent on the all-routers multicast address by hosts on any of the supervisor engine module ports. When the supervisor engine module receives such a leave message, it starts a query-response timer. If this timer expires before a join message (an IGMP membership report) is received, then the port 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.

Broadcast/Multicast Suppression

Broadcast/multicast suppression prevents switched ports on a LAN from being disrupted by a broadcast storm on one of the ports. A LAN broadcast storm occurs when broadcast or multicast packets flood the LAN, creating excessive traffic and degrading network performance. Since switched LANs act as a single LAN, a broadcast storm on one port can adversely affect the entire LAN. Errors in the protocol-stack implementation or in the network configuration cause a broadcast storm.

Because Catalyst 5000 series LAN switches operate at Layer 2, broadcast/multicast suppression is a critical element to prevent network performance degradation.

The following sections describe the broadcast/multicast suppression mechanism and its implementation.

Procedure

By default, broadcast/multicast suppression is disabled.

To configure broadcast/multicast suppression, perform the following task:

Task Command
Set the broadcast/multicast suppression threshold for one or more ports. set port broadcast mod_num/port_num threshold [%]

In the set port broadcast command, mod_num is the module number, and port_num is the number of the port on the module.

The threshold setting in the set port broadcast command can be defined in two ways:

When specifying a bandwidth-based threshold, you must include the percent (%) sign. When specifying a packets-per-second-based threshold, do not include the percent sign. For more information, see the "Examples" section.

To disable broadcast/multicast suppression for one or more ports, enter the following command:

Console> (enable) clear port broadcast mod_num/port_num

Verification

To verify the broadcast/multicast suppression configuration for all ports on module 3, use the show port broadcast 3 command. After entering the show port broadcast 3 command, you see the following display:

Console> (enable) show port broadcast 3
Port     Broadcast-Limit  Broadcast-Drop
------   ---------------  --------------
3/1                  30 %              0
3/2                  30 %              0
3/3                  30 %              0
3/4                  30 %              0
3/5                  30 %              0
3/6                  30 %              0
3/7                  30 %              0
3/8                  30 %              0
3/9                  30 %              0
3/10                 30 %              0
3/11                  0 %              0
3/12                 30 %              0

This display shows that all ports on module 3 are configured for bandwidth-based broadcast/multicast suppression, that broadcast limit is set to 30 percent, and that 0 packets have been dropped due to broadcast/multicast suppression.

To verify the broadcast/multicast suppression configuration for port 1 on module 2, use the show port broadcast 2/1 command. After entering the show port broadcast 2/1 command, you see the following display:

Console> (enable) show port broadcast 2/1
Port     Broadcast-Limit  Broadcast-Drop 
------   ---------------  --------------
2/1              100 p/s  259

This display shows that port 1 on module 2 is configured for packet-based broadcast/multicast suppression, that the broadcast limit is set to 100 packets-per-second, and that 259 packets have been dropped due to broadcast/multicast suppression.

Examples

This section provides examples for by entering the broadcast/multicast suppression commands to set the broadcast/multicast suppression threshold for one or more ports.

Console> (enable) set port broadcast 
Usage: set port broadcast <mod_num/port_num> <threshold>[%]
       (threshold = 0..150000 packets/second or 0-100 percent
        0 pps or 100% unlimits broadcast traffic)

Console> (enable) set port broadcast 2/1-3/24 500
Ports 2/1-3/24 broadcast traffic limited to 500 packets.
Console> (enable) set port broadcast 4/3 20%
Ports 4/1-24 broadcast traffic limited to 20%.
Console> (enable) set port broadcast 4/3 100%
Ports 4/1-24 broadcast traffic unlimited.
Console> (enable) set port broadcast 3/10-12 0
Ports 3/10-12 broadcast traffic unlimited.

How Broadcast/Multicast Suppression Works

Broadcast/multicast suppression works by measuring broadcast/multicast activity on a LAN. Broadcast/multicast activity can be measured in two ways:

Since the size of packets varies, bandwidth-based measurement is more accurate and effective than packet-based measurement.

Broadcast/multicast suppression uses filtering that measures broadcast/multicast activity on a LAN over a one-second time period and compares the measurement with a predefined threshold. If the threshold is reached, further broadcast activity is suppressed for the duration of the time period.

Figure 10-1 provides an example in which broadcast/multicast suppression occurred between time intervals T1 and T2 and between T4 and T5.


Figure 10-1: Broadcast/Multicast Suppression



The broadcast suppression threshold numbers and the time interval combination make the broadcast/multicast suppression algorithm work with different levels of granularity. A higher threshold allows more broadcast/multicast packets to pass through.

Broadcast/multicast suppression is implemented in either hardware or software. Hardware broadcast/multicast suppression uses the bandwidth-based method. Software broadcast/multicast suppression uses the packet-based method.

The following sections describe the hardware and software implementations of broadcast/multicast suppression.

Hardware Broadcast/Multicast Suppression

Hardware broadcast/multicast suppression circuitry in Catalyst 5000 series switches monitors packets passing from a port to the Catalyst 5000 switching bus. Using the Individual/Group bit in the packet destination address, the broadcast/multicast suppression circuitry determines if the packet is a unicast or broadcast/multicast packet. It keeps track of the current count of broadcast/multicast words within the one-second time interval, and when a threshold is reached, filters out subsequent broadcast/multicast packets.

Since hardware broadcast/multicast suppression uses a bandwidth-based method of measuring broadcast/multicast activity, the most significant implementation factor is setting the percentage of total available bandwidth that can be used by broadcast/multicast traffic. A threshold value of 100 percent means that no limit is placed on broadcast traffic. A threshold value of 0 percent means that broadcast/multicast suppression is disabled. (By default, broadcast/multicast suppression is disabled.) The set port broadcast command allows you to set up the broadcast suppression threshold value. You enable broadcast/multicast suppression by setting the threshold to a value greater than 0 percent.

Since packets do not arrive at uniform intervals, the one-second time interval during which broadcast/multicast activity is measured can affect the behavior of broadcast/multicast suppression.

The following Catalyst 5000 series switching modules support hardware broadcast/multicast suppression:

Software Broadcast/Multicast Suppression

Software broadcast/multicast suppression is supported in all Ethernet line cards; it is not available for use with ATM, FDDI, or Token Ring cards.

Software Broadcast Suppression Requires Catalyst 5000 Series Software Version 2.2(1) and above.

Since software broadcast/multicast suppression uses a packet-based method of measuring broadcast/multicast activity, the most significant implementation factor is setting a threshold value for the number of broadcast packets-per-second allowed. If the threshold number is set as 0 packets per second, no broadcast/multicast packets are suppressed.


Note Validation of command-line interface (CLI) and Simple Network Management Protocol (SNMP) commands by the supervisor engine module only occurs if a line card has the broadcast/multicast suppression feature. Hardware broadcast/multicast suppression takes precedence over software broadcast/multicast suppression unless the hardware broadcast/multicast suppression feature is disabled (that is, when the threshold value is set to 100 percent).


Copyright 1989-1998 © Cisco Systems Inc.