On a PIM-SM network, MSDP enables Rendezvous Points (RPs) in different domains to interwork. MSDP also enables different PIM-SM domains to share multicast source information by establishing MSDP peer relationships between RPs.
An MSDP peer relationship can be set up between two RPs in the following scenarios:
Two RPs belong to the same AS but different PIM-SM domains.
Two RPs belong to different autonomous systems (ASs).
To ensure successful reverse path forwarding (RPF) checks in an inter-AS scenario, a BGP or a Multicast Border Gateway Protocol (MBGP) peer relationship must be established on the same interfaces as the MSDP peer relationship.
Setting up MSDP peer relationships between RPs in different PIM-SM domains ensures the communication between PIM-SM domains, and thereby forming an MSDP-connected graph.
MSDP peers exchange Source-Active (SA) messages. An SA message carries (S, G) information registered by the source's DR with the RP. Message exchange between MSDP peers ensures that SA messages sent by any RP can be received by all the other RPs.
Figure 1 shows a PIM-SM network divided into four PIM-SM domains. The source in the PIM-SM 1 domain sends data to multicast group G. The receiver in the PIM-SM 3 domain is a member of group G. RP 3 and the receiver's PIM-SM 3 domain maintain an RPT for group G.
As shown in Figure 1, the receiver in the PIM-SM 3 domain can receive data sent by the source PIM-SM 1 domain after MSDP peer relationships are set up between RP 1, RP 2, and RP 3. The data processing flow is as follows:
The source sends multicast data to group G. DR 1 encapsulates the data into a Register message and sends the message to RP 1.
As the source's RP, RP 1 creates an SA message containing the IP addresses of the source, group G, and RP 1. RP 1 sends the SA message to RP 2.
Upon receiving the SA message, RP 2 performs an RPF check on the message. If the check succeeds, RP 2 forwards the message to RP3.
Upon receiving the SA message, RP 3 performs an RPF check on the message. If the check succeeds, it means that (*, G) entries exist on RP 3, indicating that the local domain contains members of group G. RP 3 then creates an (S, G) entry and sends a Join message with the (S, G) information to the source hop by hop. A multicast path (routing tree) from the source to RP 3 is then set up.
After the multicast data reaches RP 3 along the routing tree, RP 3 forwards the data to the receiver along the rendezvous point tree (RPT).
After receiving the multicast data, the receiver determines whether to initiate shortest path tree (SPT) switchover.