Using MSDP to Discover External Sources

Problem

You want to use MSDP to discover information about multicast sources in other Autonomous Systems.

Solution

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. The following configuration includes commands required to configure the router as an RP for the internal network using BSR, as discussed in Recipe 23.2, although you could just as easily use Auto-RP. It also includes configuration to prevent local multicast traffic from leaking into the neighboring network, as discussed in Recipes 23.14 and 23.15. And it includes MBGP configuration as in Recipe 23.16:

Router-ASBR1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router-ASBR1(config)#ip multicast-routing Router-ASBR1(config)#interface Loopback0 Router-ASBR1(config-if)#ip address 192.168.12.1 255.255.255.255 Router-ASBR1(config-if)# ip pim sparse-mode Router-ASBR1(config-if)#interface FastEthernet0/0 Router-ASBR1(config-if)#ip address 192.168.1.1 255.255.255.0 Router-ASBR1(config-if)#ip pim sparse-mode Router-ASBR1(config-if)#exit Router-ASBR1(config)#interface Serial1/0 Router-ASBR1(config-if)#ip address 192.168.2.5 255.255.255.252 Router-ASBR1(config-if)#ip multicast boundary 15 Router-ASBR1(config-if)#ip multicast ttl-threshold 64 Router-ASBR1(config-if)#ip pim sparse-mode Router-ASBR1(config-if)#exit Router-ASBR1(config)#ip pim rp-candidate loopback0 Router-ASBR1(config)#ip pim bsr-candidate loopback0 1 Router-ASBR1(config-if)#router bgp 65530 Router-ASBR1(config-router)#network 10.0.0.0 mask 255.0.0.0 Router-ASBR1(config-router)#neighbor 192.168.2.6 remote-as 65531 Router-ASBR1(config-router)#address-family ipv4 multicast Router-ASBR1(config-router-af)#neighbor 192.168.2.6 activate Router-ASBR1(config-router-af)#exit Router-ASBR1(config-router)#exit Router-ASBR1(config)#ip msdp peer 192.168.2.6 Router-ASBR1(config)#ip msdp sa-request 192.168.2.6 Router-ASBR1(config)#access-list 15 deny 239.0.0.0 0.255.255.255 Router-ASBR1(config)#access-list 15 deny 224.0.1.39 Router-ASBR1(config)#access-list 15 deny 224.0.1.40 Router-ASBR1(config)#access-list 15 permit any Router-ASBR1(config)#end Router-ASBR1#

 

Discussion

This is a rather long example, but most of the information here is discussed in earlier recipes. The important lines are just the two ip msdp commands:

Router-ASBR1(config)#ip msdp peer 192.168.2.6 Router-ASBR1(config)#ip msdp sa-request 192.168.2.6

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.

You can configure several MSDP peers, but if you do, one of them should be configured as the default as follows:

Router-ASBR1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router-ASBR1(config)#ip msdp peer 192.168.2.6 connect-source Loopback0 Router-ASBR1(config)#ip msdp sa-request 192.168.2.6 Router-ASBR1(config)#ip msdp default-peer 192.168.3.6connect-source Loopback0 Router-ASBR1(config)#ip msdp sa-request 192.168.3.6 Router-ASBR1(config)#end Router-ASBR1#

Even though MSDP will allow the routers to exchange information about active sources and groups, it does not include the ability to Join and Prune SPTs for different multicast groups. So, for this reason, we have also configured PIM-SM on the connection to the peer router. As an alternative, if you don't want to exchange PIM information with the neighboring network, you could treat it as a stub network and use PIM neighbor filters, as shown in Recipe 23.4.

This multi-peer example shows how to specify a particular source address for this router. In this case, MSDP will use the address of the Loopback0 interface.

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-ASBR1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router-ASBR1(config)#ip msdp sa-filter in 192.168.2.6 list 101 Router-ASBR1(config)#ip msdp sa-filter out 192.168.2.6 list 102 Router-ASBR1(config)#access-list 101 permit any 225.0.0.0 0.255.255.255 Router-ASBR1(config)#access-list 101 permit 10.0.0.0 0.255.255.255 any Router-ASBR1(config)#access-list 101 deny any any Router-ASBR1(config)#end Router-ASBR1#

For more information on MSDP, please refer to the RFC 3618.

See Also

Recipe 23.2; Recipe 23.3; Recipe 23.4; Recipe 23.14; Recipe 23.15; Recipe 23.16; RFC 3618

Категории