In case of multicast routing, I encountered source based tree and shared cost based tree.What is the difference between source based tree and shared core based tree? In which case they are used? what is reverse path forwading and how is it used?

  • 1
    You need to provide more context... bear in mind that programming questions are off-topic here, and should be asked on Stack Overflow. Feb 19, 2016 at 13:07
  • Did any answer help you? if so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you could provide and accept your own answer.
    – Ron Maupin
    Aug 7, 2017 at 19:18

3 Answers 3


Source-based tree: A non-shared multicast distribution tree (forwarding/replication state on intermediate routers) is built for every SOURCE,GROUP pair. Source-based tree is unidirectional.

Shared tree: A per-group multicast distribution tree is built on routers, shared by all group's senders and receivers. The shared tree might be bidirectional.


Source Tree

have their root at the source shortest path tree (SPT) notation of (S, G) where S is the IP address of the source and G is the multicast group address

The (S, G) notation implies that a separate SPT exists for each individual source sending to each group

Shared Trees

shared trees use a single common root placed at some chosen point in the network. This shared root is called a rendezvous point (RP). shared tree is unidirectional. (*, G) * means all sources, and G represents the multicast group

PIM Dense Mode (PIM-DM)

uses a push model

supports only source trees—that is, (S, G) entries and cannot be used to build a shared distribution tree.

PIM Sparse Mode (PIM-SM)

uses a pull model
Only network segments with active receivers that have explicitly requested the data will receive the traffic.

The router closest to the source registers with the RP and then creates a source tree (S, G) between the source and the RP Data is forwarded down the shared tree (*, G) towards the receiver from the RP.

Bidirectional PIM (Bidir-PIM)

The shared trees that are created in PIM Sparse Mode are unidirectional. This means that a source tree must be created to bring the data stream to the RP (the root of the shared tree) and then it can be forwarded down the branches to the receivers.

Source data cannot flow up the shared tree toward the RP—this would be considered a bidirectional shared tree.

traffic is routed only along a bidirectional shared tree that is rooted at the RP for the group.

Data from the source can flow up the shared tree (*, G) towards the RP and then down the shared tree to the receiver. There is no registration process and no source tree (S, G) is created.


so what is PIM? is this a routing protocol? not exactly. PIM is out there to make the tree. its all about the tree.

one site of tree is 'root' and the other side is 'leaf'. in our tree, leaf side is clear. its "receiver" every time.

what about root site of the tree?

some times root of the tree is RP(rendezvous point) and we call it Shared Tree some times root of the tree is Source and we call it Source Tree

there are 3 variants of pim: ASM (any source multicast) SSM (source specific multicast) BIDIR(Bidirectional). and also two sub variant of ASM. those are DENS and SPARSE.



##1. ASM

###1.A Dense-Mod to_make ---> Source Tree

###1.B Sparse-Mod to_make ---> Shared Tree

##2. SSM (IGMPv3) to_make ---> Source Tree

##3. BIDIR (inline-RP) to_make ---> Shared Tree


simple to say, if there was an RP our PIM works to make the Shared Tree if there is no RP, PIM make the Source Tree.

and also in PIM (ASM) DENSE mode just a few multicast data packets (3 or 7) goes to receiver via RP after a few packets and if there was any other preferable path, tree switchover from shared to source. you can disable it if you want.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.