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 that we use to reach the source. If we receive multicast packets on an interface that we don’t use to reach the source, we will drop the multicast packets! This is called a RPF failure and it’s the #1 issues why multicast isn’t working for many networking students.
Let me demonstrate this using a very simple topology:
Above you see 3 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 that 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 18.104.22.168/32 is subnetted, 1 subnets O 22.214.171.124 [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: