RFC 6226 PROPOSED STANDARD MULTICAST · PIM · ROUTING

PIM RP mapping: PIM Group-to-Rendezvous-Point Mapping

A fixed ten-step tie-breaking rule so every multicast router picks the same Rendezvous Point for a group.

On rfc-editor.org ↗
PUBLISHED
May 2011
AUTHORS
B. Joshi, A. Kessler, D. McWalter
STREAM
IETF
BUILDS ON
RFC 4601 — PIM-SM
ALGORITHM LENGTH
10 steps
EMBEDDED-RP RANGE
ff70::/12
PREFERRED ORIGIN
Embedded, then dynamic, then static
BSR PRIORITY
Lowest value wins
DOI
10.17487/RFC6226

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                          B. Joshi
Request for Comments: 6226                     Infosys Technologies Ltd.
Updates: 4601                                                 A. Kessler
Category: Standards Track                            Cisco Systems, Inc.
ISSN: 2070-1721                                              D. McWalter
                                                                May 2011


                 PIM Group-to-Rendezvous-Point Mapping

Abstract

   Each Protocol Independent Multicast - Sparse Mode (PIM-SM) router in
   a PIM domain that supports Any Source Multicast (ASM) maintains
   Group-to-RP mappings that are used to identify a Rendezvous Point
   (RP) for a specific multicast group.  PIM-SM has defined an algorithm
   to choose a RP from the Group-to-RP mappings learned using various
   mechanisms.  This algorithm does not consider the PIM mode and the
   mechanism through which a Group-to-RP mapping was learned.

   This document defines a standard algorithm to deterministically
   choose between several Group-to-RP mappings for a specific group.
   This document first explains the requirements to extend the Group-to-
   RP mapping algorithm and then proposes the new algorithm.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc6226.

Copyright Notice

   Copyright (c) 2011 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1. Introduction ....................................................2
   2. Terminology .....................................................3
   3. Existing Algorithm ..............................................4
   4. Assumptions .....................................................5
   5. Common Use Cases ................................................5
   6. Proposed Algorithm ..............................................6
   7. Interpretation of MIB Objects ...................................8
   8. Clarification for MIB Objects ...................................8
   9. Use of Dynamic Group-to-RP Mapping Protocols ....................9
   10. Considerations for Bidirectional-PIM and BSR Hash ..............9
   11. Filtering Group-to-RP Mappings at Domain Boundaries ............9
   12. Security Considerations .......................................10
   13. Acknowledgements ..............................................10
   14. Normative References ..........................................10

1.  Introduction

   Multiple mechanisms exist today to create and distribute Group-to-RP
   mappings.  Each PIM-SM router may learn Group-to-RP mappings through
   various mechanisms, as described in Section 4.

   It is critical that each router select the same 'RP' for a specific
   multicast group address; otherwise, full multicast connectivity will
   not be established.  This is true even when using an Anycast RP to
   provide redundancy.  This RP address may correspond to a different
   physical router, but it is one logical RP address and must be
   consistent across the PIM domain.  This is usually achieved by using
   the same algorithm to select the RP in all the PIM routers in a
   domain.

   PIM-SM [RFC4601] has defined an algorithm to select a 'RP' for a
   given multicast group address, but it is not flexible enough for an
   administrator to apply various policies.  Please refer to Section 3
   for more details.

   The PIM-STD-MIB [RFC5060] includes a number of objects to allow an
   administrator to set the precedence for Group-to-RP mappings that are
   learned statically or dynamically and stored in the
   'pimGroupMappingTable'.  The Management Information Base (MIB) module
   also defines an algorithm that can be applied to the data contained
   in the 'pimGroupMappingTable' to determine Group-to-RP mappings.
   However, this algorithm is not completely deterministic, because it
   includes an implementation-specific 'precedence' value.

   Network management stations will be able to deduce which RPs will be
   selected by applying the algorithm from this document to the list of
   Group-to-RP mappings from the 'pimGroupMappingTable'.  The algorithm
   provides MIB visibility into how routers will apply Group-to-RP
   mappings and also fixes the inconsistency introduced by the way that
   different vendors implement the selection of the Group-to-RP mappings
   to create multicast forwarding state.

   Embedded-RP, as defined in Section 7.1 of "Embedding the Rendezvous
   Point (RP) Address in an IPv6 Multicast Address" [RFC3956], specifies
   the following: "To avoid loops and inconsistencies, for addresses in
   the range ff70::/12, the Embedded-RP mapping MUST be considered the
   longest possible match and higher priority than any other mechanism".

