PIM Sparse Mode
From Wikipedia, the free encyclopedia
This article needs additional citations for verification. Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (July 2007) |
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.