Difference between revisions of "Manual:Multicast SPT Switchover"

From MikroTik Wiki
Jump to navigation Jump to search
Line 48: Line 48:
SG_rpt 224.1.1.10      10.1.101.225    10.55.2.1
SG_rpt 224.1.1.10      10.1.101.225    10.55.2.1
</pre>
</pre>
[[Category:Routing]]

Revision as of 11:38, 9 November 2007

Overview

For many receivers the route via RP may not be the best path to source. To obtain lower latencies, it is possible to initiate a transfer from the shared tree to a shortest-path tree (SPT).

Rp-traf.jpg

From diagram above it is obvious that traffic flow from sender to receiver through RP is not the best path. In this situation shortest-path tree (SPT) switchover comes to help. To initiate switchover, last-hop router sends an (S,G) join towards S and additional (S,G) state is created.

Sg-join.jpg

When join reaches S subnet or router that already has (S,G) state, data packets from S start to flow following the (S,G) state until they reach the receiver. Now receiver will be receiving two copies of the data - one from the SPT and one from the RPT. At this point additional (S,G) state is created along shared tree to prune off traffic through RP.

Sg-prune.jpg

This is known as an (S,G,rpt) Prune. The Prune message travels hop-by-hop, instantiating state along the path towards the RP indicating that traffic from S for G should not be forwarded in this direction. By now, the receiver will be receiving traffic from S along the shortest-path tree between the receiver and S.

Configuration

For this configuration three routers will be used - R1,R2 and R3. Router R2 will be used as RP and multicast traffic will be send to address 224.1.1.10.

Configuration for all three routers are the same and is quite simple.

  • Enable switchover option:
/routing pim switch-to-stp=yes switch-to-spt-bytes=20000
  • Add interfaces and RP:
/routing pim interface add all
/rputing pim rp add address=<R2_IP_address>

Testing

To test configuration, you can use VLC to launch multicast stream Download it from [1] Simple streaming how-to: [2]

After the stream is launched you can check all PIM created join states.

/routing pim join print
Flags: RP - (*,*,RP), WC - (*,G), SG - (S,G), SG_rpt - (S,G,rpt)
       GROUP           SOURCE          RP
    WC 224.0.0.0       10.55.2.1       10.55.2.1
    SG 224.1.1.10      0.0.0.0         10.55.2.1
       224.1.1.10      10.1.101.225    10.55.2.1
SG_rpt 224.1.1.10      10.1.101.225    10.55.2.1