2.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

   This document also uses the following terms:

   o  PIM Mode

      PIM Mode is the mode of operation for which a particular multicast
      group is used.  Wherever this term is used in this document, it
      refers to either Sparse Mode or Bidirectional (BIDIR) Mode.

   o  Dynamic Group-to-RP Mapping Mechanisms

      The term "dynamic Group-to-RP mapping mechanisms" in this document
      refers to Bootstrap Router (BSR) [RFC5059] and Auto-RP.

   o  Dynamic Mappings and Dynamically Learned Mappings

      The terms "dynamic mappings" and "dynamically learned mappings"
      refer to Group-to-RP mappings that have been learned by either BSR
      or Auto-RP.  Group-to-RP mappings that have been learned by
      Embedded-RP are referred to as Embedded Group-to-RP mappings.

   o  Filtering

      Filtering is the selective discarding of dynamic Group-to-RP
      mapping information, based on the group address, the type of
      Group-to-RP mapping message, and the interface on which the
      mapping message was received.

   o  Multicast Domain and Boundaries

      The term "multicast domain" used in this document refers to a
      network topology that has a consistent set of Group-to-RP
      mappings.  The interface between two or more multicast domains is
      a multicast domain boundary.  The multicast boundaries are usually
      enforced by filtering the dynamic mapping messages and/or
      configuring different static RP mappings.

3.  Existing Algorithm

   The existing algorithm defined in PIM-SM (Section 4.7.1 of [RFC4601])
   does not consider the following constraints:

   o  It does not consider the origin of a Group-to-RP mapping and
      therefore will treat all of them equally.

   o  It does not provide the flexibility to give higher priority to a
      specific PIM mode.  For example, an entry learned for the PIM-
      BIDIR Mode is treated with the same priority as an entry learned
      for PIM-SM.

   The algorithm defined in this document updates the algorithm defined
   in PIM-SM (Section 4.7.1 of [RFC4601]).  The new algorithm is
   backward compatible and will produce the same result only if the
   Group-to-RP mappings are learned from a single mapping source.  The
   full benefits of the new algorithm will not be realized until it is
   widely deployed.

4.  Assumptions

   We have made the following assumptions in defining this algorithm:

   o  A Group-to-RP mapping can be learned from various mechanisms.  We
      assume that the following list is ordered by decreasing preference
      for these mechanisms:

      *  Embedded Group-to-RP mappings

      *  Dynamically learned mappings

      *  Static configuration

      *  Other mapping method

   o  Embedded Group-to-RP mappings are special and always have the
      highest priority.  They cannot be overridden by static
      configuration or by dynamic Group-to-RP mappings.

   o  Dynamic mappings will override a static RP configuration if they
      have overlapping ranges.  However, it is possible to override
      dynamic Group-to-RP mappings with static configurations, either by
      filtering, or by configuring longer static group addresses that
      override dynamic mappings when longest prefix matching is applied.

   o  A Group-to-RP mapping learned for PIM-BIDIR Mode is preferred to
      an entry learned for PIM-SM Mode as stipulated in Section 3.3 of
      [RFC5059].

   o  Dynamic Group-to-RP mapping mechanisms are filtered at domain
      boundaries or for policy enforcement inside a domain.

5.  Common Use Cases

   A network operator deploying IP Multicast will require a
   deterministic way to select the precedence for Group-to-RP mappings
   in the following use cases:

   o  Default static Group-to-RP mappings with dynamically learned
      entries

      Many network operators will have a dedicated infrastructure for
      the standard multicast group range (224/4) and so might be using
      statically configured Group-to-RP mappings for this range.  In
      this case, to support some specific applications, they might want
      to learn Group-to-RP mappings dynamically using either the BSR or
      Auto-RP mechanism.  In this case, to select Group-to-RP mappings
      for these specific applications, a longer prefix match should be
      given preference over statically configured Group-to-RP mappings.
      For example, 239.100.0.0/16, an administratively scoped multicast
      address range, could be learned for a corporate communications
      application.  Network operators may change the Group-to-RP
      mappings for these applications more often, and the mappings would
      need to be learned dynamically.  This is not an issue for IPv6
      Multicast address ranges.

   o  Migration situations

      Network operators occasionally go through a migration due to an
      acquisition or a change in their network design.  In order to
      facilitate this migration, there is a need to have a deterministic
      behavior of Group-to-RP mapping selection for entries learned
      using the BSR and Auto-RP mechanisms.  This will help in avoiding
      any unforeseen interoperability issues between different vendors'
      network elements.

   o  Use by management systems

      A network management station can determine the RP for a specific
      group in a specific router by running this algorithm on the Group-
      to-RP mapping table fetched using MIB objects.

