cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2882
Views
5
Helpful
14
Replies

spt join

Hi,

   I have a query on pim multicast. When a multicast router receives initial packets on shared tree from RP, will it send SPT join towards source if source is reachable on the same interface on which RP is also reachable?

Thanks,
Balajee

1 Accepted Solution

Accepted Solutions

Hi Balajee

Good question

Think a scenario where there is multiple routers in the middle before reaching the RP and if any of the middle routers has shorter path to the source. Your  SPT path is still taking the outgoing interface towards the RP,  but it is not taking the path via RP

Look at below Diagram

Receiver---R1------R2--------R3(RP)--------R4---Source

                          |                             |

                          ------------------------------

In above scenario, my outgoing interface to reach source is the same interface to reach RP. but my SPT is R1, R2 and R4

Thanks

Raju

View solution in original post

14 Replies 14

Raju Sekharan
Cisco Employee
Cisco Employee

Hi

yes, it wiill send S,G join towards the source  if you have the default config for "ip pim set -threshold"

Thank you

Raju

Thanks Raj for the reply. But what is the point in sending SPT join on the interface on which RP is also reachable? It can use existing shared tree to pull the multicast traffic.

Thanks,

Balajee

Hi Balajee

Good question

Think a scenario where there is multiple routers in the middle before reaching the RP and if any of the middle routers has shorter path to the source. Your  SPT path is still taking the outgoing interface towards the RP,  but it is not taking the path via RP

Look at below Diagram

Receiver---R1------R2--------R3(RP)--------R4---Source

                          |                             |

                          ------------------------------

In above scenario, my outgoing interface to reach source is the same interface to reach RP. but my SPT is R1, R2 and R4

Thanks

Raju

excellent...thanks raju

You are welcome

Raju

Hi Raj,

     I got another question -:) . During SPT switchover, multicast router will send Prune with RP-bit set towards RP. What is the need for setting RP-bit in the Prune? What happens if it does not set RP-bit?

Thanks,

Balajee

Hi Balajee,

Questions are welcome :-). Once you do SPT switchover,  you will start receiving traffic via SPT path (S,G)

Now we don't want the same traffic coming via RP shared Tree . Hence we need to send a prune towards RP telling we don't want traffic to this multicast group from this source via a shared tree.

Here we need  (S.G) prune towards RP. That is why it has RP-bit set. This will prune only that S,G traffic coming via RP shared tree

if you send an (S,G) prune without RP-Bit, it will be send towards the source and your actual  SPT will be pruned

Thanks

Raju

Yes...You are correct. A router, which has two different paths for source and RP ( diverged), can only send (S,G) prune ie source is reachable via a interface(let us say fa1) whereas RP is reachable via different interface (fa2). Obviously if a Prune is sent on fa2, it will go towards RP only, there is no chance of going towards source. Another point here is there is no SPT from RP. So, in this case, even if a normal prune is sent towards the RP, that branch will be pruned and multicast traffic can be stopped. What is the advantage we are getting here by setting RP-bit?

Thanks,

Balajee

Hi Balajee

A normal  (S,G) prune is send always towards the source. This looks in routing table for the source address and send the prune in that direction. So we cannot use the normal (S,G) here

We can't use the (*,G) prune because it will prune the trafficfor the entire group from all sources. So if some other source want to send traffic to the same group that will get pruned.

That is why we use this specail (S,G) prune with RP bit set. The RP flag ( RP-bit) indicates that this message is applicable to the shared tree and should be forwarded up the shared tree toward the RP. Setting this flag/bit in an (S1, G) Prune and sending it up the shared tree tells the routers along the shared tree to prune Source S1 multicast traffic

from the shared tree.

If you are still unclear please feel free to ask more queries to get it clarified

Thanks

Raju

Got it...thanks Raj

I am back -:) . In this case, why to set R-flag in upstream router(towards RP) upon receiving (S,G) prune? As per your explanation, R-bit is relevant only on the router which is sending (S,G) prune. Am I correct?

- Balajee

Hi Balajee,

The communication of this  prune is from the receiver router upto the RP.

The upsteram router when he receives the (S,G) prune with RP-Bit, it will prune that traffic on the interface it received.

If the upstream router doesn't have any other receviers for the same (S,G), it will forward the (S,G) RP bit to it's upstream router towards RP. That router also follows same step

Thanks

Raju

Mohamed Sobair
Level 7
Level 7

Hello,

There is NO join message sends from the recievers, Join is a Pim message that Sends from a router towards the RP to create the Shared based tree rooted at the RP.

However, Once the Shared based tree is created and the Multicast Source is known to the Recievers, Recievers join the Shortest Path Tree (SPT) , because the Source of the Multicast is already known to the Recievers.

If you would like to disable this behaviour in Cisco IOS (Which is the default by the way), at the Designated Router on the LAN you can enable the following command:

(ip pim spt-threshhold infinity)

This means the DR will always prefer the Shared Based Tree , even though the Original Source of the Multicast is known.

Regards,

Mohamed

Thanks guys for all your explanations . i am just trying to understand the situation on the below sample testbed

 

R1 (SRC) ---- R2(RP) --- (RCVR) R3

 

Case 1: Src starts 1st

-----------------------

1.R1 initiates traffic for 236.1.1.1

2. R1 encapsulates the same and unicast to RP

3.R2 receives the encapsulated  pkt and decapsulate it

4. R2 don't have any interested receiver , still RP initiates (S,G) tree towards source 

5.Now (S,G) entry created in both Source (OIL - interface towards R2) and RP(OIL - NULL)

6.Source starts sending 236.1.1.1 packets on both encapsulated and natively ( normal l3 mcast sent using s,g mroute entry )

7. Since RP recieves duplicated traffic among which one is encapsulated another one normal l3 mcast packet

8.Now RP initiates Register-stop message

9.Src (R1) receives Register stop message , R1 stops sending encapsulated traffic , then onward 236.1.1.1

l3 multicast traffic sent only via (s,g) route.

 

Now: R3 initiates Pim Join message for 236.1.1.1 using IMPv2

10.Destination Dr at R2, receives IGMPv2 and convert it as PIM join , since R2 itself RP , Receiver(R3) connected interface will be kept in OIL of both (*,G) & (S,G) entry as receiver interested in 236.1.1.1 from any source

11.Now when 236.1.1.1 l3 traffic initiated from R1 received at R2

12. Though, R2 has R3 in OIL of two route entries (*,G) & (S,G) only single traffic sent towards R3 receiver using S,G entry.

13.Since Traffic already sent via (s,g) no need to generate one more (S,G) join towards source for newly joined receiver (R3) and no role for (S,G Prune, with RP flag set) as no duplicate traffic received by Destination DR

 

Could you please confirm is my understanding and explanations are correct.