Protocol Independent Multicast
Protocol Independent Multicast (PIM) refers to a family of multicast routing protocols that can provide one-to-many and many-to-many distribution of data over the Internet. The "protocol independent" part refers to the fact that PIM does not include its own topology discovery mechanism, but instead uses routing informtation supplied by other traditional routing protocols such as BGP.
There are three variants of PIM:
- PIM Sparse Mode (PIM-SM) explicitly builds unidirectional shared trees rooted at a Rendezvous Point (RP) per group, and optionally creates shortest-path trees per source. PIM-SM generally scales fairly well for wide-area usage.
- PIM Dense Mode (PIM-DM) implicitly builds shortest-path trees by flooding multicast traffic domain wide, and then pruning back branches of the tree where no receivers are present. PIM-DM generally has poor scaling properties.
- Bidirectional PIM explicitly builds shared bi-directional trees. It never builds a shortest path tree, so may have longer end-to-end delays than PIM-SM, but scales well because it needs no source-specific state.
Of the three PIM-SM is has the widest deployment.