Multicast PIM with multiple mapping-agents

When implementing multicast, within a single PIM domain, you can have more than one router configured as a mapping agent. The following command enables a router as a mapping agent:

ip pim send-rp-discovery loopback 0 scope 10

This specifies the loopback 0 as the source of the mapping agent, and a TTL of 10. The scope essentially determines the maximum distance in number of hops that this router will function as a mapping agent.

The mapping agent receives announcements of intention to become the RP from Candidate-RPs. The mapping agent then announces the winner of the RP election.

Now if there is more than one router configured as a mapping agent within a PIM domain, then each mapping agent makes this announcement independently of the decisions of the other mapping agents.

In addition, when there are multiple mapping agents, conflicts are resolved following these rules:

  • If there are two announcements with the same group range but different RPs, the mapping agent will select the announcement with the highest RP IP address.
  • If there are two announcements where one group is a subset of another but the RPs are different, both will be sent.
  • All other announcements are grouped together without any conflict resolution.

Now mapping agents send out their conclusions based on these rules to the multicast group, to which all regular routers join. Based on this content, each router is responsible for populating its own Auto-RP cache with the Group to RP mappings. The cache contains both negative and positive entries.

When looking for an RP for a particular group, the Auto-RP algorithm will look through the negative entries. If there is a match to a negative entry, no RP is used, and the group is considered to operate in dense mode. Any RP information in the negative entries will be ignored since RPs are not used in dense mode.

If the group does not match a negative entry, the algorithm will begin to search in the positive list.
Now in this list, because each group corresponds to a particulate RP, there may be conflicts where multiple RPs try to serve overlapping group ranges. The receiving router uses the longest match rule to resolve all conflicts. If there are multiple matches, only the one with the longest prefix length is selected.

See also Multicast PIM Bootstrap (BSR) election.