idnits 2.17.1 draft-ietf-bier-ospfv3-extensions-05.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The abstract seems to contain references ([RFC8362], [RFC8296]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (November 19, 2021) is 882 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'RFC5340' is defined on line 385, but no explicit reference was found in the text Summary: 1 error (**), 0 flaws (~~), 2 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Work group P. Psenak, Ed. 3 Internet-Draft N. Nainar, Ed. 4 Intended status: Standards Track Cisco Systems, Inc. 5 Expires: May 23, 2022 IJ. Wijnands 6 Individual Contributor 7 November 19, 2021 9 OSPFv3 Extensions for BIER 10 draft-ietf-bier-ospfv3-extensions-05 12 Abstract 14 Bit Index Explicit Replication (BIER) is an architecture that 15 provides multicast forwarding through a "BIER domain" without 16 requiring intermediate routers to maintain multicast related per-flow 17 state. Neither does BIER require an explicit tree-building protocol 18 for its operation. A multicast data packet enters a BIER domain at a 19 "Bit-Forwarding Ingress Router" (BFIR), and leaves the BIER domain at 20 one or more "Bit-Forwarding Egress Routers" (BFERs). The BFIR router 21 adds a BIER header to the packet. Such header contains a bit-string 22 in which each bit represents exactly one BFER to forward the packet 23 to. The set of BFERs to which the multicast packet needs to be 24 forwarded is expressed by the according set of bits set in BIER 25 packet header. 27 This document describes the OSPFv3 [RFC8362] protocol extensions 28 required for BIER with MPLS encapsulation [RFC8296]. Support for 29 other encapsulation types is outside the scope of this document. The 30 use of multiple encapsulation types is outside the scope of this 31 document. 33 Status of This Memo 35 This Internet-Draft is submitted in full conformance with the 36 provisions of BCP 78 and BCP 79. 38 Internet-Drafts are working documents of the Internet Engineering 39 Task Force (IETF). Note that other groups may also distribute 40 working documents as Internet-Drafts. The list of current Internet- 41 Drafts is at https://datatracker.ietf.org/drafts/current/. 43 Internet-Drafts are draft documents valid for a maximum of six months 44 and may be updated, replaced, or obsoleted by other documents at any 45 time. It is inappropriate to use Internet-Drafts as reference 46 material or to cite them other than as "work in progress." 48 This Internet-Draft will expire on May 23, 2022. 50 Copyright Notice 52 Copyright (c) 2021 IETF Trust and the persons identified as the 53 document authors. All rights reserved. 55 This document is subject to BCP 78 and the IETF Trust's Legal 56 Provisions Relating to IETF Documents 57 (https://trustee.ietf.org/license-info) in effect on the date of 58 publication of this document. Please review these documents 59 carefully, as they describe your rights and restrictions with respect 60 to this document. Code Components extracted from this document must 61 include Simplified BSD License text as described in Section 4.e of 62 the Trust Legal Provisions and are provided without warranty as 63 described in the Simplified BSD License. 65 Table of Contents 67 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 68 2. Flooding of the BIER Information in OSPFv3 . . . . . . . . . 3 69 2.1. BIER Sub-TLV . . . . . . . . . . . . . . . . . . . . . . 3 70 2.2. BIER MPLS Encapsulation Sub-TLV . . . . . . . . . . . . . 5 71 2.3. Flooding scope of BIER Information . . . . . . . . . . . 6 72 3. Security Considerations . . . . . . . . . . . . . . . . . . . 7 73 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 74 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 75 6. Normative References . . . . . . . . . . . . . . . . . . . . 9 76 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 78 1. Introduction 80 Bit Index Explicit Replication (BIER) is an architecture that 81 provides optimal multicast forwarding through a "BIER domain" without 82 requiring intermediate routers to maintain any multicast related per- 83 flow state. Neither does BIER explicitly require a tree-building 84 protocol for its operation. A multicast data packet enters a BIER 85 domain at a "Bit-Forwarding Ingress Router" (BFIR), and leaves the 86 BIER domain at one or more "Bit-Forwarding Egress Routers" (BFERs). 87 The BFIR router adds a BIER header to the packet. The BIER header 88 contains a bit-string in which each bit represents exactly one BFER 89 to forward the packet to. The set of BFERs to which the multicast 90 packet needs to be forwarded is expressed by setting the bits that 91 correspond to those routers in the BIER header. 93 BIER architecture requires routers participating in BIER to exchange 94 BIER related information within a given domain. BIER architecture 95 permits link-state routing protocols to perform distribution of such 96 information. [RFC8444] proposes the OSPFv2 protocol extensions to 97 distribute BIER specific information. This document describes 98 extensions to OSPFv3 necessary to advertise BIER specific information 99 in the case where BIER uses MPLS encapsulation as described in 100 [RFC8296]. 102 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 103 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 104 document are to be interpreted as described in [RFC2119]. 106 2. Flooding of the BIER Information in OSPFv3 108 All BIER specific information that a Bit-Forwarding Router (BFR) 109 needs to advertise to other BFRs is associated with a BFR-Prefix. A 110 BFR prefix is a unique (within a given BIER domain) routable IPv4 or 111 IPv6 address that is assigned to each BFR as described in more detail 112 in [RFC8279]. 114 [RFC8362] defines the encoding of OSPFv3 LSA in TLV format that 115 allows to carry additional informations. This section defines the 116 required Sub-TLVs to carry BIER information that is associated with 117 the BFR-Prefix. The Sub-TLV defined in this section MAY be carried 118 in the below OSPFv3 Extended LSA TLVs [RFC8362]: 120 Intra-Area-Prefix TLV 122 Inter-Area-Prefix TLV 124 2.1. BIER Sub-TLV 126 A Sub-TLV of the above mentioned Prefix TLVs is defined for 127 distributing BIER information. The Sub-TLV is called the BIER Sub- 128 TLV. Multiple BIER Sub-TLVs may be included in any of the above 129 mentioned Prefix TLV. 131 The BIER Sub-TLV has the following format: 133 0 1 2 3 134 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 135 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 136 | Type | Length | 137 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 138 | Sub-domain-ID | MT-ID | BFR-id | 139 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 140 | BAR | IPA | Reserved | 141 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 142 | Sub-TLVs (variable) | 143 +- -+ 144 | | 146 Type: TBD1 148 Length: Variable, dependent on sub-TLVs. 150 Sub-domain-ID: Unique value identifying the BIER sub-domain within 151 the BIER domain, as described in [RFC8279] 153 MT-ID: Multi-Topology ID (as defined in [RFC4915] that identifies 154 the topology that is associated with the BIER sub-domain. 156 BFR-id: A 2 octet field encoding the BFR-id, as documented in 157 section 2 of [RFC8279]. If the BFR is not locally configured with 158 a valid BFR-id, the value of this field is set to 0, which is 159 defined as illegal in [RFC8279]. 161 BAR: Single octet BIER specific algorithm used to calculate 162 underlay paths to reach other BFRs. Values are allocated from the 163 "BIER Algorithm" registry which is defined in [RFC8401]. 165 IPA: Single octet IGP algorithm to either modify, enhance or 166 replace the calculation of underlay paths to reach other BFRs as 167 defined by the BAR value. Values are defined in the "IGP 168 Algorithm Types" registry. 170 Each BFR sub-domain MUST be associated with one and only one OSPF 171 topology that is identified by the MT-ID. If the association between 172 BIER sub-domain and OSPF topology advertised in the BIER sub-TLV by 173 other BFRs is in conflict with the association locally configured on 174 the receiving router, the BIER Sub-TLV MUST be ignored. 176 If the MT-ID value is outside of the values specified in [RFC4915], 177 the BIER Sub-TLV MUST be ignored. 179 If a BFR advertises the same Sub-domain-ID in multiple BIER sub-TLVs, 180 the BFR MUST be treated as if it did not advertise a BIER sub-TLV for 181 such sub-domain. 183 All BFRs MUST detect advertisement of duplicate valid BFR-IDs for a 184 given MT-ID and Sub-domain-ID. When such duplication is detected by 185 the BFR, it MUST behave as described in section 5 of [RFC8279]. 187 The supported BAR and IPA algorithms MUST be consistent for all 188 routers supporting a given BFR sub-domain. A router receiving BIER 189 Sub-TLV advertisement with a value in BAR or IPA fields which does 190 not match the locally configured value for a given BFR sub-domain, 191 MUST report a misconfiguration for such BIER sub-domain and MUST 192 ignore such BIER sub-TLV. 194 The use of non-zero values in either the BAR field or the IPA field 195 is outside the scope of this document. 197 2.2. BIER MPLS Encapsulation Sub-TLV 199 The BIER MPLS Encapsulation Sub-TLV is a Sub-TLV of the BIER Sub-TLV 200 defined in Section 2.1. The BIER MPLS Encapsulation Sub-TLV is used 201 in order to advertise MPLS specific information used for BIER. It 202 MAY appear multiple times in the BIER Sub-TLV. 204 The BIER MPLS Encapsulation Sub-TLV has the following format: 206 0 1 2 3 207 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 208 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 209 | Type | Length | 210 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 211 | Max SI | Label | 212 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 213 |BS Len | Reserved | 214 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 216 Type: Set to TBD2. 218 Length: 8 octets 220 Max SI: A 1 octet field encoding the maximum Set Identifier 221 (section 1 of [RFC8279]), used in the encapsulation for this BIER 222 sub-domain for this bitstring length. 224 Label: A 3 octet field, where the 20 rightmost bits represent the 225 first label in the label range. The 4 leftmost bits MUST be 226 ignored. 228 Bit String Length: A 4 bits field encoding the supported BitString 229 length associated with this BFR-prefix. The values allowed in 230 this field are specified in section 2 of [RFC8296]. 232 Reserved: SHOULD be set to 0 on transmission and MUST be ignored 233 on reception. 235 The "label range" is the set of labels beginning with the Label 236 and ending with (Label + (Max SI)). A unique label range is 237 allocated for each BitString length and Sub-domain-ID. These 238 labels are used for BIER forwarding as described in [RFC8279] and 239 [RFC8296]. 241 The size of the label range is determined by the number of Set 242 Identifiers (SI) (section 1 of [RFC8279]) that are used in the 243 network. Each SI maps to a single label in the label range. The 244 first label is for SI=0, the second label is for SI=1, etc. 246 If the label associated with the Maximum Set Identifier exceeds the 247 20 bit range, the BIER MPLS Encapsulation Sub-TLV MUST be ignored. 249 If the BS length is set to a value that does not match any of the 250 allowed values specified in [RFC8296], the BIER MPLS Encapsulation 251 Sub-TLV MUST be ignored. 253 If same BS length is repeated in multiple BIER MPLS Encapsulation 254 Sub-TLV inside the same BIER Sub-TLV, the BIER sub-TLV MUST be 255 ignored. 257 Label ranges within all BIER MPLS Encapsulation Sub-TLVs advertised 258 by the same BFR MUST NOT overlap. If the overlap is detected, the 259 advertising router MUST be treated as if it did not advertise any 260 BIER sub-TLVs. 262 2.3. Flooding scope of BIER Information 264 The flooding scope of the Extended LSAs [RFC8362] that is used for 265 advertising the BIER Sub-TLV is area-local. To allow BIER deployment 266 in a multi-area environment, OSPFv3 must propagate BIER information 267 between areas. 269 ( ) ( ) ( ) 270 ( ) ( ) ( ) 271 R1 Area 1 R2 Area 0 R3 Area 2 R4 272 ( ) ( ) ( ) 273 ( ) ( ) ( ) 275 Figure 1: BIER propagation between areas 277 The following procedure is used in order to propagate BIER related 278 information between areas: 280 When an OSPFv3 Area Border Router (ABR) advertises E-Inter-Area- 281 Prefix-LSA from an intra-area or inter-area prefix to all its 282 attached areas, it determines whether a BIER Sub-TLV should be 283 included in this LSA. When doing so, an OSPFv3 ABR will: 285 * Examine its best path to the prefix in the source area and find 286 the advertising router associated with the best path to that 287 prefix. 289 * Determine if such advertising router advertised a BIER Sub-TLV 290 for the prefix. If yes, the ABR will copy the information from 291 such BIER Sub-TLV when advertising BIER Sub-TLV to each 292 attached area. 294 In the Figure 1, R1 advertises a prefix 2001:db8:b1e6::1/128 in 295 Area 1. It also includes BIER Sub-TLV in E-Intra-Area-Prefix-LSA. 296 ABR R2 calculates the reachability for prefix 297 2001:bdb8:b1e6::1/128 inside Area 1 and propagates it to Area 0 298 using E-Inter-Area-Prefix-LSA. When doing so, it copies the 299 entire BIER Sub-TLV (including all its Sub-TLVs) it received from 300 R1 in Area 1 and includes it in the E-Inter-Area-Prefix-LSA it 301 generates for the prefix in Area 0. ABR R3 calculates the 302 reachability for prefix 2001:bdb8:b1e6::1/128 inside Area 0 and 303 propagates it to Area 2. When doing so, it copies the entire BIER 304 Sub-TLV (including all its Sub-TLVs) it received from R2 in Area 0 305 and includes it in E-Inter-Area-Prefix-LSA it generates for 306 2001:bdb8:b1e6::1/128 in Area 2. 308 3. Security Considerations 310 This document introduces new sub-TLVs for OSPFv3 Extended-LSAs. It 311 does not introduce any new security risks to OSPFv3. Existing 312 security concerns documented in [RFC8362] is applicable for the Sub- 313 TLVs defined in this document. 315 It is assumed that both BIER and OSPF layer is under a single 316 administrative domain. There can be deployments where potential 317 attackers have access to one or more networks in the OSPFv3 routing 318 domain. In these deployments, stronger authentication mechanisms 319 such as those specified in [RFC4552] SHOULD be used. 321 The Security Considerations section of [RFC8279] discusses the 322 possibility of performing a Denial of Service (DoS) attack by setting 323 too many bits in the BitString of a BIER-encapsulated packet. 324 However, this sort of DoS attack cannot be initiated by modifying the 325 OSPF BIER advertisements specified in this document. A BFIR decides 326 which systems are to receive a BIER-encapsulated packet. In making 327 this decision, it is not influenced by the OSPF control messages. 328 When creating the encapsulation, the BFIR sets one bit in the 329 encapsulation for each destination system. The information in the 330 OSPF BIER advertisements is used to construct the forwarding tables 331 that map each bit in the encapsulation into a set of next hops for 332 the host that is identified by that bit, but is not used by the BFIR 333 to decide which bits to set. Hence an attack on the OSPF control 334 plane cannot be used to cause this sort of DoS attack. 336 While a BIER-encapsulated packet is traversing the network, a BFR 337 that receives a BIER-encapsulated packet with n bits set in its 338 BitString may have to replicate the packet and forward multiple 339 copies. However, a given bit will only be set in one copy of the 340 packet. That means that each transmitted replica of a received 341 packet has fewer bits set (i.e., is targeted to fewer destinations) 342 than the received packet. This is an essential property of the BIER 343 forwarding process as defined in [RFC8279]. While a failure of this 344 process might cause a DoS attack (as discussed in the Security 345 Considerations of [RFC8279]), such a failure cannot be caused by an 346 attack on the OSPF control plane. 348 Implementations MUST assure that malformed TLV and Sub-TLV defined in 349 this document are detected and do not provide a vulnerability for 350 attackers to crash the OSPFv3 router or routing process. Reception 351 of malformed TLV or Sub-TLV SHOULD be counted and/or logged for 352 further analysis. Logging of malformed TLVs and Sub-TLVs SHOULD be 353 rate-limited to prevent a Denial of Service (DoS) attack (distributed 354 or otherwise) from overloading the OSPFv3 control plane. 356 4. IANA Considerations 358 The document requests two new allocations from the OSPFv3 Extended- 359 LSA sub-TLV registry as defined in [RFC8362]. 361 BIER Sub-TLV: TBD1 363 BIER MPLS Encapsulation Sub-TLV: TBD2 365 5. Acknowledgements 367 TBD 369 6. Normative References 371 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 372 Requirement Levels", BCP 14, RFC 2119, 373 DOI 10.17487/RFC2119, March 1997, 374 . 376 [RFC4552] Gupta, M. and N. Melam, "Authentication/Confidentiality 377 for OSPFv3", RFC 4552, DOI 10.17487/RFC4552, June 2006, 378 . 380 [RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P. 381 Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF", 382 RFC 4915, DOI 10.17487/RFC4915, June 2007, 383 . 385 [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF 386 for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, 387 . 389 [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 390 Przygienda, T., and S. Aldrin, "Multicast Using Bit Index 391 Explicit Replication (BIER)", RFC 8279, 392 DOI 10.17487/RFC8279, November 2017, 393 . 395 [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 396 Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation 397 for Bit Index Explicit Replication (BIER) in MPLS and Non- 398 MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January 399 2018, . 401 [RFC8362] Lindem, A., Roy, A., Goethals, D., Reddy Vallem, V., and 402 F. Baker, "OSPFv3 Link State Advertisement (LSA) 403 Extensibility", RFC 8362, DOI 10.17487/RFC8362, April 404 2018, . 406 [RFC8401] Ginsberg, L., Ed., Przygienda, T., Aldrin, S., and Z. 407 Zhang, "Bit Index Explicit Replication (BIER) Support via 408 IS-IS", RFC 8401, DOI 10.17487/RFC8401, June 2018, 409 . 411 [RFC8444] Psenak, P., Ed., Kumar, N., Wijnands, IJ., Dolganow, A., 412 Przygienda, T., Zhang, J., and S. Aldrin, "OSPFv2 413 Extensions for Bit Index Explicit Replication (BIER)", 414 RFC 8444, DOI 10.17487/RFC8444, November 2018, 415 . 417 Authors' Addresses 419 Peter Psenak (editor) 420 Cisco Systems, Inc. 421 Apollo Business Center 422 Mlynske nivy 43, Bratislava 821 09 423 Slovakia 425 Email: ppsenak@cisco.com 427 Nagendra Kumar Nainar (editor) 428 Cisco Systems, Inc. 429 7200 Kit Creek Road 430 Research Triangle Park, NC 27709 431 US 433 Email: naikumar@cisco.com 435 IJsbrand Wijnands 436 Individual Contributor 437 Diegem 1831 438 Belgium 440 Email: ice@braindump.be