Showing results for 
Search instead for 
Did you mean: 

How to configure IP multicast using MSDP





Multicast Source Discovery Protocol (MSDP) is an interdomain multicast routing protocol necessary when implementing IP multicasting across different Autonomous Systems (ASs). Each AS still uses Protocol Independent Mode Sparse Mode (PIM-SM) protocol to build the data distribution tree within the domain by using a Rendezvous Point (RP). MSDP will operate between the RPs in each AS, enabling them to discover multicast sources active in other ASs.  MSDP allows you to implement interdomain multicasting by allowing each AS to have its own RP.


When a multicast source is registered with the RP using normal PIM-SM procedures, the RP sends Source Active (SA) messages to RP in another AS when configured for MSDP. Each RP is manually configured with the RPs available in other ASs, for establishing the MSDP peering session. The SA messages contain information about the source and the multicast group to which it is sending traffic. If the receiving RP has receivers for that particular group learned through (*,G) Join messages and has already built a shared tree, the RP builds a Shortest Path Tree (SPT) from the source by sending (S,G) Join messages toward the source to pull the traffic. The SA messages received by the RP are also forwarded to other configured RPs that are downstream. The originating RP continues to send periodic SA messages for the (S,G) every 60 seconds as long as the source is sending packets to the group.


If an RP does not have a receiver for the group when it receives an SA message, it passes the SA message to other configured RPs, but does not store the message. When a receiver joins the group later, the RP has to wait until receiving the next SA message to build the SPT. To reduce this latency, the RP can be configured to cache SA messages even if there are no receivers. Caching increases memory requirements if there are too many active sources and groups. If an RP does not have enough memory to support caching, it can rely on another RP which has caching enabled. The non-caching RP can send SA request messages to the caching RP to get the information and reduce latency. The caching RP responds with an SA response message.


There are various filters available in Cisco IOS  that give control over the information exchanged through MSDP. They can be used to control the source and group advertised by the RP, information requested through SA request messages and the information to be cached locally. MSDP works along with Border Gateway Protocol (BGP) or Multiprotocol BGP (MBGP), since it depends on the BGP next-hop database for peer RPF checks on SA messages and to prevent loops. But, they can also be configured in situations where BGP is not used for peering with an AS, such as in stub domains.

Basic Configuration:


The typical way to configure Multicast Source Discovery Protocol (MSDP) involves first selecting one of your MBGP routers as the RP for your internal network. Then you set up an MSDP peer relationship with the RP in another Autonomous System, which is usually an MBGP peer router in the next domain.


There are only two ip msdp commands:


Router(config)#ip msdp peer

Router(config)#ip msdp sa-request


This tells the router that it is to send Source Active (SA) messages to this peer device whenever it sees new multicast sources, and requests that the peer device do the same. The peer must also be configured with similar commands to ensure that it exchanges information about its multicast sources with this router.


All the MSDP commands explained here are configured from the global  configuration mode. MSDP uses TCP to establish a session with the peers, and it  uses the address of the outgoing interface as the source address in the session.  If there are multiple paths available between the MSDP peers which can be used  for re-routing the session in case of failures, you can use a loopback interface  as the source interface for the session by issuing the ip msdp  peer {peer-name | peer-address}  [connect-source interface-type interface-number] command.


You can also apply filters to both the sources and groups that you want to receive or distribute to another network with the ip msdp sa-filter command:


Router#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router(config)#ip msdp sa-filter in list 101

Router(config)#ip msdp sa-filter out list 102



Related Information:


RFC3618 - Multicast Source Discovery Protocol (MSDP)

Configuring Multicast Source Discovery Protocol   

Multicast Source Discovery Protocol SA Filter Recommendations

Theory and Application: Interdomain Multicast Solutions Using MSDP