PIM
Protocol Independent Multicast operates based on a router's unicast IP routing table. PIM can operate in one of three modes:
- Dense mode
- Sparse mode
- Sparse-dense mode
Two versions of PIM are available: version 1 and version 2.
PIM Modes
PIM Dense Mode (PIM-DM)
PIM routers become neighbors by exchanging hello messages.
Initially, multicast traffic is flooded to all PIM-DM routers, allowing the tree to be built.
If no hosts have registered with a router via IGMP to receive the traffic, that router can be pruned from the tree.
After the tree has been built, new hosts can join a group, and branches are rebuilt as necessary.
PIM Sparse Mode (PIM-SM)
A PIM-SM tree is built from the hosts to the root.
The tree's root is a PIM-SM router centrally located on the network, called a rendezvous point (RP).
This is considered a shared tree because the multicast source must also join the tree.
Once the source has been learned, PIM-SM routers switch to a shortest-path tree rooted at the multicast source.
PIM Sparse-Dense Mode
Sparse-dense mode allows a router to operate in either sparse or dense mode per group.
If a group has an RP defined, the router operates in sparse mode; otherwise, dense mode is used.
PIM Versions
PIMv1
The range of supported multicast groups can be limited with an ACL.
RPs can be configured manually, or dynamically via the auto-RP process.
If defined manually, the address of the RP must be configured on all routers, including the RP itself.
Auto-RP
Auto-RP is Cisco proprietary and provides a method of informing PIM-SM routers of the RP for a group.
A central router is identified as the mapping agent. The mapping agent learns of all candidate RPs by listening for multicasts to the Cisco-RP-Announce group (224.0.1.39).
A router must be explicitly defined as a candidate RP before it will announce itself.
PIMv2
PIMv2 provides a standards-compliant equivalent to Auto-RP, called the bootstrap router method.
In this method, a bootstrap router (BSR) is identified. The BSR then advertises RP information to each group.
