RFC 9272 | BAR and IPA Interaction | September 2022 |
Zhang, et al. | Standards Track | [Page] |
This document specifies general rules for the interaction between the BIER Algorithm (BAR) and the IGP Algorithm (IPA) used for underlay path calculation within the Bit Index Explicit Replication (BIER) architecture. The semantics defined in this document update RFC 8401 and RFC 8444. This document also updates the "BIER Algorithm" registry established in RFC 8401.¶
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 7841.¶
Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc9272.¶
Copyright (c) 2022 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 (https://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 Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
In the Bit Index Explicit Replication (BIER) architecture [RFC8279], packets with a BIER encapsulation header are forwarded to the neighbors on the underlay paths towards Bit-Forwarding Egress Routers (BFERs) that are represented by bits set in the BIER header's BitString. The paths are calculated in the underlay topology for each sub-domain following a calculation algorithm specific to the sub-domain. The topology or algorithm may or may not be congruent with unicast. The algorithm could be a BIER-specific algorithm or could be a generic IGP one, e.g., Shortest Path First (SPF).¶
In [RFC8401] and [RFC8444], an 8-bit BAR (BIER Algorithm) field and 8-bit IPA (IGP Algorithm) field are defined to signal the BIER-specific algorithm and generic IGP Algorithm, respectively, and only value 0 is allowed for both fields in those two documents.¶
This document specifies general rules for the interaction between the BIER Algorithm (BAR) and the IGP Algorithm (IPA) used for underlay path calculation when other BAR and/or IPA values are used. The semantics defined in this document update [RFC8401] and [RFC8444]. This document also updates the "BIER Algorithm" registry defined in [RFC8401] by renaming the "Experimental Use" range to "Private or Experimental Use".¶
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.¶
The definitions for the IPA and BAR fields in Section 6.1 of [RFC8401] and Section 2.1 of [RFC8444] are updated as follows.¶
BIER Algorithm. Specifies a BIER-specific Algorithm and BIER-specific Constraints used to either modify, enhance, or 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 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.¶
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 advertising a different BAR or IPA value for a sub-domain, it MUST treat the advertising router as incapable of supporting BIER for that sub-domain. (One way of handling incapable routers is documented in Section 6.9 of [RFC8279], and additional methods may be defined in the future.)¶
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 values in the following way:¶
Select the algorithm AG as follows:¶
It's possible that the resulting AG is not applicable to BIER. In that case, no BIER paths will be calculated, and this is a network design issue that an operator needs to avoid when choosing the BAR or IPA.¶
BAR value 0 is defined as "No BIER-specific algorithm is used" [RFC8401]. This value indicates NULL BA and BC. Following the rules defined above, the IPA value alone identifies the calculation algorithm and constraints to be used for a particular sub-domain.¶
Exceptions or extensions to the above general rules may be specified in the future for specific BAR and/or IPA values. When that happens, compatibility with defined BAR and/or IPA values and semantics need to be specified.¶
As an example, one may define a new BAR with a BIER-specific constraint of "excluding BIER-incapable routers". No BIER-specific algorithm is specified, and the BIER-specific constraint can go with any IPA, i.e., any RC defined by the IPA is augmented with "excluding BIER-incapable routers". (Routers that do not support BIER are not considered when applying the IGP Algorithm.)¶
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 could be "exclude BIER-incapable routers", and the RC could be "include green links only". If all the green links are associated with BIER-incapable routers, it results in an empty topology. This is a network design issue that an operator needs to avoid when choosing the BAR or IPA.¶
In another example, a BAR value can be specified to use the Steiner tree algorithm and used together with IPA 0 (which uses an SPF algorithm). According to the general rules, the BIER-specific algorithm takes precedence so SPF is not used.¶
The "BIER Algorithm" registry has been updated as follows:¶
This document specifies general rules for the interaction between the BIER Algorithm (BAR) and the IGP Algorithm (IPA) used for underlay path calculation. It does not change the security aspects as discussed in [RFC8279], [RFC8401], and [RFC8444].¶
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.¶