RFC 8444
OSPFv2 Extensions for Bit Index Explicit Replication (BIER)
RFC 8444 β¨ OSPFv2 Extensions for Bit Index Explicit Replication (BIER)
Okay bestie, here's the deal π. This is RFC 8444, a Standards Track doc from the IETF, so it's real spec and not just vibes. It's dated November 2018, and the ISSN is 2070-1721. P. Psenak is the editor (Ed.), and the rest of the crew is N. Kumar and IJ. Wijnands (Cisco), A. Dolganow (Nokia), T. Przygienda and J. Zhang (Juniper Networks, Inc.), and S. Aldrin (Google, Inc.). The header doesn't list anything it obsoletes or updates, so it's standing on its own π .
Abstract πΈ
Okay so BIER (Bit Index Explicit Replication) is an architecture that gives you optimal multicast forwarding through a "BIER domain," and the intermediate routers don't have to keep any multicast-related, per-flow state. BIER doesn't need an explicit tree-building protocol either, which is iconic π¦. A multicast data packet enters the BIER domain at a Bit-Forwarding Ingress Router (BFIR) and leaves at one or more Bit-Forwarding Egress Routers (BFERs). The BFIR adds a BIER packet header, and that header holds a BitString where each bit stands for exactly one BFER the packet should go to. The set of bits is basically the guest list for the packet π§.
This document covers the OSPF protocol extension (from RFC 2328) that BIER needs when it uses MPLS encapsulation, which is defined in RFC 8296. Other encapsulation types, and using more than one encapsulation type, are out of scope here.
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). For more on Internet Standards, check Section 2 of RFC 7841.
For the current status of this document, any errata, and how to send feedback, go to https://www.rfc-editor.org/info/rfc8444.
Copyright Notice π
Copyright (c) 2018 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 read these documents carefully, because 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 they are provided without warranty as described in the Simplified BSD License.
Table of Contents ποΈ
1. Introduction ....................................................3
2. Flooding of the BIER Information in OSPF ........................4
2.1. BIER Sub-TLV ...............................................4
2.2. BIER MPLS Encapsulation Sub-TLV ............................5
2.3. Flooding Scope of BIER Information .........................7
3. Security Considerations .........................................8
4. IANA Considerations .............................................9
5. References ......................................................9
5.1. Normative References .......................................9
5.2. Informative References ....................................10
Acknowledgments ...................................................11
Authors' Addresses ................................................11
1. Introduction π¦
Okay so BIER is an architecture that gives you optimal multicast forwarding through a "BIER domain," and it doesn't make intermediate routers keep any multicast-related, per-flow state. Not even a little π. It also doesn't explicitly need a tree-building protocol to run. Same flow as the abstract: a multicast data packet enters at a Bit-Forwarding Ingress Router (BFIR), leaves at one or more Bit-Forwarding Egress Routers (BFERs), and the BFIR router tacks a BIER packet header onto the packet. That header has a BitString, and each bit represents exactly one BFER the packet gets forwarded to. The set of bits in the header is the set of BFERs the multicast packet needs to reach.
BIER expects the routers taking part in it to swap BIER-related information within a given domain, and it lets link-state routing protocols handle distributing that info. This document describes the OSPF extensions needed to advertise BIER-specific information when BIER uses MPLS encapsulation, as described in [RFC8296].
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. So lowercase "must" is just a regular word, not a rule π .
2. Flooding of the BIER Information in OSPF π‘
All BIER-specific information that a Bit-Forwarding Router (BFR) needs to advertise to other BFRs is tied to a BFR-prefix. A BFR-prefix is a unique (within a given BIER domain) routable IP address assigned to each BFR, and Section 2 of [RFC8279] has all the details.
Since BIER information has to be associated with a BFR-prefix, the OSPFv2 Extended Prefix Opaque LSA [RFC7684] was chosen as the way to advertise it π.
2.1. BIER Sub-TLV π
A sub-TLV of the OSPFv2 Extended Prefix TLV (defined in [RFC7684]) is defined for distributing BIER information. It's called the BIER Sub-TLV. You can include multiple BIER Sub-TLVs in the OSPFv2 Extended Prefix TLV, so it's giving buffet energy π.
The BIER Sub-TLV looks like this:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sub-domain-id | MT-ID | BFR-id |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BAR | IPA | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sub-TLVs (variable) |
+- -+
| |
Here's what each field means:
- Type:
9 - Length: Variable, depending on the sub-TLVs.
sub-domain-id: A unique value that identifies the BIER sub-domain within the BIER domain, as described in Section 1 of [RFC8279].MT-ID: The Multi-Topology ID (as defined in [RFC4915]) that identifies the topology associated with the BIER sub-domain.BFR-id: A 2-octet field that encodes the BFR-id, as documented in Section 2 of [RFC8279]. If the BFR isn't locally configured with a valid BFR-id, this field is set to0, which [RFC8279] defines as illegal. Oof π.BAR: A single-octet BIER Algorithm used to calculate underlay paths to reach other BFRs. Values are allocated from the "BIER Algorithm" registry defined in [RFC8401].IPA: A single-octet IGP Algorithm used to modify, enhance, or replace the calculation of underlay paths to reach other BFRs, as defined by theBARvalue. Values are defined in the "IGP Algorithm Types" registry [IANA-IGP].
Now the rules, and these ones are serious bestie π«Ά:
Each BFR sub-domain MUST be associated with one and only one OSPF topology, identified by the MT-ID. If the association between the BIER sub-domain and the OSPF topology advertised in the BIER Sub-TLV by other BFRs conflicts with the association configured locally on the receiving router, the BIER Sub-TLV for those conflicting sub-domains MUST be ignored.
If the MT-ID has an invalid value as specified in [RFC4915], the BIER Sub-TLV for those conflicting subdomains MUST be ignored.
If a BFR advertises the same sub-domain-id in multiple BIER Sub-TLVs, the BFR MUST be treated as if it did not advertise a BIER Sub-TLV for that sub-domain. Not it being treated like it's invisible for that sub-domain π.
All BFRs MUST detect advertisements of duplicate valid BFR-ids for a given MT-ID and sub-domain-id. When a BFR detects this duplication, it MUST behave as described in Section 5 of [RFC8279].
The supported BAR and IPA algorithms MUST be consistent for all routers supporting a given BFR sub-domain. If a router receives a BIER Sub-TLV advertisement whose BAR or IPA value doesn't match the locally configured value for a given BFR sub-domain, the router MUST report a misconfiguration for that BIER sub-domain and MUST ignore the BIER Sub-TLV containing the error. Consistency is the whole vibe, periodt β¨.
The use of non-zero values in either the BAR field or the IPA field is outside the scope of this document πΈ.
2.2. BIER MPLS Encapsulation Sub-TLV β¨
okay so the BIER MPLS Encapsulation Sub-TLV is a sub-TLV that lives inside the BIER Sub-TLV π and its whole job is to advertise the MPLS-specific info BIER needs π¦. It MAY appear multiple times in the BIER Sub-TLV, so you can stack a few of these, no cap π§
Here's the format π:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Max SI | Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|BS Len | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type: 10 π
Length: 8 octets π
Max SI: a 1-octet field encoding the maximum Set Identifier (SI) (see Section 1 of [RFC8279]) used in the encapsulation for this BIER sub-domain for this BitString length. β¨
Label: a 3-octet field, where the 20 rightmost bits represent the first label in the label range. The 4 leftmost bits MUST be ignored. π
BS Len (BitString Length): a 4-bit field encoding the supported BitString length associated with this BFR-prefix. The values allowed in this field are specified in Section 2 of [RFC8296]. πΈ
Reserved: SHOULD be set to 0 on transmission and MUST be ignored on reception. π
okay so the "label range" is the set of labels starting at the Label and ending at (Label + (Max SI)) π. A unique label range is allocated for each BitString length and sub-domain-id, and those labels get used for BIER forwarding as described in [RFC8279] and [RFC8296] π¦
The size of the label range depends on how many SIs (Section 1 of [RFC8279]) the network actually uses π. Each SI maps to one label in the range: the first label is for SI=0, the second is for SI=1, and so on. It's giving very orderly β¨
Now the drama π:
If the label associated with the Maximum Set Identifier exceeds the 20-bit range, the BIER MPLS Encapsulation Sub-TLV containing the error MUST be ignored. π«
If the BitString length is set to a value that does not match any of the allowed values specified in [RFC8296], the BIER MPLS Encapsulation Sub-TLV containing the error MUST be ignored. π«
If the same BitString length is repeated in multiple BIER MPLS Encapsulation Sub-TLVs inside the same BIER Sub-TLV, the whole BIER Sub-TLV containing the conflicts MUST be ignored. π
Label ranges within all BIER MPLS Encapsulation Sub-TLVs advertised by the same BFR MUST NOT overlap. If an overlap is detected, all BIER sub-TLVs advertised by such a router MUST be ignored. π
2.3. Flooding Scope of BIER Information πΈ
okay so the flooding scope of the OSPFv2 Extended Prefix Opaque LSA [RFC7684] that carries the BIER Sub-TLV is set to area-local π . To allow BIER deployment in a multi-area environment, OSPF must propagate BIER information between areas π (that's the whole glow-up!)
( ) ( ) ( )
( ) ( ) ( )
R1 Area 1 R2 Area 0 R3 Area 2 R4
( ) ( ) ( )
( ) ( ) ( )
Figure 1: BIER Propagation between Areas πΊοΈ
Here's how the propagation works, step by step π:
When an OSPF Area Border Router (ABR) advertises a Type-3 Summary LSA from an intra-area or inter-area prefix to all its attached areas, it will also originate an OSPFv2 Extended Prefix Opaque LSA, as described in [RFC7684]. The flooding scope of that LSA type will be set to area-local. The route-type in the OSPFv2 Extended Prefix TLV is set to inter-area. When figuring out whether a BIER Sub-TLV should be included in this LSA, an OSPF ABR will:
- Examine its best path to the prefix in the source area and find the advertising router associated with the best path to that prefix. π
- Determine if the advertising router advertised a BIER Sub-TLV for the prefix. If yes, the ABR will copy the information from that BIER Sub-TLV when advertising the BIER Sub-TLV to each attached area. π«Ά
Now the example, which is so iconic π¦. In Figure 1, R1 advertises a prefix 192.0.2.1/32 in Area 1. It also advertises an OSPFv2 Extended Prefix Opaque LSA for prefix 192.0.2.1/32 and includes a BIER Sub-TLV in it. ABR R2 calculates the reachability for prefix 192.0.2.1/32 inside Area 1 and propagates it to Area 0. When doing so, it copies the entire BIER Sub-TLV (including all of its Sub-TLVs) that it received from R1 in Area 1 and includes it in the OSPFv2 Extended Prefix Opaque LSA it generates for 192.0.2.1/32 in Area 0. ABR R3 calculates the reachability for prefix 192.0.2.1/32 inside Area 0 and propagates it to Area 2. When doing so, it copies the entire BIER Sub-TLV (including all of its sub-TLVs) that it received from R2 in Area 0 and includes it in the OSPFv2 Extended Prefix Opaque LSA it generates for 192.0.2.1/32 in Area 2. πβ¨
3. Security Considerations π
This document introduces new sub-TLVs for the existing OSPFv2 Extended Prefix TLV. It does not introduce any new security risks to OSPF. Existing security extensions as described in [RFC2328] and [RFC7684] apply. π‘οΈ
It is assumed that both the BIER and OSPF layers are under a single administrative domain. There can be deployments where potential attackers have access to one or more networks in the OSPF routing domain. In these deployments, stronger authentication mechanisms such as those specified in [RFC7474] SHOULD be used. π€
The Security Considerations section of [RFC8279] discusses the possibility of performing a Denial-of-Service (DoS) attack by setting too many bits in the BitString of a BIER-encapsulated packet. However, this sort of DoS attack cannot be initiated by modifying the OSPF BIER advertisements specified in this document. A BFIR decides which systems are to receive a BIER-encapsulated packet. In making this decision, it is not influenced by the OSPF control messages. When creating the encapsulation, the BFIR sets one bit in the encapsulation for each destination system. The information in the OSPF BIER advertisements is used to construct the forwarding tables that map each bit in the encapsulation into a set of next hops for the host that is identified by that bit, but the information is not used by the BFIR to decide which bits to set. Hence, an attack on the OSPF control plane cannot be used to cause this sort of DoS attack. π ββοΈ
While a BIER-encapsulated packet is traversing the network, a BFR that receives a BIER-encapsulated packet with n bits set in its BitString may have to replicate the packet and forward multiple copies. However, a given bit will only be set in one copy of the packet. This means that each transmitted replica of a received packet has fewer bits set (i.e., is targeted to fewer destinations) than the received packet. This is an essential property of the BIER forwarding process as defined in [RFC8279]. While a failure of this process might cause a DoS attack (as discussed in the Security Considerations section of [RFC8279]), such a failure cannot be caused by an attack on the OSPF control plane. π§
Implementations MUST ensure that malformed BIER and BIER MPLS Encapsulation Sub-TLVs as defined in this document are detected and that they do not provide a vulnerability for attackers to crash the OSPF router or routing process. π¨ Reception of malformed TLVs or sub-TLVs SHOULD be counted and/or logged for further analysis. Logging of malformed TLVs and sub-TLVs SHOULD be rate-limited to prevent a DoS attack (distributed or otherwise) from overloading the OSPF control plane. ππ
4. IANA Considerations π§Ύ
IANA has allocated the following from the "OSPFv2 Extended Prefix TLV Sub-TLVs" registry defined in [RFC7684]:
- BIER Sub-TLV:
9π - BIER MPLS Encapsulation Sub-TLV:
10π
5. References π
5.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328,
DOI 10.17487/RFC2328, April 1998,
<https://www.rfc-editor.org/info/rfc2328>.
[RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P.
Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF",
RFC 4915, DOI 10.17487/RFC4915, June 2007,
<https://www.rfc-editor.org/info/rfc4915>.
[RFC7474] Bhatia, M., Hartman, S., Zhang, D., and A. Lindem, Ed.,
"Security Extension for OSPFv2 When Using Manual Key
Management", RFC 7474, DOI 10.17487/RFC7474, April 2015,
<https://www.rfc-editor.org/info/rfc7474>.
[RFC7684] Psenak, P., Gredler, H., Shakir, R., Henderickx, W.,
Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute
Advertisement", RFC 7684, DOI 10.17487/RFC7684, November
2015, <https://www.rfc-editor.org/info/rfc7684>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A.,
Przygienda, T., and S. Aldrin, "Multicast Using Bit Index
Explicit Replication (BIER)", RFC 8279,
DOI 10.17487/RFC8279, November 2017,
<https://www.rfc-editor.org/info/rfc8279>.
[RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A.,
Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation
for Bit Index Explicit Replication (BIER) in MPLS and Non-
MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January
2018, <https://www.rfc-editor.org/info/rfc8296>.
[RFC8401] Ginsberg, L., Ed., Przygienda, T., Aldrin, S., and Z.
Zhang, "Bit Index Explicit Replication (BIER) Support via
IS-IS", RFC 8401, DOI 10.17487/RFC8401, June 2018,
<https://www.rfc-editor.org/info/rfc8401>.
5.2. Informative References
[IANA-IGP] IANA, "IGP Algorithm Types",
<https://www.iana.org/assignments/igp-parameters/>.
Acknowledgments π«Ά
The authors would like to thank Rajiv Asati, Christian Martin, Greg Shepherd, and Eric Rosen for their contributions. π
Authors' Addresses β¨
okay so these are the brilliant humans who actually wrote this spec, and here's how to reach them π
Peter Psenak (editor) π
Peter Psenak (editor)
Cisco
Apollo Business Center
Mlynske nivy 43
Bratislava 821 09
Slovakia
Email: ppsenak@cisco.com
Nagendra Kumar πΈ
Nagendra Kumar
Cisco
7200 Kit Creek Road
Research Triangle Park, NC 27709
United States of America
Email: naikumar@cisco.com
IJsbrand Wijnands π¦
IJsbrand Wijnands
Cisco
De Kleetlaan 6a
Diegem 1831
Belgium
Email: ice@cisco.com
Andrew Dolganow π§
Andrew Dolganow
Nokia
750 Chai Chee Rd
06-06 Viva Business Park
Singapore 469004
Singapore
Email: andrew.dolganow@nokia.com
Tony Przygienda π
Tony Przygienda
Juniper Networks, Inc.
10 Technology Park Drive
Westford, MA 01886
United States of America
Email: prz@juniper.net
Jeffrey Zhang π
Jeffrey Zhang
Juniper Networks, Inc.
10 Technology Park Drive
Westford, MA 01886
United States of America
Email: zzhang@juniper.net
Sam Aldrin π
Sam Aldrin
Google, Inc.
1600 Amphitheatre Parkway
Mountain View, CA
United States of America
Email: aldrin.ietf@gmail.com
that's the whole squad, no cap π«Ά seven legends who made BIER happen π β¨
π¦ where this page comes from
- ietf: rfc8444 2018-11
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms