idnits 2.17.1 draft-ietf-bier-ospf-bier-extensions-09.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 : ---------------------------------------------------------------------------- == There are 6 instances of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (October 22, 2017) is 2377 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: 'RFC7120' is defined on line 372, but no explicit reference was found in the text == Unused Reference: 'RFC8126' is defined on line 381, but no explicit reference was found in the text == Outdated reference: A later version (-08) exists of draft-ietf-bier-architecture-06 == Outdated reference: A later version (-12) exists of draft-ietf-bier-mpls-encapsulation-07 Summary: 0 errors (**), 0 flaws (~~), 6 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 OSPF P. Psenak, Ed. 3 Internet-Draft N. Kumar 4 Intended status: Standards Track IJ. Wijnands 5 Expires: April 25, 2018 Cisco 6 A. Dolganow 7 Nokia 8 T. Przygienda 9 J. Zhang 10 Juniper Networks, Inc. 11 S. Aldrin 12 Google, Inc. 13 October 22, 2017 15 OSPF Extensions for BIER 16 draft-ietf-bier-ospf-bier-extensions-09.txt 18 Abstract 20 Bit Index Explicit Replication (BIER) is an architecture that 21 provides multicast forwarding through a "BIER domain" without 22 requiring intermediate routers to maintain multicast related per-flow 23 state. Neither does BIER require an explicit tree-building protocol 24 for its operation. A multicast data packet enters a BIER domain at a 25 "Bit-Forwarding Ingress Router" (BFIR), and leaves the BIER domain at 26 one or more "Bit-Forwarding Egress Routers" (BFERs). The BFIR router 27 adds a BIER header to the packet. Such header contains a bit-string 28 in which each bit represents exactly one BFER to forward the packet 29 to. The set of BFERs to which the multicast packet needs to be 30 forwarded is expressed by the according set of bits set in BIER 31 packet header. 33 This document describes the OSPF protocol extension required for BIER 34 with MPLS encapsulation. 36 Status of This Memo 38 This Internet-Draft is submitted in full conformance with the 39 provisions of BCP 78 and BCP 79. 41 Internet-Drafts are working documents of the Internet Engineering 42 Task Force (IETF). Note that other groups may also distribute 43 working documents as Internet-Drafts. The list of current Internet- 44 Drafts is at https://datatracker.ietf.org/drafts/current/. 46 Internet-Drafts are draft documents valid for a maximum of six months 47 and may be updated, replaced, or obsoleted by other documents at any 48 time. It is inappropriate to use Internet-Drafts as reference 49 material or to cite them other than as "work in progress." 51 This Internet-Draft will expire on April 25, 2018. 53 Copyright Notice 55 Copyright (c) 2017 IETF Trust and the persons identified as the 56 document authors. All rights reserved. 58 This document is subject to BCP 78 and the IETF Trust's Legal 59 Provisions Relating to IETF Documents 60 (https://trustee.ietf.org/license-info) in effect on the date of 61 publication of this document. Please review these documents 62 carefully, as they describe your rights and restrictions with respect 63 to this document. Code Components extracted from this document must 64 include Simplified BSD License text as described in Section 4.e of 65 the Trust Legal Provisions and are provided without warranty as 66 described in the Simplified BSD License. 68 Table of Contents 70 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 71 2. Flooding of the BIER Information in OSPF . . . . . . . . . . 3 72 2.1. BIER Sub-TLV . . . . . . . . . . . . . . . . . . . . . . 3 73 2.2. BIER MPLS Encapsulation Sub-TLV . . . . . . . . . . . . . 4 74 2.3. Optional BIER sub-domain BSL conversion Sub-TLV . . . . . 6 75 2.4. Flooding scope of BIER Information . . . . . . . . . . . 6 76 3. Security Considerations . . . . . . . . . . . . . . . . . . . 8 77 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 78 5. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 8 79 6. Normative References . . . . . . . . . . . . . . . . . . . . 8 80 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 82 1. Introduction 84 Bit Index Explicit Replication (BIER) is an architecture that 85 provides optimal multicast forwarding through a "BIER domain" without 86 requiring intermediate routers to maintain any multicast related per- 87 flow state. Neither does BIER explicitly require a tree-building 88 protocol for its operation. A multicast data packet enters a BIER 89 domain at a "Bit-Forwarding Ingress Router" (BFIR), and leaves the 90 BIER domain at one or more "Bit-Forwarding Egress Routers" (BFERs). 91 The BFIR router adds a BIER header to the packet. The BIER header 92 contains a bit-string in which each bit represents exactly one BFER 93 to forward the packet to. The set of BFERs to which the multicast 94 packet needs to be forwarded is expressed by setting the bits that 95 correspond to those routers in the BIER header. 97 BIER architecture requires routers participating in BIER to exchange 98 BIER related information within a given domain. BIER architecture 99 permits link-state routing protocols to perform distribution of such 100 information. This document describes extensions to OSPF necessary to 101 advertise BIER specific information in the case where BIER uses MPLS 102 encapsulation as described in [I-D.ietf-bier-mpls-encapsulation]. 104 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 105 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 106 document are to be interpreted as described in [RFC2119]. 108 2. Flooding of the BIER Information in OSPF 110 All BIER specific information that a Bit-Forwarding Router (BFR) 111 needs to advertise to other BFRs is associated with a BFR-Prefix. A 112 BFR prefix is a unique (within a given BIER domain) routable IP 113 address that is assigned to each BFR as described in more detail in 114 section 2 of [I-D.ietf-bier-architecture]. 116 Given that BIER information must be associated with a BFR prefix, the 117 OSPF Extended Prefix Opaque LSA [RFC7684] has been chosen for 118 advertisement. 120 2.1. BIER Sub-TLV 122 A Sub-TLV of the Extended Prefix TLV (defined in [RFC7684]) is 123 defined for distributing BIER information. The Sub-TLV is called the 124 BIER Sub-TLV. Multiple BIER Sub-TLVs may be included in the Extended 125 Prefix TLV. 127 The BIER Sub-TLV has the following format: 129 0 1 2 3 130 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 131 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 132 | Type | Length | 133 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 134 | Sub-domain-ID | MT-ID | BFR-id | 135 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 136 | BAR | Reserved | 137 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 138 | Sub-TLVs (variable) | 139 +- -+ 140 | | 142 Type: 9 143 Length: Variable, dependent on sub-TLVs. 145 Sub-domain-ID: Unique value identifying the BIER sub-domain within 146 the BIER domain, as described in section 1 of 147 [I-D.ietf-bier-architecture]. 149 MT-ID: Multi-Topology ID (as defined in [RFC4915]) that identifies 150 the topology that is associated with the BIER sub-domain. 152 BFR-id: A 2 octet field encoding the BFR-id, as documented in 153 section 2 of [I-D.ietf-bier-architecture]. If the BFR is not 154 locally configured with a valid BFR-id, the value of this field is 155 set to invalid BFR-id per [I-D.ietf-bier-architecture]. 157 BAR: Single octet BIER Algorithm. 0 is the only supported value 158 defined in this document and represents Shortest Path First (SPF) 159 algorithm based on IGP link metric. This is the standard shortest 160 path algorithm as computed by the OSPF protocol. Other values may 161 be defined in the future. 163 Each BFR sub-domain MUST be associated with one and only one OSPF 164 topology that is identified by the MT-ID. If the association between 165 BIER sub-domain and OSPF topology advertised in the BIER sub-TLV by 166 other BFRs is in conflict with the association locally configured on 167 the receiving router, the BIER Sub-TLV MUST be ignored. 169 If a BFR advertises the same Sub-domain-ID in multiple BIER sub-TLVs, 170 the BRF MUST be treated as if it did not advertise a BIER sub-TLV for 171 such sub-domain. 173 All BFRs MUST detect advertisement of duplicate valid BFR-IDs for a 174 given MT-ID and Sub-domain-ID. When such duplication is detected all 175 BFRs advertising duplicates MUST be treated as if they did not 176 advertise a valid BFR-id. 178 The supported algorithm MUST be consistent for all routers supporting 179 a given BFR sub-domain. A router receiving BIER Sub-TLV 180 advertisement with a BAR which does not match the locally configured 181 value MUST report a misconfiguration for the given BIER sub-domain 182 and MUST ignore such BIER sub-TLV. 184 2.2. BIER MPLS Encapsulation Sub-TLV 186 The BIER MPLS Encapsulation Sub-TLV is a Sub-TLV of the BIER Sub-TLV. 187 The BIER MPLS Encapsulation Sub-TLV is used in order to advertise 188 MPLS specific information used for BIER. It MAY appear multiple 189 times in the BIER Sub-TLV. 191 The BIER MPLS Encapsulation Sub-TLV has the following format: 193 0 1 2 3 194 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 195 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 196 | Type | Length | 197 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 198 |Lbl Range Size | Label Range Base | 199 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 200 |BS Len | Reserved | 201 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 203 Type: 10 205 Length: 4 octets 207 Label Range Size: A 1 octet field encoding the label range size of 208 the label range. It MUST be greater then 0, otherwise the 209 advertising router MUST be treated as if it did not advertise a 210 BIER sub-TLV. 212 Label Range Base: A 3 octet field, where the 20 rightmost bits 213 represent the first label in the label range. The 4 leftmost bits 214 MUST be ignored. 216 Bit String Length: A 4 bits field encoding the supported BitString 217 length associated with this BFR-prefix. The values allowed in 218 this field are specified in section 2 of 219 [I-D.ietf-bier-mpls-encapsulation]. 221 The "label range" is the set of labels beginning with the label 222 range base and ending with ((label range base)+(label range size)- 223 1). A unique label range is allocated for each BitStream length 224 and Sub-domain-ID. These labels are used for BIER forwarding as 225 described in [I-D.ietf-bier-architecture] and 226 [I-D.ietf-bier-mpls-encapsulation]. 228 The size of the label range is determined by the number of Set 229 Identifiers (SI) (section 1 of [I-D.ietf-bier-architecture]) that 230 are used in the network. Each SI maps to a single label in the 231 label range. The first label is for SI=0, the second label is for 232 SI=1, etc. 234 If same BS length is repeated in multiple BIER MPLS Encapsulation 235 Sub-TLV inside the same BIER Sub-TLV, the BIER sub-TLV MUST be 236 ignored. 238 Label ranges within all BIER MPLS Encapsulation Sub-TLV inside the 239 same BIER Sub-TLV MUST NOT overlap. If the overlap is detected, the 240 advertising router MUST be treated as if it did not advertise a BIER 241 sub-TLV. 243 All advertised labels MUST be valid, otherwise the BIER sub-TLV MUST 244 be ignored. 246 2.3. Optional BIER sub-domain BSL conversion Sub-TLV 248 The BIER sub-domain BSL conversion Sub-TLV is a Sub-TLV of the BIER 249 Sub-TLV. This sub-TLV indicates whether the BFR is capable of 250 imposing a different Bit String Length (BSL) than the one it received 251 in a BIER encapsulated packet. Such a capability may allow future, 252 advanced tree types which ensure simple migration procedures from one 253 BSL to another in a given MT-ID and Sub-domain-ID or prevent stable 254 blackholes in scenarios where not all routers support the same set of 255 BSLs in a given MT-ID and Sub-domain-ID. 257 The BIER sub-domain BSL conversion Sub-TLV is optional and its 258 absence indicates that the router is NOT capable of imposing 259 different BSLs but will always forward the packet with the BSL 260 unchanged. This sub-TLV MAY occur at most once in a given BIER sub- 261 TLV. If multiple occurrences of this sub-TLV are received in a given 262 BIER sub-TLV, the BIER sub-TLV MUST be ignored. 264 The BIER sub-domain BSL conversion Sub-TLV has following format: 266 0 1 2 3 267 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 268 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 269 | Type | Length | 270 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 272 Type: 11 274 Length: 0 octets. 276 2.4. Flooding scope of BIER Information 278 The flooding scope of the OSPF Extended Prefix Opaque LSA [RFC7684] 279 that is used for advertising the BIER Sub-TLV is set to area-local. 280 To allow BIER deployment in a multi-area environment, OSPF must 281 propagate BIER information between areas. 283 ( ) ( ) ( ) 284 ( ) ( ) ( ) 285 R1 Area 1 R2 Area 0 R3 Area 2 R4 286 ( ) ( ) ( ) 287 ( ) ( ) ( ) 289 Figure 1: BIER propagation between areas 291 The following procedure is used in order to propagate BIER related 292 information between areas: 294 When an OSPF Area Border Router (ABR) advertises a Type-3 Summary 295 LSA from an intra-area or inter-area prefix to all its attached 296 areas, it will also originate an Extended Prefix Opaque LSA, as 297 described in [RFC7684]. The flooding scope of the Extended Prefix 298 Opaque LSA type will be set to area-local. The route-type in the 299 OSPF Extended Prefix TLV is set to inter-area. When determining 300 whether a BIER Sub-TLV should be included in this LSA, an OSPF ABR 301 will: 303 - Examine its best path to the prefix in the source area and 304 find the advertising router associated with the best path to 305 that prefix. 307 - Determine if such advertising router advertised a BIER Sub- 308 TLV for the prefix. If yes, the ABR will copy the information 309 from such BIER Sub-TLV when advertising BIER Sub-TLV to each 310 attached area. 312 In the Figure 1, R1 advertises a prefix 192.0.0.1/32 in Area 1. 313 It also advertises Extended Prefix Opaque LSA for prefix 314 192.0.0.1/32 and includes BIER Sub-TLV in it. Area Border Router 315 (ABR) R2 calculates the reachability for prefix 192.0.0.1/32 316 inside Area 1 and propagates it to Area 0. When doing so, it 317 copies the entire BIER Sub-TLV (including all its Sub-TLVs) it 318 received from R1 in Area 1 and includes it in the Extended Prefix 319 Opaque LSA it generates for 192.0.0.1/32 in Area 0. ABR R3 320 calculates the reachability for prefix 192.0.0.1/32 inside Area 0 321 and propagates it to Area 2. When doing so, it copies the entire 322 BIER Sub-TLV (including all its Sub-TLVs) it received from R2 in 323 Area 0 and includes it in the Extended Prefix Opaque LSA it 324 generates for 192.0.0.1/32 in Area 2. 326 3. Security Considerations 328 Implementations must assure that malformed TLV and Sub-TLV 329 permutations do not result in errors which cause hard OSPF failures. 331 4. IANA Considerations 333 The document requests three new allocations from the OSPF Extended 334 Prefix sub-TLV registry as defined in [RFC7684]. 336 BIER Sub-TLV: 9 338 BIER MPLS Encapsulation Sub-TLV: 10 340 BIER sub-domain BSL conversion Sub-TLV: 11 342 5. Acknowledgments 344 The authors would like to thank Rajiv Asati, Christian Martin, Greg 345 Shepherd and Eric Rosen for their contribution. 347 6. Normative References 349 [I-D.ietf-bier-architecture] 350 Wijnands, I., Rosen, E., Dolganow, A., Przygienda, T., and 351 S. Aldrin, "Multicast using Bit Index Explicit 352 Replication", draft-ietf-bier-architecture-06 (work in 353 progress), April 2017. 355 [I-D.ietf-bier-mpls-encapsulation] 356 Wijnands, I., Rosen, E., Dolganow, A., Tantsura, J., 357 Aldrin, S., and I. Meilik, "Encapsulation for Bit Index 358 Explicit Replication in MPLS and non-MPLS Networks", 359 draft-ietf-bier-mpls-encapsulation-07 (work in progress), 360 June 2017. 362 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 363 Requirement Levels", BCP 14, RFC 2119, 364 DOI 10.17487/RFC2119, March 1997, 365 . 367 [RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P. 368 Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF", 369 RFC 4915, DOI 10.17487/RFC4915, June 2007, 370 . 372 [RFC7120] Cotton, M., "Early IANA Allocation of Standards Track Code 373 Points", BCP 100, RFC 7120, DOI 10.17487/RFC7120, January 374 2014, . 376 [RFC7684] Psenak, P., Gredler, H., Shakir, R., Henderickx, W., 377 Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute 378 Advertisement", RFC 7684, DOI 10.17487/RFC7684, November 379 2015, . 381 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 382 Writing an IANA Considerations Section in RFCs", BCP 26, 383 RFC 8126, DOI 10.17487/RFC8126, June 2017, 384 . 386 Authors' Addresses 388 Peter Psenak (editor) 389 Cisco 390 Apollo Business Center 391 Mlynske nivy 43 392 Bratislava 821 09 393 Slovakia 395 Email: ppsenak@cisco.com 397 Nagendra Kumar 398 Cisco 399 7200 Kit Creek Road 400 Research Triangle Park, NC 27709 401 US 403 Email: naikumar@cisco.com 405 IJsbrand Wijnands 406 Cisco 407 De Kleetlaan 6a 408 Diegem 1831 409 Belgium 411 Email: ice@cisco.com 412 Andrew Dolganow 413 Nokia 414 750 Chai Chee Rd 415 06-06 Viva Business Park 416 Singapore 469004 418 Email: andrew.dolganow@nokia.com 420 Tony Przygienda 421 Juniper Networks, Inc. 422 10 Technology Park Drive 423 Westford, MA 01886 424 USA 426 Email: prz@juniper.net 428 Jeffrey Zhang 429 Juniper Networks, Inc. 430 10 Technology Park Drive 431 Westford, MA 01886 432 USA 434 Email: zzhang@juniper.net 436 Sam Aldrin 437 Google, Inc. 438 1600 Amphitheatre Parkway 439 Mountain View, CA 440 USA 442 Email: aldrin.ietf@gmail.com