Bidirectional Shared Trees

Generally speaking, Bidirectional Shared Trees are multicast distribution trees where the branches of the tree are used for bidirectional traffic flow.  That is, if router joins a bidirectional tree on behalf of a group member,  that branch of the tree is not only used for the member to receive data, but  if the member is also a sender, the same branch is used to send data.

The advantage of Bidirectional Shared Trees is that you can have many sources  send on the same tree without the routers having to explicitly keep state for  each source.

cisco has implemented Bi-directional Shared Tree PIM (Bidir-PIM) to reduce  the amount of state routers have to keep. This helps to reduce memory,  bandwidth, and CPU requirements for routers.

Bidir-PIM requires some enhancements to the PIM-SM protocol to support bidirectional shared-trees in addition to supporting unidirectional shared-trees, and unidirectional source-trees.

The cisco IOS implementation supports 3 modes for a group:

That is, a single router could support all 3 modes for different groups at the same time. A router will treat a group in dense-mode if it does not know about an RP for the group. A router will treat a group in sparse-mode, if it knows
an RP for the group that hasn't advertised the group as being a bidir-mode  group. Otherwise, the group is in Bidir-mode.

Bidir-mode has superset functionality over sparse-mode but doesn't create (S,G) state for the group. Explicit joins are used for members to join the shared tree however sources do not use Registers to get their data on the shared tree.

Debugging multicast connectivity is made simpler since routers only maintain a single (*,G) entry per group.

Configuring Bidir-PIM

Related documents
Last modified Nov 23,1999