Manual Selection of an RP & Auto RP for PIM-SM

Posted by Bradley | Multicast | Tuesday 14 July 2009 14:25

Multicast traffic in PIM-SM gets sent to the RP and receivers request the traffic from the RP as such multicast networks operating in PIM-SM require an Rendezvous Point (RP) to operate. Section 2.4 of RFC2362 discusses how after a certain number of packets the shared tree using an RP can stop being used and a shortest path tree originating from the source router should be used, the RFC does not explicitly state the exactly when the switchover from a shared tree to a shortest path tree should take place. The time when the switchover takes place can be modified with this command;

Router(config)#ip pim spt-threshold ?
<0-4294967>  Traffic rate in kilobits per second
infinity     Never switch to source-tree

Manual selection of the RP – Manually selecting the RP is a drag as it does not scale to large networks as selecting the RP for each multicast group will be tedious and it is difficult to have any real redundancy if a manually selected RP happened to fail. Manual selection of an RP is configured with the following command;

Router(config)#ip pim rp-address ?
A.B.C.D  IP address of Rendezvous-point for group

Auto RP – One solution to this issue is automatically selecting the RP in a multicast tree using a Cisco proprietary protocol called Auto RP.

When using Auto RP an RP will send out an RP-Announce message every minute to the address 224.0.1.39 saying something like “Hey mapping agent(s), I’m 10.0.0.1, use me as the RP for all the multicast group 239.0.0.50!”. A Router(s) which is configured as the mapping-agent (often the same router) collates call of the RP information and sends out messages to the multicast group 224.0.1.40 stating which RPs should be used for which multicast groups. All routers using Auto RP and PIM-SM listen to 224.0.1.40 and use the information to find RPs.

If there are multiple RPs for a multicast group the RP will tiebreak with the highest RP address winning.

A router can be configured to send RP-Announce messages with the following commands;

Router(config)#access-list 10 permit 239.0.0.0 0.255.255.255
Router(config)#ip pim send-rp-announce loopback 0 scope 32 group-list 10

And a mapping agent configured with the command;

Router(config)#ip pim send-rp-announce loopback 0 scope 32

Simple!

There is a chicken and egg scenario with using PIM-SM with Auto RP where the Auto RP messages are sent to the multicast groups 224.0.1.39 and 224.0.1.40 but if a router does not know where to send the join messages for that group it cant participate. This is one of the reasons why the PIM the variation sparse-dense mode was developed to allow the routers to operate in dense mode until they learn the RP mappings of where to get the RP-Discovery or RP-Announce message.

Sparse-Dense mode is configured with the command;

Router(config-if)#ip pim sparse-dense-mode

Posts will be made tomorrow on finding the RP using BSR and Anycast RP with Multicast Source Discovery Protocol (MSDP)