The RPF Check: How Multicast Prevents Loops
Multicast routing looks backward: a packet is accepted only if it arrives on the interface unicast would use to reach its source. This post explains the RPF check, deliberately breaks it in the lab, and fixes it with a static mroute.