PIM Working Group                                               B. Joshi
Internet-Draft                                 Infosys Technologies Ltd.
Expires: April 24, December 27, 2009                                    A. Kessler
                                                     Cisco Systems, Inc.
                                                             D. McWalter
                                                     Data Connection Ltd
                                                        October 21, 2008
                                                           June 25, 2009

                        PIM Group-to-RP Mapping
                 draft-ietf-pim-group-rp-mapping-00.txt
                 draft-ietf-pim-group-rp-mapping-01.txt

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she

   This Internet-Draft is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, submitted to IETF in accordance full conformance with Section 6 the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on April 24, December 27, 2009.

Copyright Notice

   Copyright (c) 2009 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 in effect on the date of
   publication of this document (http://trustee.ietf.org/license-info).
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.

Abstract

   Each PIM-SM router in a PIM Domain which supports ASM maintains
   Group-to-RP mappings which are used to identify a 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 allow administrator to override a specific Group-
   to-RP mapping with the static Group-to-RP mapping which an
   administrator would want to use.  This algorithm also does not
   consider the PIM mode and the mechanism through which a Group-to-RP
   mapping was learned.

   The intention of this document is to suggest 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.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  5
   3.  Existing algorithm . . . . . . . . . . . . . . . . . . . . . .  6
   4.  Assumptions  . . . . . . . . . . . . . . . . . . . . . . . . .  7
   5.  Common use cases . . . . . . . . . . . . . . . . . . . . . . .  8
   6.  Proposed algorithm . . . . . . . . . . . . . . . . . . . . . . 10
   7.  Deprecation of MIB Objects . . . . . . . . . . . . . . . . . . 12
   8.  Clarification for MIB Objects  . . . . . . . . . . . . . . . . 13
   9.  Security Consideration . . . .  Migration to the new algorithm . . . . . . . . . . . . . . . . 14
   10. IANA Security Consideration . . . . . . . . . . . . . . . . . . . . . . 15
   11. Acknowledgments  . IANA Consideration . . . . . . . . . . . . . . . . . . . . . . 16
   12. Normative References Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 17
   Authors' Addresses
   13. Normative References . . . . . . . . . . . . . . . . . . . . . 18
   Authors' Addresses . . . . . . . . . . . . . . 18
   Intellectual Property and Copyright Statements . . . . . . . . . . 19

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.

   It is critical that each router select the same 'RP' for a specific
   multicast group address.  This is even true in the case of Anycast RP
   for redundancy.  Routers should select the same RP address to use for
   a given group address.  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.

   PIM-STD-MIB [RFC5060] has defined an algorithm that allows
   administrators to override Group-to-RP mappings with static
   configuration.  But this algorithm is not completely deterministic,
   because it includes an implementation-specific 'precedence' value.

   Embedded-RP as defined in section-7.1 of Embedded-RP address in IPv6
   Multicast address [RFC3956], mentions that 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

   In this document, the key words "MUST", "MUST NOT", "REQUIRED",
   "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
   and "OPTIONAL" are to be interpreted as described in RFC 2119.  This
   document also uses following terms:

   o  PIM Mode

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

3.  Existing algorithm

   Existing algorithm defined in PIM-SM (Section 4.7.1 in [RFC4601])
   does not consider 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 that a specific statically
      created Group-to-RP mapping can override any dynamically learned
      mappings.

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

4.  Assumptions

   We have made following assumptions in defining this algorithm:

   o  PIM-SM [RFC4601] and BSR [RFC5059] suggested use of a hash
      function as the last step to select a RP from multiple Group-to-RP
      mappings.  There seems to be no requirement for this function, so
      this draft assumes that the step to apply hash function can be
      removed.

   o  A static Group-to-RP mapping entry can be configured with
      override-dynamic flag.  If this flag is set, the static
      Group-to-RP mapping entry will be preferred instead of dynamically
      learned entries.

   o  Group-to-RP mappings created with the embedded RP extracted from
      Multicast Group addresses are special and always has the highest
      priority.  These mappings can not be overridden by a static Group-
      to-RP mapping with override-dynamic flag set.

   o  A Group-to-RP mapping can be learned from various mechanisms.  We
      assume that following list is in the decreasing preferences of
      these mechanism:

      *  Embedded Group-to-RP mappings

      *  Bootstrap Router Mechanism [PIM-BSR]

      *  Auto-RP [Cisco]

      *  Static configuration.

      *  Other mapping method

   o  A Group-to-RP mapping learned for PIM-BIDIR mode is preferred to
      an entry learned for PIM-SM mode.

5.  Common 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 like to learn
   Group-to-RP mappings dynamically using either 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 could be learned for a corporate
   communications application.  Network operators may change the Group-
   to-RP mappings for these applications more often and would need to be
   learned dynamically.

   o  Static Group-to-RP mappings with override-dynamic flag

   Many Network operators would like to statically configure one or
   multiple Group-to-RP mappings and would always want to ignore any
   dynamically learned mappings through either BSR, AutoRP or embedded
   RP for these group prefixes.  This is accomplished by providing a
   'override-dynamic' flag for Group-to-RP mapping configuration.  When
   this flag is enabled for a static Group-to-RP mapping, it will have
   the highest precedence and would always be use for the specified
   group prefix.  For example: 224.1.0.0/16 is configured with override-
   dynamic flag enabled and uses RP address RP1.  If the router learns
   the more specific group prefix 224.1.1.0/24 which uses RP2 through
   BSR, it will choose the RP1 for any group falling under 224.1.0.0/16
   range.

   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 needs to have a deterministic
   behavior of Group-to-RP mapping selection for entries learned using
   BSR and AutoRP mechanism.  This will help in avoiding any unforeseen
   interoperability issues between different vendor's network elements.

   o  Use by management systems

   A network management system [or a stand alone box] can find out RP
   for a specific group in a specific router by running this algorithm
   on the Group-to-RP mapping table fetched using SNMP MIB objects.

   o  More use cases

   By no means, the above list is complete.  Please drop a mail to
   'authors' if you see any other use case for this.

6.  Proposed algorithm

   We propose following algorithm here which addresses the above
   mentioned shortcomings in the existing mechanism:

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

   2.  If the Multicast Group Address being looked up is in the SSM
       range or is configured for Dense mode, no Group-to-RP mapping is
       selected, and this algorithm terminates.  Alternatively, a RP
       with address type 'unknown' can be selected.  Please look at
       section #8 for more details on this.

   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, are selected.

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

   5.  If there are multiple entries available, a subset of those Group-
       to-RP mapping is selected that are learned using 'static'
       configuration and are configured with 'override-dynamic' flag.

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

       *  If there are multiple entries available, we continue with the
          algorithm with this smaller set of Group-to-RP Mappings

       *  If there are no static entries with 'override-dynamic' flag
          set then we continue with the original subset of Group-to-RP
          Mappings from step 2.

   6.  A longest prefix match is performed on the subset of Group-to-RP
       Mappings.

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

       *  If there are multiple entries available, we continue with the
          algorithm with this smaller set of Group-to-RP Mappings

   7.  From the remaining set of Group-to-RP Mappings we select the
       subset of entries based on the preference for the PIM modes which
       they 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 is selected as
          Group-to-RP mapping.

       *  If there are multiple entries available, we continue with the
          algorithm with this smaller set of Group-to-RP Mappings

   8.  From the remaining set of Group-to-RP Mappings we select the
       subset of the entries based on the origin.  Origin preference
       will be 'bsr', 'auto-rp', 'static' and 'other'.

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

       *  If there are multiple entries available, we continue with the
          algorithm with this smaller set of Group-to-RP Mappings

   9.  From the remaining set of Group-to-RP Mappings we will select the
       RP with the highest IP address.  This will serve as a final
       tiebreaker.

7.  Deprecation of MIB Objects

   Group-to-RP mapping algorithm defined in PIM-STD-MIB [RFC5060] does
   not specify the usage of 'pimGroupMappingPrecedence' and
   'pimStaticRPPrecedence' objects in 'pimGroupMappingTable' table
   clearly.  With the newly proposed algorithm in this document, these
   MIB objects would not be required.  So we propose to deprecate these
   MIB objects from PIM-STD-MIB.  Also the newly proposed algorithm in
   this document MUST be preferred over Group-to-RP mapping algorithm
   defined in either PIM-SM[RFC4601] or in PIM-STD-MIB[RFC5060].

8.  Clarification for MIB Objects

   When an Group-to-RP mapping entry is created in the
   pimGroupMappingTable in the PIM-STD MIB[RFC5060], it would be
   acceptable to have an entry with an RP with address type 'unknown'
   and a PimMode of Dense Mode or SSM.  These entries would represent
   group ranges for Dense mode or SSM.

   Also all the entries which are already included in the SSM Range
   table in the IP Mcast MIB would be copied over to
   pimGroupMappingTable.  They would have a type of configSSM and an RP
   with address type 'unknown' as described above.

   The advantage of keeping all the ranges in the table would be that
   this table will contain all the known multicast group ranges.

9.  Migration to the new algorithm

   The Group-to-RP mapping algorithm proposed in this document obsoletes
   the use of the hash function.  With this change, there will be no
   interoperability between the old and the new algorithm.  So networks
   that use multiple RP addresses for a Group Range and use the hash
   function for load sharing will need to be migrated to the new
   algorithm proposed in this document.  A seamless migration to the new
   Group-to-RP algorithm can be accomplished by using one RP address
   with Anycast RP.

10.  Security Consideration

   This document does not suggest any protocol specific functionality so
   there is no security related consideration.

10.

11.  IANA Consideration

   This draft does not create any namespace for IANA to manage.

11.

12.  Acknowledgments

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

12.

13.  Normative References

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

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

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

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

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
   Data Connection Ltd
   100 Church Street
   Enfield  EN2 6BQ
   UK

   Email: dmcw@dataconnection.com

Full Copyright Statement

   Copyright (C) The IETF Trust (2008).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.