Hello Kai
This is a tricky one. The simple answer is that the Multicast Dense Mode process requires that the upstream router that receives a prune message on its interface that exists on a multi-access (shared) medium such as Ethernet must respond with a prune message.
The process that upstream multicast routers must follow is called the Upstream(S,G) State Machine. This is a fancy term for the steps and processes that define what such a router will do when certain events take place.
This state machine is described in its entirety in RFC 3973. In particular, the portion that is relevant to your question is described like so. The first section describes what an upstream router (like R1 in our case) “sees” a prune message on its interface. This is in the 4.4.1.1. Transitions from the Forwarding (F) State section that describes events that will cause a router to transition from the forwarding state:
See Prune(S,G) AND S NOT directly connected
This event is only relevant if RPF_interface(S) is a shared
medium. This router sees another router on RPF_interface(S) send
a Prune(S,G). As this router is in Forwarding state, it must
override the Prune after a short random interval. If OT(S,G) is
not running, the router MUST set OT(S,G) to t_override seconds.
The Upstream(S,G) state machine remains in Forwarding (F) state.
OT(S,G) Expires AND S NOT directly connected
The OverrideTimer (OT(S,G)) expires. The router MUST send a
Join(S,G) to RPF'(S) to override a previously detected prune.
The Upstream(S,G) state machine remains in the Forwarding (F)
state.
olist(S,G) -> NULL AND S NOT directly connected
The Upstream(S,G) state machine MUST transition to the Pruned (P)
state, send a Prune(S,G) to RPF'(S), and set PLT(S,G) to t_limit
seconds.
The process involves a timer as well as the outgoing interface list. Under certain circumstances, the Ustream(S,G) state machine (i.e. the process running in R1) MUST transition to the pruned state, and send a prune out of its interface facing downstream. This is the statement that shows that the upstream router must send out another prune.
Now there’s no explanation as to why engineers have designed this process in this way. It seems redundant since R2 already sent a prune on the network segment, and R3 received that prune message. By having R1 resend it, it is simply sending the same information. However, my feeling is that this is there to ensure robustness and redundancy. These state machines are designed based on countless tests which optimize the operation, so such redundancy seems to be necessary.
I’m sorry that I couldn’t be more insightful. However, this may also help you to further investigate and research the topic at your leisure.
I hope this has been helpful!
Laz