What is IP Mulitcast?
Multicast allows a host to efficiently send a single IP packet to multiple destinations. The packet is replicated as necessary by routers throughout the network without ever having more than one copy of the packet traverse a particular network link. The sender doesn't need to do anything special or even know about all the designations. It simply sends the packet to a special IP address called a Multicast Group. Hosts that want to receive the packets send a special message called an IGMP Join to their nearest router and it handles the mechanics of requesting the stream from its upstream router. Multicast is primarily used for applications such as multimedia streaming where the data is broadcast at a steady rate and packet loss is acceptable.
NTP (network time protocol) and Session Directory Protocol advertisements are a few other examples of protocols that can use multicast. Multicast is attractive because it makes efficient use of network bandwidth. For a traditional RealAudio or other multimedia server to service 100 clients it must send 100 copies of the stream across its WAN link. With multicast each router involved in the broadcast replicates packets where necessary to make most efficient use of network links.
The drawback of multicast is that it is far more complex than unicast. Researchers have been working on the technology for more than a decade but it has only started to gain wide acceptance in the past few years. Most commercial providers still don't support it. MOREnet's support is still limited. Multicast saves bandwidth but requires routers to be smarter and keep track of more details (to have faster CPUs and more memory) than is required in a unicast environment.
What is a Multicast Group address?
Multicast groups uses a special range of IP addresses reserved for that purpose. These addresses range from 184.108.40.206 to 220.127.116.11.
What is PIM?
PIM stands for Protocol-Independent Multicast. The protocol was created by Cisco but has been adopted by several other vendors. PIM is a complex protocol that handles the transmission of multicast packets to all hosts in the multicast group while preventing loops and wasted bandwidth. PIM has two modes: dense mode and the newer sparse mode. PIM can manage some multicast groups in dense mode and some in sparse mode.
What is PIM Dense Mode?
Dense mode PIM is the older and simpler PIM mode. It works well in small networks where there are a large number of listeners, but is inefficient in larger networks. Cisco no longer recommends using dense mode. It works via a flood and prune strategy, where a multicast group is initially flooded to every router in the network, and then routers that don't have any listeners for a group send "prune" messages back upstream to block transmission. Every three minutes the routers begin flooding again and prunes must be repeated. A later addition to dense-mode called grafting allows routers to actively request a multicast group from the upstream router.
What is PIM Sparse Mode?
PIM sparse mode is more efficient when you have relatively few listeners for any given multicast stream. It saves bandwidth over Dense mode but is much more complex and requires a central router called a Rendezvous Point or RP to arbitrate traffic flow. When a receiver wants to receive traffic from a particular multicast group it sends a Join message toward the RP. This builds up a multicast path called the shared tree from the RP to the receiver as it travels toward the RP. When a source begins to transmit on a group the directly connected router initially encapsulates the packet in a Register message and sends it via Unicast to the RP. The RP sends the encapsulated multicast traffic down the shared tree to any listeners that have already joined. The RP also sends a join toward the sender to extend the shared tree to it. Now all traffic is flowing from sender to all receivers, although it is all passing through the RP rather than taking the most efficient path. If the bandwidth used by the session exceeds a certain threshold the router nearest each receiver can send a multicast join directly toward the sender. As the Join travels through the network a new multicast routing tree is created through the network, called the Shortest Path Tree. This is the most efficient path and once it is built the network will start using it to get from the sender to the receiver. This has just scratched the surface. See Cisco's website if you really want to know more.
What is MSDP?
The Multicast Source Discovery Protocol, or MSDP, is a protocol to allow multiple PIM sparse-mode domains to work together. Because PIM-SM requires a single RP router for each group it doesn't scale very well across administrative domains. With MSDP each domain has its own RPs and MSDP provides the conduit for the RPs to learn about each other's active multicast groups.
What is an RPF check?
Multicast routing adds a whole new complexity to normal unicast routing. The router doesn't just have to worry about which interfaces it must transmit the packets out on. It also has to consider the source IP of the packet and which interface it arrives on to prevent loops. It does this by performing an RPF, or Reverse Path Forwarding check. Normally this means looking up the source IP in the router's unicast routing table and seeing if it has a route to the source going out the interface that the packet came in on. If not then the packet didn't arrive on the most efficient path between source and the router and should be discarded. There are other criteria that RPF checks can be based on, but this gets complicated quickly.
Where can I learn more about Multicast?
The best place to learn about Multicast and how it relates to Cisco routers is at ftp://ftpeng.cisco.com/ipmulticast.html.