6.  Proposed Algorithm

   The following algorithm deterministically chooses between several
   Group-to-RP mappings for a specific group.  It also addresses the
   above-mentioned shortcomings in the existing mechanism.

   1.   If the multicast group address being looked up contains an
        embedded RP, the RP address extracted from the group address is
        selected as the Group-to-RP mapping.

   2.   If the multicast group address being looked up is in the Source
        Specific Multicast (SSM) range or is configured for Dense Mode,
        no Group-to-RP mapping is selected, and this algorithm
        terminates.  The fact that no Group-to-RP mapping has been
        selected can be represented in the PIM-STD-MIB module [RFC5060]
        by setting the address type of the RP to 'unknown', as described
        in Section 8.

   3.   From the set of all Group-to-RP mapping entries, the subset
        whose group prefix contains the multicast group that is being
        looked up is selected.

   4.   If there are no entries available, then the Group-to-RP mapping
        is undefined, and this algorithm terminates.

   5.   A longest prefix match is performed on the subset of Group-to-RP
        mappings.

        *  If there is only one entry available, then that entry is
           selected as the Group-to-RP mapping.

        *  If there are multiple entries available, the algorithm
           continues with this smaller set of Group-to-RP mappings.

   6.   From the remaining set of Group-to-RP mappings, we select the
        subset of entries based on the preference for the PIM modes to
        which the multicast group addresses are assigned.  A Group-to-RP
        mapping entry with PIM Mode 'BIDIR' will be preferred to an
        entry with PIM Mode 'PIM-SM'.

        *  If there is only one entry available, then that entry is
           selected as the Group-to-RP mapping.

        *  If there are multiple entries available, the algorithm
           continues with this smaller set of Group-to-RP mappings.

   7.   From the remaining set of Group-to-RP mappings, we select the
        subset of the entries based on the origin.  Group-to-RP mappings
        learned dynamically are preferred over static mappings.  If the
        remaining dynamic Group-to-RP mappings are from BSR and Auto-RP,
        then the mappings from BSR are preferred.

        *  If there is only one entry available, then that entry is
           selected as the Group-to-RP mapping.

        *  If there are multiple entries available, the algorithm
           continues with this smaller set of Group-to-RP mappings.

   8.   If the remaining Group-to-RP mappings were learned through BSR,
        then the RP will be selected by comparing the RP Priority values
        in the Candidate-RP-Advertisement messages.  The RP mapping with
        the lowest value indicates the highest priority [RFC5059].

        *  If more than one RP has the same highest priority (i.e., the
           same lowest value), the algorithm continues with those Group-
           to-RP mappings.

        *  If the remaining Group-to-RP mappings were NOT learned from
           BSR, the algorithm continues with the next step.

   9.   If the remaining Group-to-RP mappings were learned through BSR
        and the PIM Mode of the group is 'PIM-SM', then the hash
        function as defined in Section 4.7.2 of [RFC4601] will be used
        to choose the RP.  The RP with the highest resulting hash value
        will be selected.  Please see Section 10 for consideration of
        hash for BIDIR-PIM and BSR.

        *  If more than one RP has the same highest hash value, the
           algorithm continues with those Group-to-RP mappings.

        *  If the remaining Group-to-RP mappings were NOT learned from
           BSR, the algorithm continues with the next step.

   10.  From the remaining set of Group-to-RP mappings, the RP with the
        highest IP address (numerically greater) will be selected.  This
        will serve as a final tiebreaker.

7.  Interpretation of MIB Objects

   As described in [RFC5060], the Group-to-RP mapping information is
   summarized in the pimGroupMappingTable.  The precedence value is
   stored in the 'pimGroupMappingPrecedence' object, which covers both
   the dynamically learned Group-to-RP mapping information and the
   static configuration.  For static configurations, the
   'pimGroupMappingPrecedence' object uses the value of the
   'pimStaticRPPrecedence' object from the pimStaticRPTable.

   The algorithm defined in this document does not use the concept of
   precedence, and therefore the values configured in the
   'pimGroupMappingPrecedence' and 'pimStaticRPPrecedence' objects in
   the PIM-STD-MIB module [RFC5060] are not applicable to the new
   algorithm.  The objects still retain their meaning for 'legacy'
   implementations, but since the algorithm defined in this document is
   to be used in preference to those found in PIM-SM [RFC4601] and the
   PIM-STD-MIB [RFC5060], the values of these objects will be ignored on
   implementations that support the new algorithm.

