Multicast Source Discovery Protocol Overview
In the PIM sparse mode model, multicast sources and receivers register with their local rendezvous point (RP). Operationally the router closest to a source or a receiver registers with the RP. RPs in other domains have no way of knowing about sources that are located in other domains.
MSDP is a mechanism that allows RPs to share information about active sources. RPs register the receivers in their local domain. When RPs in remote domains hear about the active sources, they can pass on that information to their local receivers. Multicast data can then be forwarded between the domains. Another function of MSDP is that it allows each domain to maintain an independent RP that does not rely on other domains, and MSDP allows the RP to share knowledge about active sources between domains. PIM-SM is used to forward the traffic between the multicast domains.
The RP in each domain establishes an MSDP peering session using a TCP connection with the RPs in other domains or with border routers leading to the other domains. When the RP learns about a new multicast source within its own domain (through the normal PIM register mechanism), the RP encapsulates the first data packet in a Source-Active (SA) message and sends the SA to all MSDP peers. Each receiving peer uses a modified Reverse Path Forwarding (RPF) check to forward the SA until the SA has reached every MSDP router in the interconnected networks—theoretically the entire multicast Internet. If the receiving MSDP peer is an RP, and the RP has a (*, G) entry for the group in the SA (meaning that there is an interested receiver), the RP creates (Source, Group) (S, G) state for the source and joins to the shortest path tree for the source. The encapsulated data is decapsulated and forwarded down the shared tree of that RP. When the last-hop router (the router closest to the receiver) receives the multicast packet, it may join the shortest path tree to the source. The MSDP speaker periodically sends SAs that include all sources within the domain of the RP. Figure 2 shows how data would flow from a source in domain A to a receiver in domain E.
MSDP was developed for peering among Internet service providers (ISPs). ISPs did not want to rely on an RP maintained by a competing ISP to provide service to their customers. MSDP allows each ISP to have its own local RP and still forward multicast traffic to the Internet and receive multicast traffic from the Internet.
Figure 2 MSDP Sharing Source Information Between RPs in Each Domain

Anycast RP Overview
Anycast RP is a useful application of MSDP. Originally developed for interdomain multicast applications, MSDP used for Anycast RP is an intradomain feature that provides redundancy and load-sharing capabilities. Enterprise customers typically use Anycast RP for configuring a Protocol Independent Multicast sparse mode (PIM-SM) network to meet fault tolerance requirements within a single multicast domain.
In anycast RP, two or more RPs are configured with the same IP address on loopback interfaces. The anycast RP loopback address should be configured with a 32-bit mask, making it a host address. All the downstream routers should be configured so that the anycast RP loopback address is the IP address of their local RP. IP routing will automatically select the topologically closest RP for each source and receiver. Assuming that the sources are evenly spaced around the network, an equal number of sources will register with each RP. That is, the process of registering the sources will be shared equally by all the RPs in the network.
Because a source may register with one RP and receivers may join to a different RP, a method is needed for the RPs to exchange information about active sources. This information exchange is done with MSDP.
In anycast RP, all the RPs are configured to be MSDP peers of each other. When a source registers with one RP, an SA message will be sent to the other RPs informing them that there is an active source for a particular multicast group. The result is that each RP will know about the active sources in the area of the other RPs. If any of the RPs were to fail, IP routing would converge, and one of the RPs would become the active RP in more than one area. New sources would register with the backup RP. Receivers would join the new RP and connectivity would be maintained.
The RP is normally needed only to start new sessions with sources and receivers. The RP facilitates the shared tree so that sources and receivers can establish a direct multicast data flow. If a multicast data flow is already established between a source and the receiver, an RP failure will not affect that session. Anycast RP ensures that new sessions with sources and receivers can begin at any time.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
ip multicast-routing [distributed]
4.
interface type number
5.
ip pim sparse-mode
6.
ip pim rp-address rp-address [access-list] [override]
7.
Repeat Steps 1 through 6 on two or more routers assigning the same RP address to each.
8.
interface loopback [interface-number] ip address [ip-address] [mask]
9.
interface loopback [interface-number] ip address [ip-address] [mask]
10.
exit
11.
ip msdp peer {peer-name | peer-address} [connect-source interface-type interface-number] [remote-as as-number]
12.
ip msdp originator-id loopback [interface]
13.
no ip pim dm-fallback
14.
Repeat Steps 8 through 13 on the redundant RPs.
DETAILED STEPS
|
Command or Action |
Purpose | |
|---|---|---|
|
Step 1 |
enable Example:
Router> enable |
Enables privileged EXEC mode. • |
|
Step 2 |
configure terminal Example:
Router# configure terminal |
Enters global configuration mode. |
|
Step 3 |
ip multicast-routing [distributed] Example:
Router(config)# ip multicast-routing |
Enables IP multicast routing. • |
|
Step 4 |
interface type number Example:
Router(config)# interface ethernet 1 |
Selects an interface that is connected to hosts on which PIM can be enabled. |
|
Step 5 |
ip pim sparse-mode Example:
Router(config-if)# ip pim sparse-mode |
Enables sparse mode. |
|
Step 6 |
ip pim rp-address rp-address [access-list] [override] Example:
Router(config-if)# ip pim rp-address 10.0.0.1 |
Configures the address of a PIM RP for a particular group. |
|
Step 7 |
Repeat Steps 1 through 6 on two or more routers assigning the same RP address to each. |
— |
|
Step 8 |
interface loopback [interface-number] ip address [ip-address] [mask] Example:
Router(config-if)# interface loopback 0 ip address 10.0.0.1 255.255.255.255 |
Configures the interface loopback IP address for the RP router. • |
|
Step 9 |
interface loopback [interface-number] ip address [ip-address] [mask] Example:
Router(config-if)# interface loopback 1 ip address 10.1.1.1 255.255.255.255 |
Configures the interface loopback IP address for MSDP peering. |
|
Step 10 |
exit Example:
Router(config-if)# exit |
Exits interface configuration mode and returns to global configuration mode. |
|
Step 11 |
ip msdp peer {peer-name | peer-address} [connect-source interface-type interface-number] [remote-as as-number] Example:
Router(config)# ip msdp peer 10.1.1.2 connect-source loopback 1 |
Configures an MSDP peer. • |
|
Step 12 |
ip msdp originator-id loopback [interface] Example:
Router(config)# ip msdp originator-id loopback 1 |
Allows an MSDP speaker that originates a SA message to use the IP address of the interface as the RP address in the SA message. • |
|
Step 13 |
no ip pim dm-fallback Example:
Router(config)# no ip pim dm-fallback |
(Optional) Prevents PIM dense mode fallback. • |
|
Step 14 |
Repeat Steps 8 through 13 on the redundant RPs. |
— |
Trackback
Trackback Address :: http://www.wicnea.com/trackback/190

Comments