PIM Sparse Mode

From Wikipedia, the free encyclopedia

Protocol Independent Multicast - Sparse-Mode (PIM-SM) is a protocol for efficiently routing to multicast groups that may span wide-area (and inter-domain) internets. This 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 PIM-DM which flooded packets everywhere 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 packets from the sender then follow this tree.

Contents

[edit] Protocol overview

[edit] Multi-cast clients

A router receives explicit Join/Prune messages from those neighboring routers that have downstream group members.

  • In order to join a multi-cast group, G, a host conveys its membership information through the Internet Group Management Protocol (IGMP).
  • The router then forwards data packets addressed to a multi-cast 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.
  • This state creates a shared, RP-centered, distribution tree that reaches all group members.

[edit] Multi-cast sources

  • When a data source first sends to a group, its Designate Router (DR) uni-casts 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 multi-cast group, unless it also needs to forward packets to another router or node. Additionally, the routers will use reverse-path forwarding to ensure that there are no loops for packet forwarding among routers that wish to receive multi-cast packets.

[edit] See also

[edit] References