We all know how unicast routing works, when the router receives the packet, the decision on how to forward the packet is made on the destination address, in Multicast the routing decision where to forward the multicast depends on where the packet came from. So the routers much know the origin of the packet, instead of its destination, just the opposite in unicast routing, in multicast, the IP address denotes the know sources (the origin of the multicast traffic), and the destination denotes the group of unknown receivers.
The routers running multicast, use a mechanism called RPF (Reverse Path Forwarding) to prevent forwarding loops and ensure the Shortest path from the source to receivers. Said this we can say that A router forwards multicast traffic only if the received traffic is on the upstream interface to the source, so when a router receives a multicast packet, it is checked against the routing table (unicast), to determine whether the interface the packet arrived provides the shortest path back to the source.
If the interface provides the shortest path to the source the router will forward the packet
If the interface is NOT the shortest path to the source, the router will discard the packet silently
In resume: after the router receives a multicast packet it performs an RPF check. if the RPF check succeeds, the packet is forwarded; otherwise, it is silently discarded,
Now if RPF Succeeds the router will forward this packet out of each interface that is in the Outgoing interface list (OIL), this entries list the interfaces to the current router downstream multicast neighbors
The incoming interface (or RPF Interface) on which the packet was received is never in the OIL, therefore the packet is never forwarded back out this interface
In the above example, each router forwards received multicast packets to each of its neighbor routers. (The arrows that indicate the initial multicast traffic flow from source 10.10.10.10 throughout the network indicate this activity.) Observe that the two routers in the middle of the picture are each receiving multicast packets through the most direct path.
These received packets arrived through the RPF interface, so both routers forward the multicast packets to all neighbors; in this case, each other. This activity results in the two routers receiving packets via the non-RPF interface (that is, an interface that is not on the shortest path to the source) as This result causes the RPF check to fail and the packets to be silently discarded.
Lets do another test, say that the RPF interface is f1/1
An RPF check is always done regarding the incoming interface – the RPF interface. The RPF check will succeed if the incoming interface is the shortest path to the source.
The RPF interface is determined either by the underlying unicast routing protocol or the dedicated multicast routing protocol (for example, Distance Vector Multicast Routing Protocol [DVMRP], Multiprotocol BGP Extensions for IP Multicast [MBGP], and so on).
Note that changes in the unicast topology will not necessarily immediately reflect a change in RPF, if the multicast routing protocol relies on underlying unicast routing tables. Such an RPF change depends on how frequently the RPF check is performed on a multicast forwarding entry — every five seconds is the current Cisco default.