z
In the network, multicast packet transmission is based on the guidance of the multicast forwarding
table derived from the unicast routing table or the multicast routing table specially provided for
multicast.
z
To process the same multicast information from different peers received on different interfaces of
the same device, every multicast packet is subject to a Reverse Path Forwarding (RPF) check on
the incoming interface. The result of the RPF check determines whether the packet will be
forwarded or discarded. The RPF check mechanism is the basis for most multicast routing
protocols to implement multicast forwarding.
The RPF mechanism enables multicast devices to forward multicast packets correctly based on the
multicast route configuration. In addition, the RPF mechanism also helps avoid data loops caused by
various reasons.
Implementation of the RPF Mechanism
Upon receiving a multicast packet that a multicast source S sends to a multicast group G, the multicast
device first searches its multicast forwarding table:
1) If the corresponding (S, G) entry exists, and the interface on which the packet actually arrived is the
incoming interface in the multicast forwarding table, the router forwards the packet to all the
outgoing interfaces.
2) If the corresponding (S, G) entry exists, but the interface on which the packet actually arrived is not
the incoming interface in the multicast forwarding table, the multicast packet is subject to an RPF
check.
z
If the result of the RPF check shows that the RPF interface is the incoming interface of the existing
(S, G) entry, this means that the (S, G) entry is correct but the packet arrived from a wrong path and
is to be discarded.
z
If the result of the RPF check shows that the RPF interface is not the incoming interface of the
existing (S, G) entry, this means that the (S, G) entry is no longer valid. The router replaces the
incoming interface of the (S, G) entry with the interface on which the packet actually arrived and
forwards the packet to all the outgoing interfaces.
3) If no corresponding (S, G) entry exists in the multicast forwarding table, the packet is also subject to
an RPF check. The router creates an (S, G) entry based on the relevant routing information and
using the RPF interface as the incoming interface, and installs the entry into the multicast
forwarding table.
z
If the interface on which the packet actually arrived is the RPF interface, the RPF check is
successful and the router forwards the packet to all the outgoing interfaces.
z
If the interface on which the packet actually arrived is not the RPF interface, the RPF check fails
and the router discards the packet.
RPF Check
The basis for an RPF check is a unicast route. A unicast routing table contains the shortest path to each
destination subnet. A multicast routing protocol does not independently maintain any type of unicast
route; instead, it relies on the existing unicast routing information in creating multicast routing entries.
When performing an RPF check, a router searches its unicast routing table. The specific process is as
follows: The router automatically chooses an optimal unicast route by searching its unicast routing table,
using the IP address of the “packet source” as the destination address. The outgoing interface in the
corresponding routing entry is the RPF interface and the next hop is the RPF neighbor. The router
25-11