8.  Clarification for MIB Objects

   An implementation of this specification can continue to be managed
   using the PIM-STD-MIB [RFC5060].  Group-to-RP mapping entries are
   created in the pimGroupMappingTable for group ranges that are SSM or
   Dense mode.  In these cases, the pimGroupMappingRPAddressType object
   is set to unknown(0), and the PIM Mode in the pimGroupMappingPimMode
   object is set to either ssm(2) or dm(5) to reflect the type of the
   group range.

   Also, all the entries that are already included in the SSM Range
   table in the IP Multicast MIB [RFC5132] are copied to the
   pimGroupMappingTable.  Such entries have their type in the
   pimGroupMappingOrigin object set to configSsm(3) and the RP address
   type in the pimGroupMappingRPAddressType object set to unknown(0), as
   described above.

9.  Use of Dynamic Group-to-RP Mapping Protocols

   It is not usually necessary to run several dynamic Group-to-RP
   mapping mechanisms in one administrative domain.  Specifically,
   interoperation of BSR and Auto-RP is OPTIONAL.

   However, if a router does receive two overlapping sets of Group-to-RP
   mappings, for example from Auto-RP and BSR, then some algorithm is
   needed to deterministically resolve the situation.  The algorithm in
   this document MUST be used on all routers in the domain.  This can be
   important at domain border routers, and is likely to avoid conflicts
   caused by misconfiguration (when routers receive overlapping sets of
   Group-to-RP mappings) and when configuration is changing.

   An implementation of PIM that supports only one mechanism for
   learning Group-to-RP mappings MUST also use this algorithm.  The
   algorithm has been chosen so that existing standard implementations
   are already compliant.

10.  Considerations for Bidirectional-PIM and BSR Hash

   BIDIR-PIM [RFC5015] is designed to avoid any data-driven events.
   This is especially true in the case of a source-only branch.  The RP
   mapping is determined based on a group mask when the mapping is
   received through a dynamic mapping protocol or statically configured.

   Therefore, based on the algorithm defined in this document, the hash
   in BSR is ignored for PIM-BIDIR RP mappings.  It is RECOMMENDED that
   network operators configure only one PIM-BIDIR RP for each RP
   Priority.

11.  Filtering Group-to-RP Mappings at Domain Boundaries

   An implementation of PIM SHOULD support configuration to filter
   specific dynamic mechanisms for a valid group prefix range.  For
   example, it should be possible to allow an administratively scoped
   address range, such as 239/8, for the Auto-RP protocol, but to filter
   out the BSR advertisement for the same range.  Similarly, it should
   be possible to filter out all Group-to-RP mappings learned from BSR
   or the Auto-RP protocol.

12.  Security Considerations

   This document enhances an existing algorithm to deterministically
   choose between several Group-to-RP mappings for a specific group.
   Different routers may select a different Group-to-RP mapping for the
   same group if the Group-to-RP mappings learned in these routers are
   not consistent.  For example, let us assume that BSR is not enabled
   in one of the routers, and so it does not learn any Group-to-RP
   mappings from BSR.  Now the Group-to-RP mappings learned in this
   router may not be consistent with other routers in the network; it
   may select a different RP or may not select any RP for a given group.
   Such situations can be avoided if the mechanisms used to learn Group-
   to-RP mappings are secure and consistent across the network.  Secure
   transport of the mapping protocols can be accomplished by using
   authentication with IPsec, as described in Section 6.3 of [RFC4601].

13.  Acknowledgements

   This document is created based on discussion that occurred during
   work on the PIM-STD-MIB [RFC5060].  Many thanks to Stig Venaas, Yiqun
   Cai, and Toerless Eckert for providing useful comments.

