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
AbstractEach 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. 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 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". 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. 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.
Section 3.3 of [RFC5059]. o Dynamic Group-to-RP mapping mechanisms are filtered at domain boundaries or for policy enforcement inside a domain.
for these specific applications, a longer prefix match should be given preference over statically configured Group-to-RP mappings. For example, 126.96.36.199/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. 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. 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. 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. 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.
Section 6.3 of [RFC4601]. RFC5060]. Many thanks to Stig Venaas, Yiqun Cai, and Toerless Eckert for providing useful comments. [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. http://www.infosys.com/ Andy Kessler Cisco Systems, Inc. 425 E. Tasman Drive San Jose, CA 95134 USA EMail: firstname.lastname@example.org URI: http://www.cisco.com/ David McWalter EMail: email@example.com