In the unicast forwarding of traffic we are only concerned about where the destination is located while for multicast traffic we are concerned about reaching the source. PIM uses the unicast routing table to determine from which interface the Source address of the multicast is reachable. Router will only accept those multicast packets which arrive on the interface which leads towards the source when checked in the routing table. Any multicast packets arriving on some other interface will fail the RPF check on router and hence will be dropped.
Let us use the topology below to understand this behavior –
As per the above diagram we have R1 acting as source of Multicast traffic. We have two links between R2 and R3 wherein one is serial link and other one is the Fast-Ethernet link. We will enable OSPF on all three routers and the path preferred between R2 and R3 will be the Fast-Ethernet link due to lower cost when compared to serial link.
Initial Configuration
R1:
ip address 9.9.12.1 255.255.255.0
ip ospf 1 area 0
R2:
ip address 9.9.12.2 255.255.255.0
ip ospf 1 area 0
!
interface FastEthernet1/0
ip address 9.9.23.2 255.255.255.0
ip ospf 1 area 0
!
interface Serial5/0
ip address 192.168.23.2 255.255.255.0
ip ospf 1 area 0
R3:
ip address 3.3.3.3 255.255.255.255
ip ospf 1 area 0
!
interface FastEthernet0/0
ip address 9.9.23.3 255.255.255.0
ip ospf 1 area 0
We see the route to 3.3.3.3 on R2 is preferred via Fast-Ethernet link due to lower cost.
R2#sh ip route 3.3.3.3
Known via “ospf 1”, distance 110, metric 2, type intra area
Last update from 9.9.23.3 on FastEthernet1/0, 00:01:41 ago
Routing Descriptor Blocks:
* 9.9.23.3, from 9.9.23.3, 00:01:41 ago, via FastEthernet1/0
Route metric is 2, traffic share count is 1
Now let us enable the multicast on all routers using the PIM dense mode to avoid having RP in the topology. On R2 we will enable the multicasting only on the Se5/0 interface and not on the Fast-Ethernet link between R2 and R3.
R1:
R1(config)#int fa0/0
R1(config-if)#ip pim dense-mode
R2:
R2(config)#int fa0/0
R2(config-if)#ip pim dense-mode
R2(config-if)#int se5/0
R2(config-if)#ip pim dense-mode
R3:
R3(config)#int se5/0
R3(config-if)#ip pim dense-mode
R3(config)#int lo0
R3(config-if)#ip pim dense-mode
As per the configuration done so far we will use Ethernet link between R2 and R3 for unicast traffic and serial link is to be used for multicast traffic.
Configured R3 to join the multicast group 239.1.1.1
R3(config-if)#ip igmp join-group 239.1.1.1
Now let us send some packets from source R1 via ping.
R1#ping 239.1.1.1 re 100
Sending 100, 100-byte ICMP Echos to 239.1.1.1, timeout is 2 seconds: ….
As we see the ping fails. To find out let us do some troubleshoot as below:
On R2 we see the R2 sends the multicast packet towards R3 via interface Se5/0.
R2#sh ip mroute 239.1.1.1
Flags: D – Dense, S – Sparse, B – Bidir Group, s – SSM Group, C – Connected,
L – Local, P – Pruned, R – RP-bit set, F – Register flag,
T – SPT-bit set, J – Join SPT, M – MSDP created entry, E – Extranet,
X – Proxy Join Timer Running, A – Candidate for MSDP Advertisement,
U – URD, I – Received Source Specific Host Report,
Z – Multicast Tunnel, z – MDT-data group sender,
Y – Joined MDT-data group, y – Sending to MDT-data group,
G – Received BGP C-Mroute, g – Sent BGP C-Mroute,
Q – Received BGP S-A Route, q – Sent BGP S-A Route,
V – RD & Vector, v – Vector
Outgoing interface flags: H – Hardware switched, A – Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.1.1.1), 00:00:07/stopped, RP 0.0.0.0, flags: D
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Serial5/0, Forward/Dense, 00:00:07/stopped
FastEthernet0/0, Forward/Dense, 00:00:07/stopped
(9.9.12.1, 239.1.1.1), 00:00:07/00:02:52, flags: T
Incoming interface: FastEthernet0/0, RPF nbr 9.9.12.1
Outgoing interface list:
Serial5/0, Forward/Dense, 00:00:07/stopped
The reason behind the packet drop is that on R3 the interface leading towards the source is Fa0/0 while the packet is received on Se5/0 interface which is why it is dropped due to RPF Failure.
Debug output on R3 shows the multicast packet received on Serial5/0 port.
Source is reachable via Fa0/0.
R3# sh ip route 9.9.12.1
Known via “ospf 1”, distance 110, metric 2, type intra area
Last update from 9.9.23.2 on FastEthernet0/0, 00:31:57 ago
Routing Descriptor Blocks:
* 9.9.23.2, from 9.9.12.2, 00:31:57 ago, via FastEthernet0/0
Route metric is 2, traffic share count is 1
Now in order to remedy such situation enable either Multicast on Ethernet link between R2 and R3 or add below static route on R3.
We will add the static route in our case on R3 and try ping from R1 again.
Now we see we are able to ping the group.
R1#ping 239.1.1.1 re 100
Sending 100, 100-byte ICMP Echos to 239.1.1.1, timeout is 2 seconds:
Reply to request 0 from 3.3.3.3, 8 ms
Reply to request 1 from 3.3.3.3, 28 ms
Reply to request 2 from 3.3.3.3, 36 ms
Reply to request 3 from 3.3.3.3, 132 ms
Reply to request 4 from 3.3.3.3, 80 ms
Reason –
Now the packet is received on SE5/0 interface on R3 and same is the interface which leads to the source as below.
R3#sh ip mroute 239.1.1.1
Flags: D – Dense, S – Sparse, B – Bidir Group, s – SSM Group, C – Connected,
L – Local, P – Pruned, R – RP-bit set, F – Register flag,
T – SPT-bit set, J – Join SPT, M – MSDP created entry, E – Extranet,
X – Proxy Join Timer Running, A – Candidate for MSDP Advertisement,
U – URD, I – Received Source Specific Host Report,
Z – Multicast Tunnel, z – MDT-data group sender,
Y – Joined MDT-data group, y – Sending to MDT-data group,
G – Received BGP C-Mroute, g – Sent BGP C-Mroute,
Q – Received BGP S-A Route, q – Sent BGP S-A Route,
V – RD & Vector, v – Vector
Outgoing interface flags: H – Hardware switched, A – Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.1.1.1), 00:25:16/stopped, RP 0.0.0.0, flags: DCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Serial5/0, Forward/Dense, 00:16:37/stopped
Loopback0, Forward/Dense, 00:25:16/stopped
(9.9.12.1, 239.1.1.1), 00:04:35/00:01:24, flags: LT
Incoming interface: Serial5/0, RPF nbr 192.168.23.2, Mroute
Outgoing interface list:
Loopback0, Forward/Dense, 00:04:35/stopped
ABOUT THE AUTHOR
I am here to share my knowledge and experience in the field of networking with the goal being – “The more you share, the more you learn.”
I am a biotechnologist by qualification and a Network Enthusiast by interest. I developed interest in networking being in the company of a passionate Network Professional, my husband.
I am a strong believer of the fact that “learning is a constant process of discovering yourself.”
– Rashmi Bhardwaj (Author/Editor)