traffic is normally treated like an unknown MAC
address or broadcast frame that causes the frame to be flooded
out every port within a VLAN. This treatment is acceptable for
unknowns and broadcasts, but, as noted earlier, IP multicast
hosts may join and be interested in only specific multicast
groups. On most Layer 2 switches, this traffic is forwarded out
all ports, resulting in wasted bandwidth on both of the
segments and on the end stations. One method that Cisco
Catalyst switches used to circumvent this is to allow the
administrator to configure the switch manually to associate a
multicast MAC address with various ports. For example, the
administrator configures ports 5, 6, and 7 so that they are the
only ones that receive the multicast traffic destined for the
multicast group. This method works but is not scalable. IP
multicast hosts dynamically join and leave groups using IGMP to
signal to the multicast router. Dynamic configuration of the
forwarding tables of the switches is more effective and reduces
user administration.
Content 7.2 IGMP and Layer
2 Issues 7.2.6 Multicast in Layer 2
Solutions Many multicast switching solutions have been
developed to improve the behavior of the switches when they
receive multicast frames, such as the following: CGMP is a Cisco Systems
proprietary protocol that runs between a multicast router and a
switch. This protocol enables the Cisco multicast router to
inform the switch about the information contained in the IGMP
packet after it receives IGMP messages sent by hosts. With IGMP
snooping, a switch must examine every multicast data packet to
determine if it contains any pertinent IGMP control information
and then updates the MAC table accordingly. IGMP snooping
implemented on a low-end switch with a slow CPU could have a
severe performance impact when data is sent at high rates. The
solution is to implement IGMP snooping on high-end switches
with special application-specific integrated circuits (ASICs)
that can perform the IGMP checks in hardware. CGMP is a better
option for low-end switches without special hardware.
Content 7.2 IGMP and Layer 2 Issues
7.2.7 Cisco Group Management Protocol (CGMP) CGMP
is the most common multicast switching solution, and it was
first implemented by Cisco. CGMP is based on a client/server
model, where the router is considered a CGMP server and the
switch assumes the client role. There are software components
running on both devices, with the router translating IGMP
messages into CGMP commands, which are then processed in the
switches and used to populate the Layer 2 forwarding tables
with the correct multicast entries. The basis of CGMP is that
the IP multicast router sees all IGMP packets and informs the
switch when specific hosts join or leave multicast groups.
Routers use well-known CGMP multicast MAC addresses to send
CGMP control packets to the switch. The switch then uses this
information to program the forwarding table. When the router
sees an IGMP control packet, it creates a CGMP packet that
contains the request type (join or leave), the Layer 2
multicast MAC address, and the actual MAC address of the
client. This packet is sent to the well-known CGMP multicast
MAC address of 0x0100.0cdd.dddd that all CGMP switches listen
to. The CGMP control message is then interpreted, and the
proper entries are created in the switch content-addressable
memory (CAM) table to constrain the forwarding of multicast
traffic for this group.
Content 7.2 IGMP and
Layer 2 Issues 7.2.8 IGMP Snooping The
second multicast switching solution is IGMP snooping. As its
name implies, switches become IGMP-aware and listen in on the
IGMP conversations between hosts and routers. This activity
requires the processor in each switch to identify and intercept
a copy of all IGMP packets flowing between routers and hosts
and vice versa. It includes these IGMP packets: - IGMP
membership reports
- IGMP leaves
If care is
not taken as to how IGMP snooping is implemented, a switch may
have to intercept all Layer 2 multicast packets to identify
IGMP packets. This action can have a significant impact on
switch performance. Proper designs require special hardware
(Layer 3 ASICs) to avoid this problem, which may directly
affect the overall cost of the switch. Switches must be Layer
3-aware to avoid serious performance problems because of IGMP
snooping.
Content 7.3 Multicast Routing
Protocols 7.3.1 Protocols Used in
Multicast Multicast distribution trees define the path from
the source to the receivers over which the multicast traffic
flows.There are two types of multicast distribution trees:
- Source trees
- Shared trees
With a
source tree, a separate tree is built for each source to all
members of its group. Because the source tree takes the
shortest path from the source to its receivers, it is also
called a shortest path tree (SPT). Each source/group pair
requires its own state information. For groups that have a very
large number of sources, or networks that have a very large
number of groups with a large number of sources in each group,
source trees can stress the storage capability of routers.
Note
Source trees are also referred to as
source-based trees or source-root trees. Shared tree protocols
create multicast forwarding paths that rely on a central core
router that serves as a rendezvous point (RP) between multicast
sources and destinations. Sources initially send their
multicast packets to the RP, which in turn forwards data
through a shared tree to the members of the group. A shared
tree is less efficient than an SPT (paths between the source
and receivers are not necessarily the shortest), but it is less
demanding on routers (memory, CPU). There are basically two
types of multicast routing protocols: dense mode and sparse
mode: - Dense mode protocols flood multicast traffic to
all parts of the network and prune the flows where there are no
receivers, using a periodic flood-and-prune mechanism.
- Sparse mode protocols use an explicit join mechanism where
distribution trees are built on demand by explicit tree join
messages sent by routers that have directly connected
receivers.
Content 7.3 Multicast
Routing Protocols 7.3.2 Multicast Distribution
Trees Figure shows an SPT between source 1 and receivers 1
and 2. It is appropriately assumed that the path between the
source and receivers over routers A, C, and E is the path with
the lowest cost. Packets are forwarded according to source and
group address pair. The forwarding state associated with the
SPT is referred to by the notation (S, G), pronounced “S comma
G”, where S is the IP address of the source, and G is the
multicast group address. Figure shows another example of SPT,
where source 2 is active and is sending multicast packets to
receivers 1 and 2. A separate SPT is built for this purpose,
this time with source 2 at the root of the SPT. The main point
is that a separate SPT is built for every source S sending to
group G. Figure shows a shared distribution tree. Router D is
the root of this shared tree, which is built from router D to
routers C and E toward receivers 1 and 2. In
Protocol-Independent Multicast (PIM), the root of the shared
tree is an RP. Packets are forwarded down the shared
distribution tree to the receivers. The default forwarding
state for the shared tree is identified by the notation (*, G),
pronounced “star comma G”, where the asterisk (*) is a wildcard
entry, meaning any source, and G is the multicast group
address. In Figure , source 1 and source 2 are sending
multicast packets toward a RP via SPTs, and from the RP, the
multicast packets are flowing via a shared distribution tree
toward receivers 1 and 2.
Content 7.3 Multicast
Routing Protocols 7.3.3 Multicast Distribution
Trees Identification The multicast forwarding entries that
appear in multicast forwarding tables are read in the following