rfc9272.original   rfc9272.txt 
BIER Z. Zhang Internet Engineering Task Force (IETF) Z. Zhang
Internet-Draft A. Przygienda Request for Comments: 9272 A. Przygienda
Updates: 8401, 8444 (if approved) Juniper Networks Updates: 8401, 8444 Juniper Networks
Intended status: Standards Track A. Dolganow Category: Standards Track A. Dolganow
Expires: 13 November 2022 Individual ISSN: 2070-1721 Individual
H. Bidgoli H. Bidgoli
Nokia Nokia
I. Wijnands IJ. Wijnands
Individual Individual
A. Gulko A. Gulko
Edward Jones Wealth Management Edward Jones Wealth Management
12 May 2022 September 2022
BIER Underlay Path Calculation Algorithm and Constraints Underlay Path Calculation Algorithm and Constraints for Bit Index
draft-ietf-bier-bar-ipa-13 Explicit Replication (BIER)
Abstract Abstract
This document specifies general rules for the interaction between the This document specifies general rules for the interaction between the
BIER Algorithm (BAR) and the IGP Algorithm (IPA) used for underlay BIER Algorithm (BAR) and the IGP Algorithm (IPA) used for underlay
path calculation. The semantics defined in this document update path calculation within the Bit Index Explicit Replication (BIER)
RFC8401 and RFC8444. This document also updates the BIER Algorithm architecture. The semantics defined in this document update RFC 8401
registry established in RFC8401. and RFC 8444. This document also updates the "BIER Algorithm"
registry established in RFC 8401.
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering This document is a product of the Internet Engineering Task Force
Task Force (IETF). Note that other groups may also distribute (IETF). It represents the consensus of the IETF community. It has
working documents as Internet-Drafts. The list of current Internet- received public review and has been approved for publication by the
Drafts is at https://datatracker.ietf.org/drafts/current/. Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
Internet-Drafts are draft documents valid for a maximum of six months Information about the current status of this document, any errata,
and may be updated, replaced, or obsoleted by other documents at any and how to provide feedback on it may be obtained at
time. It is inappropriate to use Internet-Drafts as reference https://www.rfc-editor.org/info/rfc9272.
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 13 November 2022.
Copyright Notice Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the Copyright (c) 2022 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 (https://trustee.ietf.org/ Provisions Relating to IETF Documents
license-info) in effect on the date of publication of this document. (https://trustee.ietf.org/license-info) in effect on the date of
Please review these documents carefully, as they describe your rights publication of this document. Please review these documents
and restrictions with respect to this document. Code Components carefully, as they describe your rights and restrictions with respect
extracted from this document must include Revised BSD License text as to this document. Code Components extracted from this document must
described in Section 4.e of the Trust Legal Provisions and are include Revised BSD License text as described in Section 4.e of the
provided without warranty as described in the Revised BSD License. Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction
2. Updated Definition for BAR and IPA Fields . . . . . . . . . . 3 1.1. Requirements Language
3. General Rules for the BAR and IPA Interaction . . . . . . . . 3 2. Updated Definitions for IPA and BAR Fields
3.1. When BAR Is Not Used . . . . . . . . . . . . . . . . . . 4 3. General Rules for the BAR and IPA Interaction
3.2. Exceptions/Extensions to the General Rules . . . . . . . 4 3.1. When BAR Is Not Used
4. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.2. Exceptions or Extensions to the General Rules
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 4. Examples
6. Security Considerations . . . . . . . . . . . . . . . . . . . 5 5. IANA Considerations
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5 6. Security Considerations
8. Normative References . . . . . . . . . . . . . . . . . . . . 5 7. Normative References
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 Acknowledgements
Authors' Addresses
1. Introduction 1. Introduction
In the Bit Index Explicit Replication (BIER) architecture [RFC8279], In the Bit Index Explicit Replication (BIER) architecture [RFC8279],
packets with a BIER encapsulation header are forwarded to the packets with a BIER encapsulation header are forwarded to the
neighbors on the underlay paths towards Bit-Forwarding Egress Routers neighbors on the underlay paths towards Bit-Forwarding Egress Routers
(BFERs) that are represented by bits set in the BIER header's (BFERs) that are represented by bits set in the BIER header's
BitString. The paths are calculated in the underlay topology for BitString. The paths are calculated in the underlay topology for
each sub-domain following a calculation algorithm specific to the each sub-domain following a calculation algorithm specific to the
sub-domain. The topology or algorithm may or may not be congruent sub-domain. The topology or algorithm may or may not be congruent
with unicast. The algorithm could be a BIER specific algorithm or with unicast. The algorithm could be a BIER-specific algorithm or
could be a generic IGP one, e.g., Shortest Path First (SPF). could be a generic IGP one, e.g., Shortest Path First (SPF).
In [RFC8401] and [RFC8444], an 8-bit BAR (BIER Algorithm) field and In [RFC8401] and [RFC8444], an 8-bit BAR (BIER Algorithm) field and
8-bit IPA (IGP Algorithm) field are defined to signal the BIER 8-bit IPA (IGP Algorithm) field are defined to signal the BIER-
specific algorithm and generic IGP Algorithm respectively and only specific algorithm and generic IGP Algorithm, respectively, and only
value 0 is allowed for both fields in those two documents. value 0 is allowed for both fields in those two documents.
This document specifies general rules for the interaction between the This document specifies general rules for the interaction between the
BIER Algorithm (BAR) and the IGP Algorithm (IPA) used for underlay BIER Algorithm (BAR) and the IGP Algorithm (IPA) used for underlay
path calculation when other BAR and/or IPA values are used. The path calculation when other BAR and/or IPA values are used. The
semantics defined in this document update [RFC8401], [RFC8444]. This semantics defined in this document update [RFC8401] and [RFC8444].
document also updates the BIER Algorithm registry defined in This document also updates the "BIER Algorithm" registry defined in
[RFC8401] by renaming the "Experimental Use" range to "Private or [RFC8401] by renaming the "Experimental Use" range to "Private or
Experimental Use". Experimental Use".
2. Updated Definition for BAR and IPA Fields 1.1. Requirements Language
The definition for the BAR and IPA fields in Section 6.1 of [RFC8401] The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
and Section 2.1 of [RFC8444] are updated as follows. "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
IPA: IGP Algorithm. Specifies a generic Routing Algorithm (RA) and 2. Updated Definitions for IPA and BAR Fields
related Routing Constraints (RC) to calculate underlay paths to reach
other Bit-Forwarding Routers (BFRs). Values are from the "IGP
Algorithm Types" registry. One Octet.
BAR: BIER Algorithm. Specifies a BIER-specific Algorithm (BA) and The definitions for the IPA and BAR fields in Section 6.1 of
BIER-specific Constraints (BC) used to either modify, enhance, or [RFC8401] and Section 2.1 of [RFC8444] are updated as follows.
replace the calculation of underlay paths to reach other BFRs as
defined by the IPA value. Values are allocated from the "BIER
Algorithm" registry. One Octet.
When a BAR value is defined, the corresponding BA and BC semantics IPA: IGP Algorithm. Specifies a generic Routing Algorithm and
SHOULD be specified. For an IGP Algorithm to be used as a BIER IPA, related Routing Constraints to calculate underlay paths to reach
its RA and RC semantics SHOULD be specified. If any of these other Bit-Forwarding Routers (BFRs). Values are from the "IGP
semantics is not specified, it MUST be interpreted as "NULL" Algorithm Types" registry. One octet.
algorithm or constraint. For example, the IGP Algorithm 0 defined in
[RFC8665] is treated as having a NULL RC, i.e., no constraints (see
Section 3).
If a specification is not available for a specific BAR value, its BAR: BIER Algorithm. Specifies a BIER-specific Algorithm and BIER-
value MUST be from the Private or Experimental Use range of the specific Constraints used to either modify, enhance, or replace
registry. the calculation of underlay paths to reach other BFRs as defined
by the IPA value. Values are allocated from the "BIER Algorithm"
registry. One octet.
When a BAR value is defined, the corresponding BIER-specific
Algorithm (BA) and BIER-specific Constraint (BC) semantics SHOULD
be specified. For an IGP Algorithm to be used as a BIER IPA, its
Routing Algorithm (RA) and Routing Constraint (RC) semantics
SHOULD be specified. If any of these semantics is not specified,
it MUST be interpreted as the "NULL" algorithm or constraint. For
example, the IGP Algorithm 0 defined in [RFC8665] is treated as
having a NULL RC, i.e., no constraints (see Section 3).
If a specification is not available for a specific BAR value, its
value MUST be from the Private or Experimental Use range of the
registry.
3. General Rules for the BAR and IPA Interaction 3. General Rules for the BAR and IPA Interaction
For a particular sub-domain, all BFRs MUST be provisioned with and For a particular sub-domain, all BFRs MUST be provisioned with and
signal the same BAR and IPA values. If a BFR discovers another BFR signal the same BAR and IPA values. If a BFR discovers another BFR
advertising different BAR or IPA value for a sub-domain, it MUST advertising a different BAR or IPA value for a sub-domain, it MUST
treat the advertising router as incapable of supporting BIER for that treat the advertising router as incapable of supporting BIER for that
sub-domain (one way of handling incapable routers is documented in sub-domain. (One way of handling incapable routers is documented in
Section 6.9 of [RFC8279] and additional methods may be defined in the Section 6.9 of [RFC8279], and additional methods may be defined in
future). the future.)
For a particular topology X that a sub-domain is associated with, a For a particular topology X that a sub-domain is associated with, a
router MUST calculate the underlay paths according to its BAR and IPA router MUST calculate the underlay paths according to its BAR and IPA
values in the following way: values in the following way:
1. Apply the BIER constraints, resulting in BC(X). If BC is NULL, 1. Apply the BIER constraints, resulting in BC(X). If BC is NULL,
then BC(X) is X itself. then BC(X) is X itself.
2. Apply the routing constraints, resulting in RC(BC(X)). If RC is 2. Apply the routing constraints, resulting in RC(BC(X)). If RC is
NULL, then RC(BC(X)) is BC(X). NULL, then RC(BC(X)) is BC(X).
3. Select the algorithm AG as following: 3. Select the algorithm AG as follows:
a. If BA is NULL, AG is set to RA. a. If BA is NULL, AG is set to RA.
b. If BA is not NULL, AG is set to BA. b. If BA is not NULL, AG is set to BA.
4. Run AG on RC(BC(X)). 4. Run AG on RC(BC(X)).
It's possible that the resulting AG is not applicable to BIER, In It's possible that the resulting AG is not applicable to BIER. In
that case, no BIER paths will be calculated and it is a network that case, no BIER paths will be calculated, and this is a network
design issue that an operator needs to avoid when choosing BAR/IPA. design issue that an operator needs to avoid when choosing the BAR or
IPA.
3.1. When BAR Is Not Used 3.1. When BAR Is Not Used
BAR value 0 is defined as "No BIER-specific algorithm is used" BAR value 0 is defined as "No BIER-specific algorithm is used"
[RFC8401]. This value indicates NULL BA and BC. Following the rules [RFC8401]. This value indicates NULL BA and BC. Following the rules
defined above, the IPA value alone identifies the calculation defined above, the IPA value alone identifies the calculation
algorithm and constraints to be used for a particular sub-domain. algorithm and constraints to be used for a particular sub-domain.
3.2. Exceptions/Extensions to the General Rules 3.2. Exceptions or Extensions to the General Rules
Exceptions or extensions to the above general rules may be specified Exceptions or extensions to the above general rules may be specified
in the future for specific BAR and/or IPA values. When that happens, in the future for specific BAR and/or IPA values. When that happens,
compatibility with defined BAR and/or IPA values and semantics need compatibility with defined BAR and/or IPA values and semantics need
to be specified. to be specified.
4. Examples 4. Examples
As an example, one may define a new BAR with a BIER specific As an example, one may define a new BAR with a BIER-specific
constraint of "excluding BIER incapable routers". No BIER specific constraint of "excluding BIER-incapable routers". No BIER-specific
algorithm is specified, and the BIER specific constraint can go with algorithm is specified, and the BIER-specific constraint can go with
any IPA - whatever RC defined by the IPA is augmented with "excluding any IPA, i.e., any RC defined by the IPA is augmented with "excluding
BIER incapable routers", i.e., routers that do not support BIER are BIER-incapable routers". (Routers that do not support BIER are not
not considered when applying the IGP Algorithm. considered when applying the IGP Algorithm.)
If the BC and RC happen to conflict and lead to an empty topology, If the BC and RC happen to conflict and lead to an empty topology,
then no BIER forwarding path will be found. For example, the BC then no BIER forwarding path will be found. For example, the BC
could be "exclude BIER-incapable routers" and the RC could be could be "exclude BIER-incapable routers", and the RC could be
"include green links only". If all the green links are associated "include green links only". If all the green links are associated
with BIER-incapable routers, it results in an empty topology. That with BIER-incapable routers, it results in an empty topology. This
is a network design issue that an operator needs to avoid when is a network design issue that an operator needs to avoid when
choosing BAR/IPA. choosing the BAR or IPA.
In another example, a BAR value can be specified to use Steiner Tree In another example, a BAR value can be specified to use the Steiner
algorithm and used together with IPA 0 (which uses SPF algorithm). tree algorithm and used together with IPA 0 (which uses an SPF
According to the general rules, the BIER specific algorithm takes algorithm). According to the general rules, the BIER-specific
precedence so SPF is not used. algorithm takes precedence so SPF is not used.
5. IANA Considerations 5. IANA Considerations
This document requests the following changes to the "BIER Algorithm" The "BIER Algorithm" registry has been updated as follows:
registry:
1. Rename the "Experimental Use" range to "Private or Experimental 1. The "Experimental Use" range has been renamed "Private or
Use" Experimental Use".
2. Add this document as a reference 2. This document has been added as a reference both for the registry
itself and for values 240-254 in the registry.
6. Security Considerations 6. Security Considerations
This document specifies general rules for the interaction between the This document specifies general rules for the interaction between the
BIER Algorithm (BAR) and the IGP Algorithm (IPA) used for underlay BIER Algorithm (BAR) and the IGP Algorithm (IPA) used for underlay
path calculation. It does not change the security aspects as path calculation. It does not change the security aspects as
discussed in [RFC8279], [RFC8401], [RFC8444]. discussed in [RFC8279], [RFC8401], and [RFC8444].
7. Acknowledgements
The authors thank Alia Atlas, Eric Rosen, Senthil Dhanaraj and many
others for their suggestions and comments. In particular, the
BC/BA/RC/RA representation for the interaction rules is based on
Alia's write-up.
8. Normative References 7. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
skipping to change at page 6, line 28 skipping to change at line 253
Extensions for Bit Index Explicit Replication (BIER)", Extensions for Bit Index Explicit Replication (BIER)",
RFC 8444, DOI 10.17487/RFC8444, November 2018, RFC 8444, DOI 10.17487/RFC8444, November 2018,
<https://www.rfc-editor.org/info/rfc8444>. <https://www.rfc-editor.org/info/rfc8444>.
[RFC8665] Psenak, P., Ed., Previdi, S., Ed., Filsfils, C., Gredler, [RFC8665] Psenak, P., Ed., Previdi, S., Ed., Filsfils, C., Gredler,
H., Shakir, R., Henderickx, W., and J. Tantsura, "OSPF H., Shakir, R., Henderickx, W., and J. Tantsura, "OSPF
Extensions for Segment Routing", RFC 8665, Extensions for Segment Routing", RFC 8665,
DOI 10.17487/RFC8665, December 2019, DOI 10.17487/RFC8665, December 2019,
<https://www.rfc-editor.org/info/rfc8665>. <https://www.rfc-editor.org/info/rfc8665>.
Acknowledgements
The authors thank Alia Atlas, Eric Rosen, Senthil Dhanaraj and many
others for their suggestions and comments. In particular, the
BC/BA/RC/RA representation for the interaction rules is based on
Alia's write-up.
Authors' Addresses Authors' Addresses
Zhaohui Zhang Zhaohui Zhang
Juniper Networks Juniper Networks
Email: zzhang@juniper.net Email: zzhang@juniper.net
Antoni Przygienda Antoni Przygienda
Juniper Networks Juniper Networks
Email: prz@juniper.net Email: prz@juniper.net
 End of changes. 35 change blocks. 
112 lines changed or deleted 115 lines changed or added

This html diff was produced by rfcdiff 1.48.