14.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC3956]  Savola, P. and B. Haberman, "Embedding the Rendezvous
              Point (RP) Address in an IPv6 Multicast Address",
              RFC 3956, November 2004.

   [RFC4601]  Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas,
              "Protocol Independent Multicast - Sparse Mode (PIM-SM):
              Protocol Specification (Revised)", RFC 4601, August 2006.

   [RFC5015]  Handley, M., Kouvelas, I., Speakman, T., and L. Vicisano,
              "Bidirectional Protocol Independent Multicast (BIDIR-
              PIM)", RFC 5015, October 2007.

   [RFC5059]  Bhaskar, N., Gall, A., Lingard, J., and S. Venaas,
              "Bootstrap Router (BSR) Mechanism for Protocol Independent
              Multicast (PIM)", RFC 5059, January 2008.

   [RFC5060]  Sivaramu, R., Lingard, J., McWalter, D., Joshi, B., and A.
              Kessler, "Protocol Independent Multicast MIB", RFC 5060,
              January 2008.

   [RFC5132]  McWalter, D., Thaler, D., and A. Kessler, "IP Multicast
              MIB", RFC 5132, December 2007.

Authors' Addresses

   Bharat Joshi
   Infosys Technologies Ltd.
   44 Electronics City, Hosur Road
   Bangalore  560 100
   India

   EMail: bharat_joshi@infosys.com
   URI:   http://www.infosys.com/


   Andy Kessler
   Cisco Systems, Inc.
   425 E. Tasman Drive
   San Jose, CA  95134
   USA

   EMail: kessler@cisco.com
   URI:   http://www.cisco.com/


   David McWalter

   EMail: david@mcwalter.eu

AI ELI5

On this page
PROBLEMA PIM-SM router can learn several Group-to-RP mappings for the same multicast group from different sources, and the older selection algorithm ignores where a mapping came from and which PIM mode it is for. If routers pick different RPs, full multicast connectivity is not established.
MECHANISMThe RFC defines a ten-step algorithm: embedded RP first, then longest prefix match, PIM mode (BIDIR over PIM-SM), origin (dynamic over static, BSR over Auto-RP), BSR priority, BSR hash, and finally the highest RP address as a tiebreaker.
WHY IT MATTERSRouters and management stations can now compute the same RP choice from the same set of mappings. The RFC updates RFC 4601 and is a Proposed Standard.

§1Why Routers Must Agree on the RP

In PIM Sparse Mode (PIM-SM), each router keeps Group-to-RP mappings: a table that says which Rendezvous Point (RP) serves which multicast group address. Several mechanisms can create and distribute these mappings, so one router may learn more than one answer for the same group.

The RFC states that it is critical for every router to select the same RP for a given group address. Otherwise full multicast connectivity will not be established. This holds even with an Anycast RP: the address may map to different physical routers, but it is one logical RP address and must be consistent across the PIM domain. That is usually achieved by running the same selection algorithm in all routers of the domain.

The algorithm in RFC 4601 is not flexible enough for administrators to apply policies. The PIM-STD-MIB (RFC 5060) has a 'precedence' value, but because it is implementation-specific the MIB algorithm is not completely deterministic.

Everyone playing a game must agree who the referee is. If two kids pick different referees, the game falls apart. This RFC makes sure everyone picks the same one.

§2Terms and the Existing Algorithm

The RFC defines a few terms. PIM Mode means either Sparse Mode or Bidirectional (BIDIR) Mode. Dynamic mappings are those learned by Bootstrap Router (BSR) or Auto-RP; mappings learned by Embedded-RP are called embedded mappings. A multicast domain is a network with a consistent set of mappings, and the edges between domains are multicast boundaries, usually enforced by filtering dynamic mapping messages or by configuring different static RP mappings.

The existing algorithm from Section 4.7.1 of RFC 4601 has two gaps. It treats all mappings equally regardless of origin, and it gives no way to prefer one PIM mode, so an entry learned for BIDIR is treated like one for PIM-SM.

The new algorithm is backward compatible and gives the same result only when mappings come from a single source. Its full benefits will not be realized until it is widely deployed.

The old rule treated every answer as equally good, even when one came from a more trusted helper. The new rule notices who said it and what kind of game it is.

§3Assumptions and Use Cases

The algorithm assumes this order of preference for how a mapping was learned, highest first: embedded mappings, dynamically learned mappings, static configuration, and any other method. Embedded mappings always win and cannot be overridden by static or dynamic mappings. A dynamic mapping overrides a static one with an overlapping range, though an operator can still override it by filtering or by configuring a longer static prefix. A mapping learned for BIDIR is preferred to one for PIM-SM, as stated in Section 3.3 of RFC 5059.

Three use cases motivate the work:

  • Default static mappings for the standard multicast range (224/4) combined with dynamically learned entries for specific applications, such as 239.100.0.0/16 for a corporate communications application.
  • Migrations after an acquisition or network redesign, where BSR and Auto-RP entries need deterministic handling to avoid interoperability surprises between vendors.
  • Management systems that run the algorithm on the mapping table fetched through MIB objects to find the RP a router will use for a group.

