Protocol Independent Multicast
   HOME

TheInfoList



OR:

400px, Example of a multicast network architecture Protocol-Independent Multicast (PIM) is a family of multicast routing protocols for
Internet Protocol The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet. IP h ...
(IP) networks that provide one-to-many and
many-to-many Many-to-many communication occurs when information is shared between groups. Members of a group receive information from multiple senders. Wikis are a type of many-to-many communication, where multiple editors collaborate to create content that is ...
distribution of data over a LAN, WAN or the
Internet The Internet (or internet) is the global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a '' network of networks'' that consists of private, pub ...
. It is termed ''protocol-independent'' because PIM does not include its own topology discovery mechanism, but instead uses routing information supplied by other
routing protocol A routing protocol specifies how routers communicate with each other to distribute information that enables them to select routes between nodes on a computer network. Routers perform the traffic directing functions on the Internet; data packets ...
s. PIM is not dependent on a specific unicast routing protocol; it can make use of any unicast routing protocol in use on the network. PIM does not build its own
routing table In computer networking, a routing table, or routing information base (RIB), is a data table stored in a router or a network host that lists the routes to particular network destinations, and in some cases, metrics (distances) associated with tho ...
s. PIM uses the unicast routing table for
reverse-path forwarding Reverse-path forwarding (RPF) is a technique used in modern routers for the purposes of ensuring loop-free forwarding of multicast packets in multicast routing and to help prevent IP address spoofing in unicast routing. In standard unicast IP r ...
. There are four 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) uses
dense multicast 400px, Example of a multicast network architecture Protocol-Independent Multicast (PIM) is a family of multicast routing protocols for Internet Protocol (IP) networks that provide one-to-many and many-to-many distribution of data over a LAN, ...
routing. It implicitly builds shortest-path trees by flooding
multicast In computer networking, multicast is group communication where data transmission is addressed to a group of destination computers simultaneously. Multicast can be one-to-many or many-to-many distribution. Multicast should not be confused with ...
traffic domain wide, and then pruning back branches of the tree where no receivers are present. PIM-DM is straightforward to implement but generally has poor scaling properties. The first multicast routing protocol, DVMRP used dense-mode multicast routing. See RFC 3973. * Bidirectional PIM (Bidir-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. See RFC 5015. * PIM Source-Specific Multicast (PIM-SSM) builds trees that are rooted in just one source, offering a more secure and scalable model for a limited number of applications (mostly broadcasting of content). In SSM, an IP datagram is transmitted by a source S to an SSM destination address G, and receivers can receive this datagram by subscribing to channel (S,G). See informational RFC 3569. PIM-SM is commonly used in
IPTV Internet Protocol television (IPTV) is the delivery of television content over Internet Protocol (IP) networks. This is in contrast to delivery through traditional terrestrial, satellite, and cable television formats. Unlike downloaded media, ...
systems for routing multicast streams between
VLAN A virtual local area network (VLAN) is any broadcast domain that is partitioned and isolated in a computer network at the data link layer (OSI layer 2).IEEE 802.1Q-2011, ''1.4 VLAN aims and benefits'' In this context, virtual, refers to a physi ...
s,
Subnets A subnetwork or subnet is a logical subdivision of an IP network. Updated by RFC 6918. The practice of dividing a network into two or more networks is called subnetting. Computers that belong to the same subnet are addressed with an identical ...
or local area networks.


Versions

There are two PIM versions. The versions are not directly compatible though may coexist on the same network. Network equipment may implement both versions. PIMv2 has the following improvements over PIMv1: A single RP is used per group. RP discovery is accomplished by a Bootstrap Router (BSR). Groups are either sparse or dense mode; Interfaces can be either. General improvements to protocol flexibility and efficiency.


Sparse mode

Protocol Independent Multicast - Sparse-Mode (PIM-SM) is a
protocol Protocol may refer to: Sociology and politics * Protocol (politics), a formal agreement between nation states * Protocol (diplomacy), the etiquette of diplomacy and affairs of state * Etiquette, a code of personal behavior Science and technolog ...
for efficiently
routing Routing is the process of selecting a path for traffic in a network or between or across multiple networks. Broadly, routing is performed in many types of networks, including circuit-switched networks, such as the public switched telephone netw ...
Internet Protocol The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet. IP h ...
(IP) packets to
multicast In computer networking, multicast is group communication where data transmission is addressed to a group of destination computers simultaneously. Multicast can be one-to-many or many-to-many distribution. Multicast should not be confused with ...
groups that may span wide-area and
inter-domain Inter-domain routing is data flow control and interaction between Primary Domain Controller (PDC) computers. This type of computer uses various computer protocols and services to operate. It is most commonly used to multicast between internet doma ...
internets. The protocol is named ''protocol-independent'' because it is not dependent on any particular unicast routing protocol for topology discovery, and ''sparse-mode'' because it is suitable for groups where a very low percentage of the nodes (and their routers) will subscribe to the multicast session. Unlike earlier dense-mode multicast routing protocols such as DVMRP and
dense multicast 400px, Example of a multicast network architecture Protocol-Independent Multicast (PIM) is a family of multicast routing protocols for Internet Protocol (IP) networks that provide one-to-many and many-to-many distribution of data over a LAN, ...
routing which flooded packets across the network and then pruned off branches where there were no receivers, PIM-SM explicitly constructs a tree from each sender to the receivers in the multicast group.


Multicast clients

A router receives explicit Join/Prune messages from those neighboring routers that have downstream group members. * In order to join a multicast group, G, a host conveys its membership information through the
Internet Group Management Protocol The Internet Group Management Protocol (IGMP) is a communications protocol used by hosts and adjacent routers on IPv4 networks to establish multicast group memberships. IGMP is an integral part of IP multicast and allows the network to direct mu ...
(IGMP). * The router then forwards data packets addressed to a multicast group G to only those interfaces on which explicit joins have been received. * A Designated Router (DR) sends periodic Join/Prune messages toward a group-specific Rendezvous Point (RP) for each group for which it has active members. ** Note that one router will be automatically or statically designated as the rendezvous point (RP), and all routers must explicitly join through the RP. * Each router along the path toward the RP builds a wild card (any-source) state for the group and sends Join/Prune messages on toward the RP. ** The term route entry is used to refer to the state maintained in a router to represent the distribution tree. ** A route entry may include such fields as: *** source address *** the group address *** the incoming interface from which packets are accepted *** the list of outgoing interfaces to which packets are sent *** timers, flag bits, etc. ** The wild card route entry's incoming interface points toward the RP ** The outgoing interfaces point to the neighboring downstream routers that have sent Join/Prune messages toward the RP as well as the directly connected hosts which have requested membership to group G. * This state creates a shared, RP-centered, distribution tree that reaches all group members.


Multicast sources

* When a data source first sends to a group, its Designated Router (DR) unicasts Register messages to the Rendezvous Point (RP) with the source's data packets encapsulated within. * If the data rate is high, the RP can send source-specific Join/Prune messages back towards the source and the source's data packets will follow the resulting forwarding state and travel un-encapsulated to the RP. * Whether they arrive encapsulated or natively, the RP forwards the source's de-capsulated data packets down the RP-centered distribution tree toward group members. * If the data rate warrants it, routers with local receivers can join a source-specific, shortest path, distribution tree, and prune this source's packets off the shared RP-centered tree. * For low data rate sources, neither the RP, nor last-hop routers need join a source-specific shortest path tree and data packets can be delivered via the shared RP-tree. Once the other routers which need to receive those group packets have subscribed, the RP will unsubscribe to that multicast group, unless it also needs to forward packets to another router or node. Additionally, the routers will use
reverse-path forwarding Reverse-path forwarding (RPF) is a technique used in modern routers for the purposes of ensuring loop-free forwarding of multicast packets in multicast routing and to help prevent IP address spoofing in unicast routing. In standard unicast IP r ...
to ensure that there are no loops for packet forwarding among routers that wish to receive multicast packets.


Dense mode

Dense mode multicast is one mode that
multicast In computer networking, multicast is group communication where data transmission is addressed to a group of destination computers simultaneously. Multicast can be one-to-many or many-to-many distribution. Multicast should not be confused with ...
can use to construct a
tree In botany, a tree is a perennial plant with an elongated stem, or trunk, usually supporting branches and leaves. In some usages, the definition of a tree may be narrower, including only woody plants with secondary growth, plants that are ...
for sending
packet Packet may refer to: * A small container or pouch ** Packet (container), a small single use container ** Cigarette packet ** Sugar packet * Network packet, a formatted unit of data carried by a packet-mode computer network * Packet radio, a form ...
s to the multicast subscribers. It is an alternative to sparse mode. The basic assumption behind dense mode is that the multicast packet stream has receivers at most locations. Sparse mode assumes relatively fewer receivers. Dense mode is ideal for groups where many of the nodes will subscribe to receive the multicast packets, so that most of the routers must receive and forward these packets (groups of a high density). This difference shows up in the initial behavior and mechanisms of the two protocols. Dense Mode uses a fairly simple approach to handle
IP multicast IP multicast is a method of sending Internet Protocol (IP) datagrams to a group of interested receivers in a single transmission. It is the IP-specific form of multicast and is used for streaming media and other network applications. It uses speci ...
routing. The source initially
broadcast Broadcasting is the distribution of audio or video content to a dispersed audience via any electronic mass communications medium, but typically one using the electromagnetic spectrum ( radio waves), in a one-to-many model. Broadcasting began ...
s to every router directly connected to it. These neighboring routers further forward the data to their neighbors. When a router does not wish to receive this group's data (if no other neighboring PIM routers are present and no host is interested in the group), it sends a Prune message to indicate its lack of interest. Upon receiving a Prune message, the router will modify its state so that it will not forward those packets out that
interface Interface or interfacing may refer to: Academic journals * ''Interface'' (journal), by the Electrochemical Society * ''Interface, Journal of Applied Linguistics'', now merged with ''ITL International Journal of Applied Linguistics'' * '' Inte ...
. If every interface on a router is pruned, the router will also be pruned. In older Cisco IOS releases, PIM-DM would re-flood all the multicast traffic every 3 minutes. This is fine for low volume multicast, but not higher bandwidth multicast packet streams. More recent Cisco IOS versions support a new feature called PIM Dense Mode State Refresh, since 12.1(5)T. This feature uses a PIM state refresh messages to refresh the Prune state on outgoing interfaces. Another benefit is that topology changes are recognized more quickly. By default, the PIM state refresh messages are sent every 60 seconds. Additionally, the routers will use
reverse-path forwarding Reverse-path forwarding (RPF) is a technique used in modern routers for the purposes of ensuring loop-free forwarding of multicast packets in multicast routing and to help prevent IP address spoofing in unicast routing. In standard unicast IP r ...
to ensure that there are no loops for packet forwarding among routers that wish to receive multicast packets. When a data packet is received on a non-RPF interface, a mechanism is required to prevent loops. If the non-RPF interface is a LAN, an Assert message is sent. Non-Forwarder routers then send a Prune on their RPF interface if they don't need the multicast stream. Only one such Prune is sent, at the time of the transition to having no interfaces in the Outgoing Interface List (OILIST). The LAN Prune receiver delays acting on it for 3 seconds, so that if another LAN router still needs the multicast stream, it can send a PIM Join message to counteract (cancel) the Prune. ("That router doesn't need it, but I still do!") Suppose a router has Pruned, and some time later a receiver requests the multicast stream with an IGMP message. The router then sends a Graft message. In effect, "hey, I need that multicast stream over here now".


See also

*
Multicast address A multicast address is a logical identifier for a group of hosts in a computer network that are available to process datagrams or frames intended to be multicast for a designated network service. Multicast addressing can be used in the link laye ...
*
Multicast Source Discovery Protocol Multicast Source Discovery Protocol (MSDP) is a Protocol Independent Multicast (PIM) family multicast routing protocol defined by Experimental RFC 3618. Despite becoming the IPv4 de facto standard A ''de facto'' standard is a custom or conventi ...


References


External links

*
Protocol Independent Multicast-Sparse Mode (PIM-SM): Protocol Specification (Revised)

An Overview of Source-Specific Multicast (SSM)



PIM-SM Multicast Routing Protocol

pimd is a lightweight stand-alone PIM-SM v2 multicast routing daemon.

Protocol Independent Multicast-Sparse Mode (PIM-SM): Protocol Specification rfc2362
* {{Citation , url = https://github.com/udhos/qpimd/ , title = qpimd – PIM Daemon for Quagga - Protocol Independent Multicast, previously a separate independently released module for, but now an official module of and supplied by, the Quagga Routing Suite. Routing protocols