PIM, Protocol Independent Multicast

Description Glossary RFCs Publications Obsolete RFCs

Description:

Protocol suite: TCP/IP.
Protocol type:Transport layer multicast routing protocol.
Multicast addresses: 224.0.0.13 (IPv4 all PIM routers).
FF02::D (IPv6 all PIM routers).
IP Protocol:103.
MIME subtype:
SNMP MIBs:iso.org.dod.internet.experimental.pimMIB (1.3.6.1.3.61)
Working groups: idmr, Inter-Domain Multicast Routing.
pim, Protocol Independent Multicast.
Links: IANA: PIM address families.
IANA: PIM Hello options.

RFC 1812:

PIM is a multicast routing protocol that runs over an existing unicast infrastructure. PIM provides for both dense and sparse group membership. It is different from other protocols, since it uses an explicit join model for sparse groups. Joining occurs on a shared tree and can switch to a per-source tree. Where bandwidth is plentiful and group membership is dense, overhead can be reduced by flooding data out all links and later pruning exception cases where there are no group members.

RFC 3973:

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.

There are two modes of operation with this protocol. PIM-DM (dense mode) and PIM-SM (sparse mode).

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 RP (Rendezvous Point).

This is particularly important in networks that cannot tolerate a single point of failure.


MAC header IP header PIM header Data :::

PIM header:

0001020304050607 0809101112131415 1617181920212223 2425262728293031
Version Type reserved Checksum
Data :::

Version. 4 bits.
PIM version number.

Type. 4 bits.
Message type.

TypeDescription
0Hello.
1Register.
2Register-Stop.
3Join/Prune.
4Bootstrap.
5Assert.
6Graft (used in PIM-DM only).
7Graft-Ack (used in PIM-DM only).
8Candidate-RP-Advertisement.
9State Refresh.

reserved. 8 bits.
Always cleared to zero.

Checksum. 16 bits.
The 16-bit one's complement of the one's complement sum of the entire PIM message, excluding the data portion in the Register message. When computing the checksum, this field is cleared to zero.

Data. Variable length.


Glossary:

MRIB, Multicast Routing Information Base.
The multicast topology table. This is typically derived from the unicast routing table or from routing protocols such as MBGP that carry multicast-specific topology information. PIM-DM uses the MRIB to make decisions regarding RPF interfaces.

RP, Rendezvous Point.
The root of a shared multicast distribution tree.

RPF, Reverse Path Forwarding.
A multicast forwarding mode in which a data packet is accepted for forwarding only if it is received on an interface used to reach the source in unicast.

TIB, Tree Information Base.
The collection of state maintained by a PIM router and created by receiving PIM messages and IGMP information from local hosts. It essentially stores the state of all multicast distribution trees at that router.


RFCs:

[RFC 2102] Multicast Support for Nimrod : Requirements and Solution Approaches.

[RFC 2337] Intra-LIS IP multicast among routers over ATM using Sparse Mode PIM.

[RFC 2362] Protocol Independent Multicast-Sparse Mode (PIM-SM): Protocol Specification.

[RFC 2715] Interoperability Rules for Multicast Routing Protocols.

[RFC 2934] Protocol Independent Multicast MIB for IPv4.

[RFC 3446] Anycast Rendevous Point (RP) mechanism using Protocol Independent Multicast (PIM) and Multicast Source Discovery Protocol (MSDP).

[RFC 3973] Protocol Independent Multicast - Dense Mode (PIM-DM): Protocol Specification (Revised).

[RFC 4608] Source-Specific Protocol Independent Multicast in 232/8.

[RFC 5384] The Protocol Independent Multicast (PIM) Join Attribute Format.


Publications:


Obsolete RFCs:

[RFC 2117] Protocol Independent Multicast-Sparse Mode (PIM-SM): Protocol Specification.


Description Glossary RFCs Publications Obsolete RFCs