Reverse Path Forwarding is an algorithm that helps prevent loops and ensures that multicast traffic arrives on the correct interface.
The RPF algorithm has several features:
- When a router receives a multicast packet on an interface that it uses to send unicast packets towards the source, that interface is a RPF interface.
- When a packet arrives on the RPF interface, the router forwards the packet out of an outgoing interface list interface.
- When a packet arrives on an interface that is not the RPF interface, it discards it to try prevent loops from occuring
PIM will utilise source trees between the source and last hop router, and between the source and the rendezvous point. Shared trees are established between the rendezvous point and the last hop routers. RPF checks are performed differently for each tree:
- If a PIM router has a (S, G) entry in the multicast routing table, a shortest path tree, the router will perform a RPF check against the IP address for the source of the multicast packet.
- If a PIM router has no source-tree state, it is considered a shared tree state. The router will perform a RPF check on the address of the rendezvous point – the rendezvous address is known when members join the group
Spare mode uses the RPF lookup function to determine where joins and prunes need to be sent. (S, G) joins are sent towards the source, (*, G) joins are sent towards the rendezvous point.