Underlay Path Calculation Algorithm and Constraints for Bit Index Explicit Replication (BIER)Juniper Networkszzhang@juniper.netJuniper Networksprz@juniper.netIndividualadolgano@gmail.comNokiahooman.bidgoli@nokia.comIndividualice@braindump.beEdward Jones Wealth Managementarkadiy.gulko@edwardjones.com
rtg
bier
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.
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 7841.
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
.
Copyright Notice
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
() 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.
Table of Contents
. Introduction
. Requirements Language
. Updated Definitions for IPA and BAR Fields
. General Rules for the BAR and IPA Interaction
. When BAR Is Not Used
. Exceptions or Extensions to the General Rules
. Examples
. IANA Considerations
. Security Considerations
. Normative References
Acknowledgements
Authors' Addresses
IntroductionIn the Bit Index Explicit Replication (BIER) architecture , 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 and , 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
and . This document also updates the "BIER Algorithm" registry defined
in by renaming the "Experimental
Use" range to "Private or Experimental Use".
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 when, and only when, they appear in all capitals, as
shown here.
Updated Definitions for IPA and BAR FieldsThe definitions for the IPA and BAR fields in and are updated as follows.
IPA:
IGP Algorithm. Specifies a generic Routing Algorithm and
related Routing Constraints 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 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 is treated as having a NULL RC, i.e., no
constraints (see ).
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.
General Rules for the BAR and IPA InteractionFor 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
, 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:
Apply the BIER constraints, resulting in BC(X). If BC is NULL, then BC(X) is X itself.
Apply the routing constraints, resulting in RC(BC(X)). If RC is NULL, then RC(BC(X)) is BC(X).
Select the algorithm AG as follows:
If BA is NULL, AG is set to RA.
If BA is not NULL, AG is set to BA.
Run AG on RC(BC(X)).
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.
When BAR Is Not UsedBAR value 0 is defined as "No BIER-specific algorithm is used"
. 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 General RulesExceptions 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.
ExamplesAs 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.
IANA ConsiderationsThe "BIER Algorithm" registry has been updated as follows:
The "Experimental Use" range has been renamed "Private or Experimental Use".
This document has been added as a reference both for the registry itself and for values 240-254 in the registry.
Security ConsiderationsThis 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
, , and .
Normative ReferencesKey words for use in RFCs to Indicate Requirement LevelsIn many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.Ambiguity of Uppercase vs Lowercase in RFC 2119 Key WordsRFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.Multicast Using Bit Index Explicit Replication (BIER)This document specifies a new architecture for the forwarding of multicast data packets. It provides optimal forwarding of multicast packets through a "multicast domain". However, it does not require a protocol for explicitly building multicast distribution trees, nor does it require intermediate nodes to maintain any per-flow state. This architecture is known as "Bit Index Explicit Replication" (BIER). When a multicast data packet enters the domain, the ingress router determines the set of egress routers to which the packet needs to be sent. The ingress router then encapsulates the packet in a BIER header. The BIER header contains a bit string in which each bit represents exactly one egress router in the domain; to forward the packet to a given set of egress routers, the bits corresponding to those routers are set in the BIER header. The procedures for forwarding a packet based on its BIER header are specified in this document. Elimination of the per-flow state and the explicit tree-building protocols results in a considerable simplification.Bit Index Explicit Replication (BIER) Support via IS-ISThis document defines IS-IS extensions to support multicast forwarding using the Bit Index Explicit Replication (BIER) architecture.OSPFv2 Extensions for Bit Index Explicit Replication (BIER)Bit Index Explicit Replication (BIER) is an architecture that provides optimal multicast forwarding through a "BIER domain" without requiring intermediate routers to maintain multicast-related, per- flow state. BIER also does not require an explicit tree-building protocol for its operation. A multicast data packet enters a BIER domain at a Bit-Forwarding Ingress Router (BFIR) and leaves the BIER domain at one or more Bit-Forwarding Egress Routers (BFERs). The BFIR adds a BIER packet header to the packet. The BIER packet header contains a BitString in which each bit represents exactly one BFER to forward the packet to. The set of BFERs to which the multicast packet needs to be forwarded is expressed by the set of bits in the BIER packet header.This document describes the OSPF protocol extension (from RFC 2328) that is required for BIER with MPLS encapsulation (which is defined in RFC 8296). Support for other encapsulation types and the use of multiple encapsulation types are outside the scope of this document.OSPF Extensions for Segment RoutingSegment Routing (SR) allows a flexible definition of end-to-end paths within IGP topologies by encoding paths as sequences of topological subpaths called "segments". These segments are advertised by the link-state routing protocols (IS-IS and OSPF).This document describes the OSPFv2 extensions required for Segment Routing.AcknowledgementsThe authors thank , ,
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' AddressesJuniper Networkszzhang@juniper.netJuniper Networksprz@juniper.netIndividualadolgano@gmail.comNokiahooman.bidgoli@nokia.comIndividualice@braindump.beEdward Jones Wealth Managementarkadiy.gulko@edwardjones.com