I learned a bit more about IGMP and PIM this morning. Hosts use IGMP (Internet Group Management Protocol) to register with the router to join or leave specific multicast groups. The router is then aware that it needs to forward the data stream destined for a specific multicast group to registered hosts. There are currently three versions of IGMP, versions 1, 2 and 3.

  • IGMPv1 – periodically sends membership queries (60-120 seconds) to the multicast address of all hosts 224.0.0.1. IGMPv4 does not have a defined mechanism for hosts to leave the multicast group. There, the IGMP routers learn that a group is no longer available when it times out due to not receiving any queries from that particular group.
  • IGMPv2 – Has group specific queries that allow a router to query for membership of a single group instead of all groups. Instead of waiting a time-out for a particular group, the last few hosts that are apart from a multicast group send a specific message to the router that it is leaving that group.
  • IGMPv3 – is still being designed and proposed. Version 3 adds the ability to filter multicasts based on the multicast source so that hosts can indicate that they want to receive traffic only from particular sources within a multicast group.

For Layer 2 devices to recognize multicast packets, use CGMP (Cisco Group Management Protocol) or IGMP Snooping. As you may have guessed, CGMP is a Cisco proprietary protocol designed specifically for Cisco switches. It allows you to manually configure specific switch ports for multicast traffic, but this feature is not scalable for that reason. IGMP Snooping enables a switch to spy on IGMP messages sent between routers and hosts, and updates its MAC address table accordingly.

PIM (Protocol Independent Multicast) is used by routers that forward multicast packets. PIM uses the normal IP routing table in its multicast calculations. PIM uses what are called distribution trees to forward multicast packets. There are two types of trees

  • Source Tree – A source tree is created for each source send to each multicast group. The source tree is rooted at the source and branches through the network to the receivers.
  • Shared Tree – This is a single tree that is shared among all sources for each multicast group. The shared tree has a single common root, called the rendezvous point (RP). Sources initially send their multicast packets to the RP, which in turn forwards data through a shared tree to group members.

PIM uses two modes that determine the type of spanning tree to use, including a hybrid mode:

  • PIM Sparse Mode (PIM-SM) – Sparse mode uses a “pull” model to send multicast traffic. uses a shared tree and therefore requires an RP to be defined.
  • PIM dense mode (PIM-DM) – Dense mode uses a “push” model that floods multicast traffic to the entire network. Dense mode uses source trees.
  • Sparse PIN dense mode – uses sparse and dense modes across your network

Leave a Reply

Your email address will not be published. Required fields are marked *