I recently started studying multicast and I am a bit confused by how reverse path forwarding is explained. Most of the sources describe RPF as 'moving packets away from the source' but I understand that unicast routing achieves the same thing:
- in unicast routing, the routing table is consulted and the packets are forwarded away from the source, towards the destination host, based on the destination address of the packets.
- in multicast routing, the RPF check is applied to the packets and if they pass, they are forwarded away from the source, towards the multicast receivers based on the information in the forwarding states, otherwise, they are discarded to prevent loops.
I understand that in multicast routing, routers need to keep track of the upstream and downstream interfaces, source IP, etc. to apply the RPF check on the packets, but since the 'source IP' is not the only piece of information needed to make a forwarding decision overall, I do not see how the phrase 'moving packets away from the source' makes a difference between unicast and multicast routing.
Conceptually, is there something more to reverse path forwarding than the RPF check?