66
RPF check implementation in multicast
Implementing an RPF check on each received multicast packet brings a big burden to the router. The
use of a multicast forwarding table is the solution to this issue. When the router creates a multicast
forwarding entry for an (S, G) packet, it sets the RPF interface of the packet as the incoming interface
of the (S, G) entry. After the router receives another (S, G) packet, it looks up the multicast
forwarding table for a matching (S, G) entry.
•
If no match is found, the router first determines the RPF route back to the packet source and the
RPF interface. Then, it creates a forwarding entry with the RPF interface as the incoming
interface and makes the following judgments:
If the receiving interface is the RPF interface, the RPF check succeeds and the router
forwards the packet out of all the outgoing interfaces.
If the receiving interface is not the RPF interface, the RPF check fails and the router
discards the packet.
•
If a match is found and the matching forwarding entry contains the receiving interface, the
router forwards the packet out of all the outgoing interfaces.
•
If a match is found but the matching forwarding entry does not contain the receiving interface,
the router determines the RPF route back to the packet source. Then, the router performs one
of the following actions:
If the RPF interface is the incoming interface, it means that the forwarding entry is correct
but the packet traveled along a wrong path. The packet fails the RPF check, and the router
discards the packet.
If the RPF interface is not the incoming interface, it means that the forwarding entry has
expired. The router replaces the incoming interface with the RPF interface and matches the
receiving interface against the RPF interface. If the receiving interface is the RPF interface,
the router forwards the packet out of all outgoing interfaces. Otherwise, it discards the
packet.
Figure 25 RPF check process
As shown in
, assume that unicast routes are available on the network, MBGP is not
configured, and no static multicast routes have been configured on Device C. Multicast packets
travel along the SPT from the multicast source to the receivers. The multicast forwarding table on
Device C contains the (S, G) entry, with VLAN-interface 20 as the incoming interface.
•
If a multicast packet arrives at Device C on VLAN-interface 20, the receiving interface is the
incoming interface of the (S, G) entry. Device C forwards the packet out of all outgoing
interfaces.
•
If a multicast packet arrives at Device C on VLAN-interface 10, the receiving interface is not the
incoming interface of the (S, G) entry. Device C searches its unicast routing table and finds that
Source
192.168.0.1/24
Receiver
Receiver
Device B
Vlan-int10
Multicast packets
Destination/Mask
IP routing table on Device C
192.168.0.0/24
Interface
Vlan-int20
Vlan-int10
Vlan-int20
Device A
Device C