40.2 MSDP Description
The Multicast Source Discovery Protocol (MSDP) defines a topology connecting Protocol Independent Multicast sparse mode (PIM-SM) domains. MSDP provides inter-domain access to multicast sources in all domains by enabling all rendezvous points (RPs) to discover multicast sources outside of their domains. RPs also use MSDP to announce sources that are sending to a multicast group.
40.2.1 MSDP Speakers
An MSDP speaker is a router in a PIM-SM domain that has MSDP peering sessions with MSDP peers in other domains. An MSDP peering session is a TCP connection through which peers exchange MSDP control information. An MSDP peer is a router that is connected to the speaker though a peering session.
PIM uses MSDP to register a local source with remote domain RPs through Source Active (SA) messages, which originate at the local domain’s RP. Receivers in remote PIM-SM domains depend only on RPs in their domains to learn of multicast data sources in other domains. Multicast data is subsequently delivered from a source to receivers in different domains through a PIM-SM source tree.
Section 40.3.1: MSDP Speaker Configuration describes the process of configuring MSDP speakers.
40.2.2 Network Configuration
The TCP connections between RPs are defined either through an underlying unicast routing table or by configuring a default MSDP peer. A typical MSDP configuration utilizes a BGP specified routing table. SA messages are MSDP control messages that peers exchange during peering sessions.
40.2.2.1 Source Active Messages
A Source Active (SA) message is a message that an RP creates and sends to MSDP peers when it learns of a new multicast source through a PIM register message. RPs that intend to originate or receive SA messages must establish MSDP peering with other RPs, either directly or through intermediate MSDP peers. An RP that is not a DR on a shared network should only originate SAs in response to register messages it receives from the DR. It does not originate SA's for directly connected sources in its domain.
SA messages contain the following fields:
Source address of the data source.
Group address that receives data sent by the source.
IP address of the RP.
Th SA Cache is the repository of SA messages received by the MSDP speaker. The switch always stores received SA messages. Section 40.3.4: Managing the SA Cache describes procedures that limit the size of the SA cache and options for displaying the cache.
40.2.2.2 Reverse Path Forwarding
Reverse path forwarding (RPF) is a multicast packet transport technique that ensures loop-free packet forwarding by using a router’s unicast routing table. Traffic forwarding is based on source addresses instead of destination addresses. RPF is implemented as defined in RFC 3618.
Packet forwarding is based on the packet’s unicast reverse path. An RPF router prevents network loops by only forwarding a packet when it enters through the interface holding its source routing entry.
When a multicast packet enters a router's interface, the router checks the reverse path of the packet by examining the list of networks that are reachable through the input interface. If the list contains a matching routing entry for the multicast packet’s source IP address, the packet is forwarded to all other interfaces that are participants in the multicast group. Otherwise, the packet is dropped.
RPF requires that the unicast routing table is correct and converged. It also assumes that the use of symmetric forward and reverse paths between router and sender. RPF fails on uni-directional links.
Section 40.3.3.1: Displaying RPF Peers describes commands that display RPF peers.
40.2.2.3 Default MSDP Peers
The default peer is the MSDP peer from which the MSDP speaker accepts SA messages. If there is only one MSDP peer, all of its SA messages will be accepted. When multiple default peers are configured the switch uses the first default peer to appear in running-config. Default MSDP peers invalidate the use of RPF over unicast routing tables.
Each default peer may be associated with a prefix list. The prefix list specifies the RPs from where the speaker accepts SA messages. When running-config contains multiple default peers with prefix lists, an SA is accepted from the first default peer in running-config whose prefix list contains the RP in the SA. The speaker accepts all remaining SAs from the first default peer that is not associated with a prefix list.
Section 40.3.3.2: Configuring the Default Peer describes commands that configure default peers.
40.2.3 MSDP Exchange Processes
40.2.3.1 Control Information Exchange
An RP originates an SA message when a source registers with the RP to send data to a multicast group. RPs periodically originate SA messages while its registered sources send data to maintain messages in SA caches of its MSDP peers. RPs that have no registered sources periodically send keepalive messages to maintain TCP connections with its peers.
MSDP defines the following timers that specify the transmission frequency of control messages:
SA Advertisement Time: Duration of SA Advertisement intervals. An RP sends periodic SA messages to reference each registered source once per interval. SA advertisement time is 60 seconds.
Keepalive Time: Period between the transmission of consecutive keepalive messages. Default keepalive time is 60 seconds. Minimum keepalive time is one second.
Hold Timer: Period an MSDP speaker maintains a peer TCP connection after receiving an SA or keepalive message from the peer. Default time is 75 seconds. Minimum hold time is three seconds.
40.2.3.2 MSDP Data Exchange
This sequence describes the exchange of multicast data across PIM domains through MSDP:
Step 1 When a source’s first data packet is registered by the first hop router, the RP extracts the data from the packet and forwards it down the shared tree in the PIM domain.
Step 2 The RP informs MSDP peers of the new source by sending a Source-Active (SA) message that identifies the source, the recipient group, and the RP’s address or originator ID.
Step 3 Upon receiving the SA message, an MSDP peer which is the RP for a multicast tree that includes members interested in the multicast sends a PIM join message (S,G) toward the data source.
Step 4 The PIM designated router (DR) sends subsequent data encapsulated in PIM register messages directly to the remote domain’s RP when the source becomes active.
Step 5 If the source times out, this process repeats when the source goes active again.