draft-ietf-pim-group-rp-mapping-05.txt   draft-ietf-pim-group-rp-mapping-06.txt 
PIM Working Group B. Joshi PIM Working Group B. Joshi
Internet-Draft Infosys Technologies Ltd. Internet-Draft Infosys Technologies Ltd.
Intended status: Standards Track A. Kessler Updates: 4601 (if approved) A. Kessler
Expires: January 22, 2011 Cisco Systems, Inc. Intended status: Standards Track Cisco Systems, Inc.
D. McWalter Expires: June 9, 2011 D. McWalter
July 21, 2010 December 6, 2010
PIM Group-to-RP Mapping PIM Group-to-RP Mapping
draft-ietf-pim-group-rp-mapping-05.txt draft-ietf-pim-group-rp-mapping-06.txt
Abstract Abstract
Each PIM-SM router in a PIM Domain which supports ASM maintains Each PIM-SM router in a Protocol Independent Multicast (PIM) Domain
Group-to-RP mappings which are used to identify a RP for a specific which supports Any Source Multicast (ASM) maintains Group-to-RP
multicast group. PIM-SM has defined an algorithm to choose a RP from mappings which are used to identify a Rendezvous Point(RP) for a
the Group-to-RP mappings learned using various mechanisms. This specific multicast group. PIM-SM has defined an algorithm to choose
algorithm does not consider the PIM mode and the mechanism through a RP from the Group-to-RP mappings learned using various mechanisms.
which a Group-to-RP mapping was learned. 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 This document defines a standard algorithm to deterministically
choose between several group-to-rp mappings for a specific group. choose between several group-to-rp mappings for a specific group.
This document first explains the requirements to extend the This document first explains the requirements to extend the
Group-to-RP mapping algorithm and then proposes the new algorithm. Group-to-RP mapping algorithm and then proposes the new algorithm.
Status of this Memo Status of this Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
skipping to change at page 1, line 42 skipping to change at page 1, line 43
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 22, 2011. This Internet-Draft will expire on June 9, 2011.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 4, line 7 skipping to change at page 4, line 7
because it includes an implementation-specific 'precedence' value. because it includes an implementation-specific 'precedence' value.
Embedded-RP as defined in section-7.1 of Embedded-RP address in IPv6 Embedded-RP as defined in section-7.1 of Embedded-RP address in IPv6
Multicast address [RFC3956], mentions that to avoid loops and Multicast address [RFC3956], mentions that to avoid loops and
inconsistencies, for addresses in the range FF70::/12, the inconsistencies, for addresses in the range FF70::/12, the
Embedded-RP mapping must be considered the longest possible match and Embedded-RP mapping must be considered the longest possible match and
higher priority than any other mechanism. higher priority than any other mechanism.
2. Terminology 2. Terminology
In this document, the key words "MUST", "MUST NOT", "REQUIRED", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
and "OPTIONAL" are to be interpreted as described in RFC 2119 document are to be interpreted as described in RFC 2119 [RFC2119].
[RFC2119]. This document also uses following terms: This document also uses following terms:
o PIM Mode o PIM Mode
PIM Mode is the mode of operation a particular multicast group is 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 used for. Wherever this term in used in this document, it refers to
either Sparse Mode or BIDIR Mode. either Sparse Mode or Bidirectional (BIDIR) Mode.
o Dynamic group-to-RP mapping mechanisms o Dynamic group-to-RP mapping mechanisms
The term Dynamic group-to-RP mapping mechanisms in this document The term Dynamic group-to-RP mapping mechanisms in this document
refers to BSR and Auto-RP. refers to Bootstrap Router (BSR) and Auto-RP.
o Dynamic mappings or Dynamically learned mappings o Dynamic mappings or Dynamically learned mappings
The terms Dynamic mappings or Dynamically learned mappings refer to The terms Dynamic mappings or Dynamically learned mappings refer to
group-to-RP mappings that have been learned by BSR or Auto-RP. group-to-RP mappings that have been learned by BSR or Auto-RP.
Group-to-RP mappings that have been learned by embedded RP are Group-to-RP mappings that have been learned by embedded RP are
referred to as Embedded Group-to-RP mappings. referred to as Embedded Group-to-RP mappings.
o Filtering o Filtering
skipping to change at page 5, line 7 skipping to change at page 5, line 7
The term multicast domain used in this document refers to a network The term multicast domain used in this document refers to a network
topology that has a consistent set of Group-to-RP Mappings. The topology that has a consistent set of Group-to-RP Mappings. The
interface between two or more multicast domains is a multicast domain interface between two or more multicast domains is a multicast domain
boundary. The multicast boundaries are usually enforced by filtering boundary. The multicast boundaries are usually enforced by filtering
the dynamic mapping messages and/or configuring different static RP the dynamic mapping messages and/or configuring different static RP
mappings. mappings.
3. Existing algorithm 3. Existing algorithm
Existing algorithm defined in PIM-SM (Section 4.7.1 in [RFC4601]) The existing algorithm defined in PIM-SM (Section 4.7.1 in [RFC4601])
does not consider following constraints: does not consider following constraints:
o It does not consider the origin of a Group-to-RP mapping and o It does not consider the origin of a Group-to-RP mapping and
therefore will treat all of them equally. therefore will treat all of them equally.
o It does not provide the flexibility to give higher priority to a o It does not provide the flexibility to give higher priority to a
specific PIM mode. For example, an entry learned for PIM-BIDIR specific PIM mode. For example, an entry learned for PIM-BIDIR
mode is treated with same priority as an entry learned for PIM-SM. mode is treated with same priority as an entry learned for PIM-SM.
The algorithm defined in this document updates algorithm defined in
PIM-SM ( Section 4.7.1 in [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.
4. Assumptions 4. Assumptions
We have made following assumptions in defining this algorithm: We have made following assumptions in defining this algorithm:
o Embedded Group-to-RP mappings are special and always have the
highest priority. They cannot be overridden either by static
configuration or by dynamic Group-to-RP mappings.
o Dynamic mappings will override a static RP config 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 can be learned from various mechanisms. We o A Group-to-RP mapping can be learned from various mechanisms. We
assume that following list is in the decreasing preferences of assume that following list is in the decreasing preferences of
these mechanism: these mechanism:
* Embedded Group-to-RP mappings * Embedded Group-to-RP mappings
* Dynamically learned mappings * Dynamically learned mappings
* Static configuration. * Static configuration.
* Other mapping method * Other mapping method
o Embedded Group-to-RP mappings are special and always have the
highest priority. They cannot be overridden either by static
configuration or by dynamic Group-to-RP mappings.
o Dynamic mappings will override a static RP config 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 o A Group-to-RP mapping learned for PIM-BIDIR mode is preferred to
an entry learned for PIM-SM mode. an entry learned for PIM-SM mode.
o Dynamic group-to-RP mapping mechanisms are filtered at domain o Dynamic group-to-RP mapping mechanisms are filtered at domain
boundaries or for policy enforcement inside a domain. boundaries or for policy enforcement inside a domain.
5. Common use cases 5. Common use cases
o Default static Group-to-RP mappings with dynamically learned o Default static Group-to-RP mappings with dynamically learned
entries entries
skipping to change at page 8, line 14 skipping to change at page 8, line 14
6. Proposed algorithm 6. Proposed algorithm
The following algorithm addresses the above mentioned shortcomings in The following algorithm addresses the above mentioned shortcomings in
the existing mechanism: the existing mechanism:
1. If the Multicast Group Address being looked up contains an 1. If the Multicast Group Address being looked up contains an
embedded RP, RP address extracted from the Group address is embedded RP, RP address extracted from the Group address is
selected as Group-to-RP mapping. selected as Group-to-RP mapping.
2. If the Multicast Group Address being looked up is in the SSM 2. If the Multicast Group Address being looked up is in the Source
range or is configured for Dense mode, no Group-to-RP mapping is Specific Multicast (SSM) range or is configured for Dense mode,
selected, and this algorithm terminates. Alternatively, a RP no Group-to-RP mapping is selected, and this algorithm
with address type 'unknown' can be selected. Please look at terminates. The fact that no Group-to-RP mapping has been
section #8 for more details on this. selected can be represented in the PIM-STD-MIB module 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 3. From the set of all Group-to-RP mapping entries, the subset
whose group prefix contains the multicast group that is being whose group prefix contains the multicast group that is being
looked up, are selected. looked up, is selected.
4. If there are no entries available, then the Group-to-RP mapping 4. If there are no entries available, then the Group-to-RP mapping
is undefined. is undefined and this algorithm terminates.
5. A longest prefix match is performed on the subset of Group-to-RP 5. A longest prefix match is performed on the subset of Group-to-RP
Mappings. Mappings.
* If there is only one entry available then that is selected as * If there is only one entry available then that is selected as
Group-to-RP mapping. Group-to-RP mapping.
* If there are multiple entries available, we continue with the * If there are multiple entries available, we continue with the
algorithm with this smaller set of Group-to-RP Mappings. algorithm with this smaller set of Group-to-RP Mappings.
skipping to change at page 8, line 52 skipping to change at page 9, line 5
* If there is only one entry available then that is selected as * If there is only one entry available then that is selected as
Group-to-RP mapping. Group-to-RP mapping.
* If there are multiple entries available, we continue with the * If there are multiple entries available, we continue with the
algorithm with this smaller set of Group-to-RP Mappings algorithm with this smaller set of Group-to-RP Mappings
7. From the remaining set of Group-to-RP Mappings we select the 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 subset of the entries based on the origin. Group-to-RP mappings
learned dynamically are preferred over static mappings. If the learned dynamically are preferred over static mappings. If the
remaining dynamic Group-to-RP mappings are from BSR and Auto-RP remaining dynamic Group-to-RP mappings are from BSR and Auto-RP
then the mappings from BSR SHOULD be preferred. then the mappings from BSR is preferred.
* If there is only one entry available then that is selected as * If there is only one entry available then that is selected as
Group-to-RP mapping. Group-to-RP mapping.
* If there are multiple entries available, we continue with the * If there are multiple entries available, we continue with the
algorithm with this smaller set of Group-to-RP Mappings. algorithm with this smaller set of Group-to-RP Mappings.
8. If the remaining Group-to-RP mappings were learned through BSR 8. If the remaining Group-to-RP mappings were learned through BSR
then the RP will be selected by comparing the RP Priority in the then the RP will be selected by comparing the RP Priority in the
Candidate-RP-Advertisement messages. The RP mapping with the Candidate-RP-Advertisement messages. The RP mapping with the
skipping to change at page 9, line 25 skipping to change at page 9, line 27
* If more than one RP has the same highest priority value we * If more than one RP has the same highest priority value we
continue with the algorithm with those Group-to-RP mappings. continue with the algorithm with those Group-to-RP mappings.
* If the remaining Group-to-RP mappings were NOT learned from * If the remaining Group-to-RP mappings were NOT learned from
BSR we continue the algorithm with the next step. BSR we continue the algorithm with the next step.
9. If the remaining Group-to-RP mappings were learned through BSR 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 and the PIM Mode of the Group is 'PIM-SM' then the hash function
will be used to choose the RP. The RP with the highest will be used to choose the RP. The RP with the highest
resulting hash value will be selected. resulting hash value will be selected. Please look at section
10 for consideration of hash for BIDIR-PIM and BSR.
* If more than one RP has the same highest hash value we * If more than one RP has the same highest hash value we
continue with the algorithm with those Group-to-RP mappings. continue with the algorithm with those Group-to-RP mappings.
* If the remaining Group-to-RP mappings were NOT learned from * If the remaining Group-to-RP mappings were NOT learned from
BSR we continue the algorithm with the next step. BSR we continue the algorithm with the next step.
10. From the remaining set of Group-to-RP Mappings we will select 10. 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 the RP with the highest IP address. This will serve as a final
tiebreaker. tiebreaker.
7. Deprecation of MIB Objects 7. Deprecation of MIB Objects
Group-to-RP mapping algorithm defined in PIM-STD-MIB [RFC5060] does Group-to-RP mapping algorithm defined in PIM-STD-MIB [RFC5060] does
not specify the usage of 'pimGroupMappingPrecedence' and not specify the usage of 'pimGroupMappingPrecedence' and
'pimStaticRPPrecedence' objects in 'pimGroupMappingTable' table 'pimStaticRPPrecedence' objects in 'pimGroupMappingTable' table
clearly. With the newly proposed algorithm in this document, these clearly. With the newly proposed algorithm in this document, these
MIB objects would not be required. So we propose to deprecate 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 MIB objects from PIM-STD-MIB. Also the algorithm defined in this
this document MUST be preferred over Group-to-RP mapping algorithm document MUST be preferred over Group-to-RP mapping algorithm defined
defined in either PIM-SM[RFC4601] or in PIM-STD-MIB[RFC5060]. in either PIM-SM[RFC4601] or in PIM-STD-MIB[RFC5060].
8. Clarification for MIB Objects 8. Clarification for MIB Objects
When an Group-to-RP mapping entry is created in the When a Group-to-RP mapping entry is created in the
pimGroupMappingTable in the PIM-STD MIB[RFC5060], it would be pimGroupMappingTable in the PIM-STD MIB[RFC5060], it would be
acceptable to have an entry with an RP with address type 'unknown' acceptable to have an entry with an RP with address type 'unknown'
and a PimMode of Dense Mode or SSM. These entries would represent and a PimMode of Dense Mode or SSM. These entries would represent
group ranges for Dense mode or SSM. group ranges for Dense mode or SSM.
Also all the entries which are already included in the SSM Range Also all the entries which are already included in the SSM Range
table in the IP Mcast MIB would be copied over to table in the IP Mcast MIB would be copied over to
pimGroupMappingTable. They would have a type of configSSM and an RP pimGroupMappingTable. They would have a type of configSSM and an RP
with address type 'unknown' as described above. with address type 'unknown' as described above.
The advantage of keeping all the ranges in the table would be that The advantage of keeping all the ranges in the table would be that
this table will contain all the known multicast group ranges. this table will contain all the known multicast group ranges.
9. Use of dynamic group-to-rp mapping protocols 9. Use of dynamic group-to-rp mapping protocols
In practice, it is not usually necessary to run several dynamic It is not usually necessary to run several dynamic Group-to-RP
Group-to-RP mapping mechanisms in one administrative domain. mapping mechanisms in one administrative domain. Specifically,
Specifically, interoperation of BSR and Auto-RP is OPTIONAL and not interoperation of BSR and Auto-RP is OPTIONAL.
recommended by this document.
However, if a router does receive two overlapping sets of Group-to-RP 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 mappings, for example from Auto-RP and BSR, then some algorithm is
needed to deterministically resolve the situation. The algorithm in needed to deterministically resolve the situation. The algorithm in
this document MUST be used. This can be important at domain border this document MUST be used. This can be important at domain border
routers, and is likely to improve stability under misconfiguration routers, and is likely to improve stability under misconfiguration
and when configuration is changing. and when configuration is changing.
An implementation of PIM that supports only one mechanism for An implementation of PIM that supports only one mechanism for
learning Group-to-RP mappings SHOULD also use this algorithm. The learning Group-to-RP mappings MUST also use this algorithm. The
algorithm has been chosen so that existing standard implementations algorithm has been chosen so that existing standard implementations
are already compliant. are already compliant.
10. Consideration for Bidirectional-PIM and BSR hash 10. Consideration for Bidirectional-PIM and BSR hash
Bidir-PIM [RFC5015] is designed to avoid any data driven events. 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 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 mapping is determined based on a group mask when the mapping is
received through a dynamic mapping protocol or statically configured. received through a dynamic mapping protocol or statically configured.
Therefore the hash in BSR is ignored for PIM-Bidir RP mappings based Therefore the hash in BSR is ignored for PIM-Bidir RP mappings based
on the algorithm defined in this document. It is RECOMMENDED that on the algorithm defined in this document. It is RECOMMENDED that
network operators configure only one PIM-Bidir RP for each RP network operators configure only one PIM-Bidir RP for each RP
Priority. Priority.
11. Filtering Group-to-RP mappings at domain boundaries 11. Filtering Group-to-RP mappings at domain boundaries
skipping to change at page 15, line 7 skipping to change at page 15, line 7
An implementation of PIM SHOULD support configuration to block An implementation of PIM SHOULD support configuration to block
specific dynamic mechanism for a valid group prefix range. For specific dynamic mechanism for a valid group prefix range. For
example, it should be possible to allow an administratively scoped example, it should be possible to allow an administratively scoped
address range, such as 239/8 range, for Auto-RP protocol but block address range, such as 239/8 range, for Auto-RP protocol but block
the BSR advertisement for the same range. Similarly it should be the BSR advertisement for the same range. Similarly it should be
possible to filter out all Group-to-RP mappings learned from BSR or possible to filter out all Group-to-RP mappings learned from BSR or
Auto-RP protocol. Auto-RP protocol.
12. Security Consideration 12. Security Consideration
This document does not suggest any protocol specific functionality so This document enhances an existing algorithm to deterministically
there is no security related consideration. choose between several group-to-rp mappings for a specific group.
The updated algorithm will not completely prevent the possibility of
different routers selecting different group-to-rp mappings for the
same group. Such situations can be avoided if various mechanisms
used to learn group-to-rp mappings are secure and consistent across
the network.
13. IANA Consideration 13. IANA Consideration
This draft does not create any namespace for IANA to manage. This draft does not create any namespace for IANA to manage.
14. Acknowledgements 14. Acknowledgements
This draft is created based on the discussion occurred during the This draft is created based on the discussion occurred during the
PIM-STD-MIB [RFC5060] work. Many thanks to Stig Vennas, Yiqun Cai PIM-STD-MIB [RFC5060] work. Many thanks to Stig Vennas, Yiqun Cai
and Toerless Eckert for providing useful comments. and Toerless Eckert for providing useful comments.
 End of changes. 22 change blocks. 
50 lines changed or deleted 63 lines changed or added

This html diff was produced by rfcdiff 1.40. The latest version is available from http://tools.ietf.org/tools/rfcdiff/