Let me ask you this: What is it about IP multicast that gives most people panic attacks?
For me, IP Multicast was scary and different than what I was used to; it is a little counterintuitive when you are used to dealing with standard IP unicast and broadcast concepts. Plus, there are a lot of new terms and concepts that come with IP multicast, and that can be overwhelming.
I’m fortunate: I happen to work in an environment where IP multicast is an integral part of a software suite that was developed in-house. The fact that IP multicast is so important to a product we support really forced me to have to learn and understand IP multicast, and specifically on Cisco infrastructure.
Since this article is designed to be a gentle introduction, I will concentrate on defining some crucial IP multicast terminology and some very general concepts of multicast.
Definition: IP Multicast
The Cisco IP Multicast Glossary has this definition of IP multicast:
- A routing technique that allows IP traffic to be sent from one source or multiple sources and delivered to multiple destinations. Instead of sending multiple packets to each destination, a single packet is sent to a group of destinations, known as a multicast group, which is defined by a single IP destination group address.
In multicast, our source hosts, also called senders, send out a group of packets (sometimes called a stream) to a multicast group IP address. Multicast IP addresses are Class D addresses (224.0.0.0/4); there are many IPs in this range that are reserved for administrative (routing, etc) functions, but there are also IPs set aside that are like RFC 1918 addresses in the unicast world, meaning you can use them on your internal network and not on the Internet. Different hosts on a network within your administrative control (your LAN) can subscribe to the group IP to receive the content that is being sent from the source host. Unlike IP broadcast, which is ‘one-to-all’ whether a host wishes to receive traffic or not, IP multicast protocols allow hosts to selectively receive the traffic they want, and hosts that don’t want that traffic don’t get it.
Definition: IGMP
IGMP, the Internet Group Management Protocol (originally specified in RFC 1112), is a standards-based protocol that provides a protocol for hosts on a LAN to tell their local router that they want to receive certain IP multicast group traffic. The point of IGMP was and is to allow hosts to dynamically register to receive the desired multicast traffic.
There are three versions of IGMP, appropriately named version 1, 2 and 3. Each version has characteristics that I will attempt to cover in future articles. The key point to remember here is that IGMP is how a host on your LAN tells its router that it wants to receive a certain multicast group.
Definition: PIM
Protocol Independent Multicast, PIM, is the multicast routing protocol that allows existing IP networks to route IP multicast, regardless of what unicast routing protocol is in use. You could be using EIGRP, OSPF, ISIS, even iBGP; PIM was designed to work over any existing IP routing protocol (thus the name ‘Protocol Independent’). PIM is designed to use the existing routing tables as provided by the unicast routing protocol to make its multicast routing decisions.
PIM was defined by the Internet Engineering Task Force and is an open standard. Since I have not worked with PIM on any platform other than Cisco, I won’t attempt to cover differences in implementation.
PIM has two typical modes of operation: Sparse and Dense. It’s difficult to really explain these well in a few words, so I will only say this: Dense mode floods traffic out until other routers tell it to stop, while Sparse mode only sends traffic when specifically requested. It’s an oversimplification, but think of Dense=more, Sparse=less.
Key Points Summary
We know that IGMP deals with multicast-enabled hosts on a LAN communicating with their router. IGMP=Host and Router. There are three versions of the IGMP protocol, with v2 being most prevalent, and v3 up and coming.
PIM deals with router-to-router communication. PIM relies on the underlying routing protocol (OSPF, EIGRP, etc) to be able to make its multicast routing happen. PIM=Router-to-Router.
Tune in Next Time
That is all for this installment. The next article will deal with IGMP and IGMP snooping more in-depth. After that, we’ll venture up the OSI stack and have a detailed look at PIM, SM and DM respectively.
For the most comprehensive IP Multicast for Cisco reference, look to Beau Williamson’s ‘Developing IP Multicast Networks, Volume 1’ from Cisco Press. It is absolutely required reading for the aspiring CCIE. If you have Cisco CCO access, locate the ‘Internetworking Technology Handbook’ and read the IP Multicast Chapter.


Recent Comments