|
|
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.
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.
The following guidelines apply when you configure CGMP:
To configure CGMP, enter this command in privileged mode:
| Task | Command |
|---|---|
| Enable CGMP on the switch. | set cgmp enable |
When you enable CGMP, it automatically identifies the ports to which a CGMP-capable router is attached. Enter the set multicast router command to statically configure multicast router ports:
| Task | Command |
|---|---|
| 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.
To enable CGMP leave processing, enter this command in privileged mode:
| Task | Command |
|---|---|
| Enable CGMP leave processing on a device. | set cgmp leave enable |
To disable CGMP leave processing, enter this command in privileged mode:
| Task | Command |
|---|---|
| Disable CGMP leave processing on a device. | set cgmp leave disable |
To disable manually configured multicast router ports, enter this command in privileged mode:
| Task | Command |
|---|---|
|
clear multicast router mod_num/port_num |
|
clear multicast router all |
To verify the CGMP configuration, enter these commands:
| Task | Command |
|---|---|
|
show cgmp statistics |
|
show multicast router [mod_num/port_num] [vlan_id] |
|
show multicast router cgmp [mod_num/port_num] [vlan_id] |
|
show multicast group [mac_addr] [vlan_id] |
|
show multicast group cgmp [mac_addr] [vlan_id] |
|
show multicast group count [cgmp/igmp] [vlan_id] |
This section contains examples of the commands used to configure and monitor CGMP.
Console> (enable)set cgmp enableCGMP support for IP multicast enabled.Console> (enable)
Console> (enable)set multicast router 3/1Port 3/1 added to multicast router port list.Console> (enable)
Console> (enable) show cgmp statistics 1 CGMP enabled CGMP statistics for vlan 1: valid rx pkts received 211915 invalid rx pkts received 0 valid cgmp joins received 211729 valid cgmp leaves received 186 valid igmp leaves received 0 valid igmp queries received 3122 igmp gs queries transmitted 0 igmp leaves transmitted 0 failures to add GDA to EARL 0 topology notifications received 80 number of CGMP packets dropped 2032227
Console> (enable)show multicast routerCGMP enabled IGMP disabled Port Vlan --------- ---------------- 2/1 99 2/2 255 3/1 * 1 7/9 2,99 Total Number of Entries = 4 '*' - Configured Console> (enable)
Console> (enable)show multicast router cgmpCGMP enabled IGMP disabled Port Vlan --------- ---------------- 2/1 99 2/2 255 7/9 2,99 Total Number of Entries = 3 '*' - Configured Console> (enable)
Console> (enable)show multicast group 2CGMP enabledIGMP disabledVLAN Dest MAC/Route Des Destination Ports or VCs / [Protocol Type]---- ------------------ ----------------------------------------------------2 01-00-5e-00-01-28* 7/92 01-00-5e-63-7f-6f* 7/92 01-00-5e-63-7f-70* 7/92 01-00-5e-63-7f-71* 7/92 01-00-5e-63-7f-72* 7/92 01-00-5e-63-7f-73* 7/92 01-00-5e-63-7f-74* 7/92 01-00-5e-63-7f-75* 7/92 01-00-5e-63-7f-76* 7/92 01-00-5e-63-7f-77* 7/92 01-00-5e-63-7f-e5* 7/92 01-00-5e-63-e3-dd* 7/92 01-00-5e-63-e3-de* 7/92 01-00-5e-63-e3-df* 7/92 01-00-5e-63-e3-e0* 7/92 01-00-5e-63-e3-e1* 7/92 01-00-5e-63-e3-e3* 7/92 01-00-5e-63-e3-e4* 7/92 01-00-5e-63-e3-e5* 7/9Total Number of Entries = 19Console> (enable)
Console> (enable) set cgmp leave enable CGMP leave processing enabled. Console> (enable) Console> (enable) show cgmp leave CGMP: enabled CGMP leave: enabled Console> (enable)
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.
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 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 EARL forwarding table automatically, without user intervention.
You can 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 CGMP-learned port link is disabled for any reason, CGMP removes that port from any multicast group memberships.
We recommend that you enable the Spanning-Tree Portfast feature on ports to which hosts are directly connected if you are using CGMP. For information on the Spanning-Tree Portfast feature, see the "Configuring Spanning Tree" chapter.
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 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.
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.
The following guidelines apply when you are configuring IGMP snooping:
To enable IGMP snooping on the Catalyst 5000 series switch, enter this command in privileged mode:
| Task | Command |
|---|---|
| Enable IGMP on the switch. | set igmp enable |
When you enable IGMP snooping, it automatically identifies the ports to which an IGMP-capable router is attached. To statically configure multicast router ports, enter this command in privileged mode:
| Task | Command |
|---|---|
| Statically configure multicast router ports (repeat for additional multicast routers). | set multicast router mod_num/port_num |
In the set multicast router command, mod_num /port_num is the module number and port number to which the IGMP-capable router is attached.
To disable IGMP snooping on the Catalyst 5000 series switch, enter this command in privileged mode:
| Task | Command |
|---|---|
| Disable IGMP on the switch. | set igmp disable |
To disable manually configured multicast router ports, enter these commands in privileged mode:
| Task | Command |
|---|---|
|
clear multicast router mod_num/port_num |
|
clear multicast router all |
To verify the IGMP configuration, enter these commands:
| Task | Command |
|---|---|
|
show igmp statistics |
|
show multicast router [mod_num/port_num] [vlan_id] |
|
show multicast router igmp [mod_num/port_num] [vlan_id] |
|
show multicast group [mac_addr] [vlan_id] |
|
show multicast group igmp [mac_addr] [vlan_id] |
|
show multicast group count [igmp] [vlan_id] |
|
show igmp mode |
This section contains examples of the commands used to configure IGMP snooping:
Console> (enable) set igmp enable IGMP Snooping is enabled. CGMP is disabled. Console> (enable)
Console> (enable)set multicast router 3/1Port 3/1 added to multicast router port list.Console> (enable)
Console> (enable) show igmp statistics 1 IGMP enabled IGMP statistics for vlan 1: Total valid pkts rcvd: 18951 Total invalid pkts recvd 0 General Queries recvd 377 Group Specific Queries recvd 0 MAC-Based General Queries recvd 0 Leaves recvd 14 Reports recvd 16741 Queries Xmitted 0 GS Queries Xmitted 16 Reports Xmitted 0 Leaves Xmitted 0 Failures to add GDA to EARL 0 Topology Notifications rcvd 10 IGMP packets dropped 0 Console> (enable)
Console> (enable)show multicast routerCGMP disabled IGMP enabled Port Vlan --------- ---------------- 1/1 1 2/1 2,99,255 5/7 * 99 Total Number of Entries = 3 '*' - Configured Console> (enable)
Console> (enable)show multicast router igmpCGMP disabled IGMP enabled Port Vlan --------- ---------------- 1/1 1 2/1 2,99,255 Total Number of Entries = 2 '*' - Configured Console> (enable)
Console> (enable)show multicast group 99CGMP disabledIGMP enabledVLAN Dest MAC/Route Des Destination Ports or VCs / [Protocol Type]---- ------------------ ----------------------------------------------------99 01-00-5e-7f-b8-b3* 2/1,5/2,5/799 01-00-5e-7f-e2-77* 2/1,5/2,5/7Total Number of Entries = 2Console> (enable)
Console> (enable) show multicast group count CGMP disabled IGMP enabled Total Number of Entries = 23 Console> (enable)
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.
By default, broadcast/multicast suppression is disabled.
To configure broadcast/multicast suppression, enter this command:
| 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 this command:
| Task | Command |
|---|---|
| Disable broadcast/multicast suppression. | clear port broadcast mod_num/port_num
|
To verify the broadcast/multicast suppression configuration for all ports on module 3, enter the show port broadcast 3 command. After entering the show port broadcast 3 command, you see this display:
Console> (enable)show port broadcast 3Port Broadcast-Limit Broadcast-Drop------ --------------- --------------3/1 30 % 03/2 30 % 03/3 30 % 03/4 30 % 03/5 30 % 03/6 30 % 03/7 30 % 03/8 30 % 03/9 30 % 03/10 30 % 03/11 0 % 03/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 dropped due to broadcast/multicast suppression.
To verify the broadcast/multicast suppression configuration for port 1 on module 2, enter the show port broadcast 2/1 command. After entering the show port broadcast 2/1 command, you see this display:
Console> (enable)show port broadcast 2/1Port 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 dropped due to broadcast/multicast suppression.
This section provides examples for setting the broadcast/multicast suppression threshold for one or more ports.
Console> (enable)set port broadcastUsage: set port broadcast <mod_num/port_num> <threshold>[%](threshold = 0..150000 packets/second or 0-100 percent0 pps or 100% unlimits broadcast traffic)
Console> (enable)set port broadcast 2/1-3/24 500Ports 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 0Ports 3/10-12 broadcast traffic unlimited.
Broadcast/multicast suppression works by measuring broadcast/multicast activity on a LAN. Broadcast/multicast activity can be measured in two ways:
Since the packet size 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 12-1 provides an example in which broadcast/multicast suppression occurred between time intervals T1 and T2 and between T4 and T5.

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.
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 unicast or broadcast/multicast. 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 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 is supported in all Ethernet modules that support hardware broadcast/multicast suppression (see the section "Hardware Broadcast/Multicast Suppression"); it is not available for use with ATM or FDDI cards.
Since software broadcast/multicast suppression uses a packet-based method to measure broadcast/multicast activity, the most significant implementation factor is setting a threshold value for the number of broadcast packets-per-second allowed. If you set the threshold number to 0 packets per second, no broadcast/multicast packets are suppressed.
|
|