(PIM-DM) is a multicast routing protocol that uses the underlying unicast routing information base to flood multicast datagrams to all multicast routers. Prune messages are used to prevent future messages from propagating to routers without group membership information. Protocol Independent Multicast (PIM) refers to a group of multicast routing protocols, each optimized for a different environment. There are three PIM protocols, PIM Sparse Mode (PIM-SM), PIM Dense Mode(PIM_DM), and Bi-directional PIM (BIDIR-PIM). All PIM protocols share a common control message format. PIM control messages are sent as raw IP datagrams, either multicast to the link-local ALL PIM ROUTERS multicast group, or unicast to a specific destination.
PIM-DM assumes that when a source starts sending, all downstream systems want to receive multicast datagrams. Initially, multicast datagrams are flooded to all areas of the network. PIM-DM uses RPF to prevent looping of multicast datagrams while flooding. If some areas of the network do not have group members, PIM-DM will prune off the forwarding branch by instantiating prune state.
Prune state has a finite lifetime. When that lifetime expires, data will again be forwarded down the previously pruned branch. Prune state is associated with an (S,G) pair. When a new member for a group G appears in a pruned area, a router can "graft" toward the source S for the group, thereby turning the pruned branch back into a forwarding branch.
The broadcast of datagrams followed by pruning of unwanted branches is often referred to as a flood and prune cycle and is typical of dense mode protocols.
To minimize repeated flooding of datagrams and subsequent pruning associated with a particular (S,G) pair, PIM-DM uses a state refresh message. This message is sent by the router(s) directly connected to the source and is propagated throughout the network. When received by a router on its RPF interface, the state refresh message causes an existing prune state to be refreshed.
PIM-DM is mainly designed for multicast LAN applications, while the PIM-SM is for wide area, inter-domain networks. PIM-DM differs from PIM-SM in two essential ways: 1) There are no periodic joins transmitted, only explicitly triggered prunes and grafts. 2) There is no Rendezvous Point (RP). This is particularly important in networks that cannot tolerate a single point of failure.
PIM-DM implements the same flood-and-prune mechanism that Distance Vector Multicast Routing Protocol (DVMRP) and other dense mode routing protocols employ. The main difference between DVMRP and PIM-DM is that PIM-DM introduces the concept of protocol independence. PIM-DM can use the routing table populated by any underlying unicast routing protocol to perform reverse path forwarding (RPF) checks.
ISPs typically appreciate the ability to use any underlying unicast routing protocol with PIM-DM because they need not introduce and manage a separate routing protocol just for RPF checks. Unicast routing protocols extended as Multiprotocol Extensions to BGP (MBGP) and Multitopology Routing for IS-IS (M-ISIS) were later employed to build special tables to perform RPF checks but PIM-DM does not require them.
PIM-DM can use the unicast routing table populated by OSPF, IS-IS, BGP and so on, or PIM-DM can be configured to use a special multicast RPF table populated by MBGP or M-ISIS when performing RPF checks.
Protocol Structure
| PIM version | Type | Reserved (Address length) | Checksum |
- PIM version C The current PIM version is 2.
- Type -- Types for specific PIM messages.
- Address length -- Address length in bytes. The length of the address field throughout, in the specific message. Reserved (the value of this field is set to 0, ignore on receipt)
- Checksum - The 16-bit one's complement, of the one's complement sum of the entire PIM message.
Related Terms: IP, PIM-SM, ICMP, OSPF, RIP, DVMRP, IS-IS, BGP, IGRP, EIGRP
Sponsor Source: PIM-DM was not formalized by IETF (http://www.ietf.org)
Reference: http://www.javvin.com/protocol/rfc3973.pdf: Protocol Independent Multicast - Dense Mode (PIM-DM): Protocol Specification (Revised)
