When the multicast topology is the same as the unicast one, multicast protocols can rely on the unicast routing table. For example, PIM-SM in that case would rely on the unicast routing table to have information about where to send Joins and Prunes. Also RPF checks would be made according to the
unicast routing table.
Unicast and multicast topologies can be different for several reasons (tunnels to bypass non-multicast capable equipment, different peering policies for unicast and multicast, different VLAN’s for management purposes etc.) In this case the unicast routing table cannot be used by any of the multicast protocol. Multicast topology information needs to be stored in what is generally called the MRIB (Multicast Routing Information Base). It is another instance of the routing table that is used for multicast operations only.
The following figure illustrates the difference between the RIB and the MRIB. It shows 2 sites interconnected through an ISP that is not IPv6 multicast capable. The 2 sites decided to establish a tunnel to exchange IPv6 multicast traffic.

Each site router needs to be configured with a RIB and an MRIB as topologies differ for unicast and multicast. On site B exit router, site A must be seen through the ISP for unicast while it must be seen through the tunnel for multicast. Then a route should be configured in the RIB for site A prefix with the ISP as next hop. Another route should be configured in the MRIB for site A prefix with the tunnel interface as destination.
Routes can be inserted statically in the MRIB. A routing protocol is needed to exchange the multicast routes between different domains, and sometimes also inside the same domain. MBGP [RFC2858] is a widely used protocol for this.
