IP Multicast
Why Should I Care About Internet Protocol Multicast?
Many applications in modern networks require that you send information (voice, video, or data) to multiple end stations. When you target only a few end stations, sending multiple copies of the same information through the network (unicast) causes no ill effects. However, as the number of targeted end stations increases, the harmful effects of duplicate packets becomes dramatic. Deploying applications such as streaming video, financial market data, and Internet Protocol (IP) telephony—based Music-on-Hold without enabhng network devices for multicast support can cause severe degradation to a network’s performance.
What Are the Problems to Solve?
Multicasting requires methods to efficiently deploy and scale distributed group applications across the network. Multicasting uses protocols that reduce the network load associated with sending the same data to multiple receivers and alleviate the high host/router processing requirements for serving individual connections.
Internet Group Membership Protocol
Internet Group Membership Protocol (IGMP) allows end stations to join what is known as a multicast group. Joining a multicast group is like subscribing to a session or service that uses multicast. IGMP relies on Class D IP addresses for the creation of multicast groups.
When a multicast session begins, the host sends an IGMP message throughout the network to discover which end stations have joined the group. The host then sends traffic to all members of that multicast group. Routers “listen” to IGMP traffic and periodically send queries to discover which groups are active or inactive on particular LANs. Routers communicate with each other using one or more protocols to build multicast routes for each group.
Multicast Distribution Trees
Multicast-capable routers create distribution trees that control the path that IP multicast traffic takes through the network to deliver traffic to all receivers. The two basic types of multicast distribution trees are source trees and shared trees.
With source trees (also known as shortest- path trees), each source sends its data to each receiver using the most efficient path. Source trees are optimized for latency but have higher memory requirements because routers must keep track of all sources.
Shared trees send the multicast data to a common point in the network (known as the rendezvous point [RP]) prior to sending it to each receiver. Shared trees require less memory in routers than source trees but might not always use the optimal path, which can result in packet delivery latency.
Layer 2 Multicast
A Layer 2 switch forwards all multicast traffic, which reduces network efficiency. Iwo methods, Cisco Group Management Protocol (CGMP) and IGMP Snooping, mitigate this inefficient switch behavior.
Cisco Group Management Protocol
CGMP allows catalyst switches to make Layer 2 forwarding decisions based on IGMP information. When configured on switches and routers, CGMP ensures that IP multicast traffic is delivered only to ports that are attached to interested receivers or multicast routers. With CGMP running, any router receiving a multicast join message via a switch replies to the switch with a CGMP join message. This message allows Layer 2 forwarding decisions.
IGMP Snooping
IGMP Snooping improves efficiency by enabling a Layer 2 switch to look at Layer 3 information (IGMP join/leave messages) sent between hosts and routers. When an TGMP host report travels through a switch, the switch adds the port number of the host to the associated multicast table entry. When the switch hears the IGMP leave group message from a host, the switch removes the table entry of the host. IGMP requires a switch to examine all multicast packets and therefore should only operate on high-end switches.
Multicast Forwarding
In unicast routing, traffic moves from the source to the destination host. The router scans through its routing table for the destination address and then forwards a single copy of the unicast packet out the correct interface.
In multicast forwarding, the source sends traffic to several hosts, represented by a multicast group address. The multicast router must determine which direction is the upstream direction (toward the source) and which one is the downstream direction (toward the hosts). When there is more than one downstream path, the router chooses the best downstream path (toward the group address). This path might not be the same path chosen for a unicast packet. This process is called Reverse Path Forwarding (RPF). RPF creates distribution trees that are loop free.
Protocol Independent Multicast
Protocol Independent Multicast (PIM) is IPindependent and can leverage whichever unicast routing protocols populate the unicast routing table. PIM uses this unicast routing information to perform the multicast forwarding function. Although PIM is called a multicast routing protocol, it actually uses the unicast routing table to perform the RPF check function instead of building up a completely independent multicast routing table. It includes two different modes of behavior for dense and sparse traffic environments, dense mode and sparse mode.
PIM dense mode - In dense mode, the multicast router floods traffic messages out all ports (referred to as a “push” model). If a router has no hosts or downstream neighbors that are members of the group, a prune message tells the router nor to flood messages on a particular interface. Dense mode only uses source trees. Because of the flooding and pruning behavior., dense mode is not recommended.
PIM sparse mode - PIM sparse mode uses an “explicit join” model. This model sends traffic only to hosts that explicitly ask to receive it. The router sends a join message to the RP.
Anycast RP provides load balancing, redundancy, and fault tolerance by assigning the same IP address to multiple RPs within a PIM sparse mode network multicast domain.