Tuesday, January 19, 2010

Why Should I Care About IP Multicast?


Many applications used in modern networks require information (voice, video, or data) to be sent to multiple end stations. When only a few end stations are targeted, 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 become dramatic. Deploying applications such as streaming video, financial market data, and IP telephony-based Music On Hold without enabling network devices for multicast support can cause severe degradation to a network’s performance.

What Problems Need to Be Solved?
Multicasting requires methods to efficiently deploy and scale distributed group applications across the network. This is accomplished by using protocols that reduce the network load associated with sending the same data to multiple receivers and that alleviate the high host/router processing requirements for serving individual connections.
Internet Group Management 

Protocol (IGMP)
IGMP is a protocol that allows end stations to join what is known as a multicast group. Joining a multicast group can be thought of as like subscribing to a session or service where multicast is used. IGMP relies on Class D IP addresses to create 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 out 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, as shown in the preceding figure. Source trees are optimized for latency but have higher memory requirements, because routers must keep track of all sources. With shared trees, shown in the following figure, the multicast data is sent to a common point in the network (known as the rendezvous point) before being sent to each receiver. In the figure, Router D serves as the rendezvous point, and all multicast data is routed through it. Shared trees require less memory in routers than source trees but may not always use the optimal path, which can resulting packet delivery latency

Layer 2 Multicast
A Layer 2 switch forwards all multicast traffic, which reduces network efficiency. Two methods, Cisco Group Management Protocol (CGMP) and IGMP snooping, were developed to mitigate this inefficient switch behavior. Cisco Group Management Protocol (CGMP) CGMP allowsCisco 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 2forwarding decisions to be made. IGMP Snooping IGMP snooping improves efficiency by enabling a Layer 2 switch to view Layer 3 information (IGMP) used to 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 a completely independent multicast routing table. It includes two different modes of behavior for dense and sparse traffic environments—dense mode and sparse mode:
  • In PIM 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 is sent, telling the router not to flood message on a particular interface. Dense mode only uses source trees. Because of the flood and prune behavior, dense mode is not recommended.
  • PIM sparse mode uses what is known as an “explicit join” model. In this model, traffic is only sent to hosts that explicitly ask to receive it. This is accomplished by sending a join message to the rendezvous point. An Anycast Rendezvous Point (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. join/leave messages) sent between hosts and routers. When an IGMP host report is sent through a switch, the switch adds the host’s port number to the associated multicast table entry. When the switch hears the IGMP leave group message from a host, the switch removes the host’s table entry. IGMP requires a switch to examine all multicast packets and therefore should be implemented only on high-end switches. Multicast Forwarding In unicast routing, traffic is routed from the source to the destination host. The router scans 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 more than one downstream path exists, the best ones (toward the group address) are chosen. These paths may or may not be the same path that would be chosen for a unicast packet. This is called Reverse Path Forwarding (RPF). RPF is used to create loop-free distribution trees.

Taken From CiscoPress