Multicast Source Discovery Protocol (MSDP) connects multiple Protocol Independent Multicast sparse mode (PIM-SM) domains. Where standard multicast distribution is limited to a single PIM domain, MSDP establishes Transmission Control Protocol (TCP) connections between rendezvous points (RPs) in different PIM-SM domains and allows multicast sources to be known to all RPs. Once an RP knows a multicast source from a different domain, it can perform multicast distribution across both PIM-SM domains.
MSDP uses TCP connections to establish MSDP peering relationships. The TCP connections between PIM RPs depend on an underlying routing system such as BGP or MBGP for inter-domain operation. MSDP and PIM exchange information about multicast sources. When MSDP learns a new source from an incoming Source-Active (SA) message, it notifies PIM of the new multicast source and multicast group. If there is an entry for that group in the PIM mroute entry, then a join is activated.
The following figure illustrates MSDP operating between two RPs in different PIM-SM domains, serving as MSDP peers. PIM uses MSDP to register a source with the RPs of other domains.
When an MSDP peer (MSDP Peer 1 in Rendezvous Points as MSDP Peers) receives a PIM register message from a PIM designated router (DR) within its own domain (PIM Domain A in Rendezvous Points as MSDP Peers), MSDP is notified of multicast source information when MSDP is configured on this router. MSDP originates a Source-Active (SA) message which it immediately forwards to all MSDP peers. The SA message includes the source, the group, and the address of the RP or the originator ID.
Each MSDP peer receives and forwards the SA message away from the originating RP. In order to avoid SA flooding, MSDP forwards SA messages only from an MSDP Reverse Path Forwarding (RPF) peer. The RPF peer is the next hop toward the originating RP of the SA message (as defined in the BGP or MBGP routing table for the domain). If the MSDP peer receives the same SA message from a non-RPF peer toward the originating RP, it drops the message. Otherwise, it forwards the message on to all its MSDP peers except for the RPF peer.
When MSDP receives an SA message from an MSDP peer, it passes all multicast source information to the RP (RP2 in Rendezvous Points as MSDP Peers) configured in this router. The RP2 determines if any group members in this PIM domain (PIM Domain B in Rendezvous Points as MSDP Peers) are interested in the group the SA message describes. If so, the RP2 triggers an (S, G) join toward the RP1 in the domain A. Multicast distribution is then established across multiple domains. RP1 in PIM Domain A forwards this (S,G) multicast flow to RP2 in PIM domain B, which distributes to all receivers in domain B according to its multicast routing table.
Note
It is not a requirement for RPs/MSDP peers to be at the edge of domains, as shown in Rendezvous Points as MSDP Peers. Non-RP PIM routers may be in the path between the RPs in their respective domains. MSDP messages and RP-issued S,G joins simply traverse these routers.