One of the key differences between unicast and multicast is that for unicast routing, we only care about where the destination is located and how to get there. For multicast routing, we care about where the source is located. PIM (Protocol Independent Multicast) uses the unicast routing table to check what interface will be used to reach the source.
PIM will only accept multicast packets on an interface we use to reach the source. If we receive multicast packets on an interface we don’t use to reach the source, we will drop the multicast packets! This is called an RPF failure, and it’s the #1 issue why multicast isn’t working for many networking students.
Let me demonstrate this using a very simple topology:
Above, you see three routers. R1 will be the source for our multicast traffic. Between R2 and R3, we have two links…a slow serial link and a FastEthernet link. R3 has a loopback interface we will use as the receiver for our multicast traffic. First, we will enable OSPF on all interfaces to have basic connectivity:
R1(config)#router ospf 1 R1(config-router)#network 0.0.0.0 255.255.255.255 area 0
R2(config)#router ospf 1 R2(config-router)#network 0.0.0.0 255.255.255.255 area 0
R3(config)#router ospf 1 R3(config-router)#network 0.0.0.0 255.255.255.255 area 0
I will enable OSPF on all interfaces quickly using the network command above. OSPF will prefer to use the FastEthernet link and won’t use the serial link:
R2#show ip route ospf 188.8.131.52/32 is subnetted, 1 subnets O 184.108.40.206 [110/11] via 192.168.23.3, 00:00:02, FastEthernet0/1
As you can see we don’t use the serial link because the FastEthernet link has a lower cost. Now I’m going to configure multicast on all routers, but I will only activate it on the serial link between R2 and R3: