How MSDP works
MSDP peers
One or more pairs of MSDP peers in the network form an MSDP interconnection map. In the map, the RPs of different PIM-SM domains interconnect in a series. An SA message from an RP is relayed to all other RPs by these MSDP peers.
Figure 36: MSDP peer locations in the network
As shown in Figure 36, an MSDP peer can be created on any PIM-SM router. MSDP peers created on PIM-SM routers that assume different roles function differently.
MSDP peers created on RPs:
Source-side MSDP peer—MSDP peer closest to the multicast source, such as RP 1. The source-side RP creates and sends SA messages to its remote MSDP peer to notify the MSDP peer of the locally registered multicast source information.
A source-side MSDP peer must be created on the source-side RP. Otherwise, it cannot advertise the multicast source information out of the PIM-SM domain.
Receiver-side MSDP peer—MSDP peer closest to the receivers, typically the receiver-side RP, such as RP 3. After receiving an SA message, the receiver-side MSDP peer resolves the multicast source information carried in the message. Then, it joins the SPT rooted at the multicast source across the PIM-SM domains. When multicast data from the multicast source arrives, the receiver-side MSDP peer forwards the data to the receivers along the RPT.
Intermediate MSDP peer—MSDP peer with multiple remote MSDP peers, such as RP 2. An intermediate MSDP peer forwards SA messages received from one remote MSDP peer to other remote MSDP peers. The intermediate MSDP peer acts as a relay for forwarding multicast source information.
MSDP peers created on common PIM-SM routers (other than RPs):
Router A and Router B are MSDP peers on common multicast routers. Such MSDP peers just forward received SA messages.
In a PIM-SM network using the BSR mechanism, the RP is dynamically elected from C-RPs. A PIM-SM network typically has multiple C-RPs to ensure network robustness. Because the RP election result is unpredictable, MSDP peering relationships must be built among all C-RPs to always keep the winning C-RP on the MSDP interconnection map. Losing C-RPs assume the role of common PIM-SM routers on this map.
Inter-domain multicast delivery through MSDP
As shown in Figure 37, an active source (Source) exists in the domain PIM-SM 1, and RP 1 has learned the existence of Source through multicast source registration. RPs in PIM-SM 2 and PIM-SM 3 also seek the location of Source so that multicast traffic from Source can be sent to their receivers. MSDP peering relationships must be established between RP 1 and RP 3 and between RP 3 and RP 2.
Figure 37: Inter-domain multicast delivery through MSDP
The process of implementing PIM-SM inter-domain multicast delivery by leveraging MSDP peers is as follows:
The multicast source in PIM-SM 1 sends the first multicast packet to multicast group G. When DR 1 receives this multicast packet, it encapsulates the multicast data within a register message and sends the register message to RP 1. Then, RP 1 obtains information about the multicast source.
As the source-side RP, RP 1 creates SA messages and periodically sends them to its MSDP peer.
An SA message contains the addresses of the multicast source (S), the multicast group (G), and the RP that has created this SA message (RP 1).
On MSDP peers, each SA message undergoes an RPF check and multicast policy-based filtering. Only SA messages that have arrived along the correct path and passed the filtering are received and forwarded. This avoids delivery loops of SA messages. In addition, the MSDP mesh group mechanism can avoid SA message flooding between MSDP peers.
NOTE:
An MSDP mesh group refers to a group of MSDP peers that establish MSDP peering relationships with each other and share the same group name.
SA messages are forwarded from one MSDP peer to another. Finally, information about the multicast source traverses all PIM-SM domains with MSDP peers (PIM-SM 2 and PIM-SM 3, in this example).
After receiving the SA message, RP 2 in PIM-SM 2 examines whether any receivers for the multicast group exist in the domain.
If a receiver exists in the domain, the RPT for the multicast group G is maintained between RP 2 and the receivers. RP 2 creates an (S, G) entry and sends an (S, G) join message. The join message travels hop by hop toward the multicast source, and the SPT is established across the PIM-SM domains.
The subsequent multicast data flows to RP 2 along the SPT, and from RP 2 to the receiver-side DR along the RPT. After receiving the multicast data, the receiver-side DR determines whether to initiate an RPT-to-SPT switchover process based on its configuration.
If no receivers exist in the domain, RP 2 neither creates an (S, G) entry nor sends a join message toward the multicast source.
In inter-domain multicasting using MSDP, once an RP gets information about a multicast source in another PIM-SM domain, it no longer relies on RPs in other PIM-SM domains. The receivers can override the RPs in other domains and directly join the multicast SPT rooted at the source.
Anycast RP through MSDP
PIM-SM requires only one active RP to serve each multicast group. If the active RP fails, the multicast traffic might be interrupted. The Anycast RP mechanism enables redundancy backup between two or more RPs by configuring multiple RPs with the same IP address for one multicast group. A multicast source registers with the closest RP or a receiver joins the closest RP to implement source information synchronization.
Anycast RP has the following benefits:
Optimal RP path—A multicast source registers with the closest RP to build an optimal SPT. A receiver joins the closest RP to build an optimal RPT.
Redundancy backup among RPs—When an RP fails, the RP-related multicast sources and receiver-side DRs will register with or join their closest available RPs. This achieves redundancy backup among RPs.
Anycast RP can be implemented through MSDP. In this method, you can configure multiple RPs with the same IP address for one multicast group and establish MSDP peering relationships between the RPs.
As shown in Figure 38, within a PIM-SM domain, a multicast source sends multicast data to multicast group G, and the receiver joins the multicast group.
To implement Anycast RP:
Configure the same IP address (known as Anycast RP address, typically a private address) to an interface on Router A and Router B.
An Anycast RP address is usually configured on a logical interface, such as a loopback interface.
Make sure the Anycast RP address is a host address (with the subnet mask 255.255.255.255).
Configure these interfaces as C-RPs.
Establish an MSDP peering relationship between Router A and Router B. An MSDP peer address must be different from the Anycast RP address.
Figure 38: Intra-domain Anycast RP through MSDP
The operating process of Anycast RP through MSDP is as follows:
After receiving the multicast data from Source, the source-side DR registers with the closest RP (RP 1).
After receiving the IGMP report message from the receiver, the receiver-side DR sends a join message toward the closest RP (RP 2). Therefore, an RPT rooted at this RP is established.
The RPs share the registered multicast source information through SA messages. After obtaining the multicast source information, RP 2 sends an (S, G) source-specific join message toward the source to create an SPT.
When the multicast data reaches RP 2 along the SPT, the RP forwards the data along the RPT to the receiver. After receiving the multicast data, the receiver-side DR determines whether to initiate an RPT-to-SPT switchover process based on its configuration.