Some helpers are trusted more than others, and a very specific note beats a general one. Grown-ups who run networks need a clear rule for this when they move from one setup to another.

§4The Ten-Step Selection Algorithm

Section 6 narrows the candidate mappings step by step and stops as soon as one entry remains.

  1. If the group address contains an embedded RP, the RP address extracted from it is selected.
  2. If the group is in the Source Specific Multicast (SSM) range or configured for Dense Mode, no RP is selected and the algorithm ends.
  3. Keep only entries whose group prefix contains the group.
  4. If none remain, the mapping is undefined and the algorithm ends.
  5. Do a longest prefix match on the remaining entries.
  6. Prefer entries with PIM Mode BIDIR over PIM-SM.
  7. Prefer dynamically learned entries over static ones; between BSR and Auto-RP, prefer BSR.
  8. For BSR entries, compare the RP Priority from the Candidate-RP-Advertisement messages; the lowest value is the highest priority.
  9. For BSR entries in PIM-SM mode, use the hash function from Section 4.7.2 of RFC 4601; the highest hash value wins.
  10. As a final tiebreaker, select the RP with the numerically highest IP address.

It is like a tournament with ten rounds. After each round, if only one contender is left, that one wins. If several tie, they play the next round, and the last round just picks the biggest number.

THE TEN STEPS IN ORDER (RFC 6226 SECTION 6)
  • 1Embedded RP — Use the RP address extracted from the group address.
  • 2SSM or Dense Mode — No RP is selected; the algorithm ends.
  • 3Matching prefixes — Keep entries whose prefix contains the group.
  • 4No entries — The mapping is undefined; the algorithm ends.
  • 5Longest prefix — Keep the longest matching prefix.
  • 6PIM mode — BIDIR is preferred over PIM-SM.
  • 7Origin — Dynamic over static; BSR over Auto-RP.
  • 8BSR RP Priority — Lowest value is the highest priority.
  • 9BSR hash — Highest hash value wins (PIM-SM).
  • 10Highest address — Final tiebreaker: numerically greater IP address.

§5Effect on MIB Objects

The PIM-STD-MIB (RFC 5060) summarizes mappings in the pimGroupMappingTable. The new algorithm does not use precedence, so the values of pimGroupMappingPrecedence and pimStaticRPPrecedence do not apply to it. They keep their meaning for legacy implementations, but are ignored on implementations that support the new algorithm.

An implementation can still be managed with the PIM-STD-MIB. Entries are created in pimGroupMappingTable for SSM and Dense Mode ranges, with pimGroupMappingRPAddressType set to unknown(0) and the PIM mode set to ssm(2) or dm(5). Entries already in the SSM Range table of the IP Multicast MIB (RFC 5132) are copied in with origin configSsm(3).

The routers keep a notebook of who they think the leader is for each group. This part says how to write the notebook entries so that people checking it can follow the same rules.

§6Operating Rules: Protocols, BIDIR and Filtering

Running several dynamic mapping mechanisms in one administrative domain is not usually necessary, and interoperation of BSR and Auto-RP is OPTIONAL. But if a router receives overlapping sets, this algorithm MUST be used on all routers in the domain. An implementation that supports only one mechanism MUST also use it; the RFC notes the algorithm was chosen so that existing standard implementations are already compliant.

For BIDIR-PIM (RFC 5015), the hash in BSR is ignored. The RFC RECOMMENDS that operators configure only one BIDIR RP for each RP Priority.

Implementations SHOULD support filtering of specific dynamic mechanisms for a valid group prefix range. For example, allowing the administratively scoped range 239/8 for Auto-RP while filtering the BSR advertisement for the same range, or filtering all mappings learned from BSR or Auto-RP.

Pick one way of choosing leaders when you can. If two ways are used, everyone must follow the same rulebook, and borders can block messages they do not want.

§7Security Considerations

Routers may select different mappings for the same group if the mappings they learned are not consistent. The RFC's example: if BSR is not enabled on one router, that router learns no BSR mappings and may choose a different RP, or none at all, for a group.

Such situations can be avoided if the mechanisms used to learn mappings are secure and consistent across the network. Secure transport of the mapping protocols can use IPsec authentication, as described in Section 6.3 of RFC 4601.

If one router never hears one helper, it may pick a different leader. Keeping every helper's messages safe and the same for everybody prevents that.

§8References