idnits 2.17.1 draft-ietf-bier-isis-extensions-00.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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (April 27, 2015) is 3286 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) == Outdated reference: A later version (-08) exists of draft-ietf-bier-architecture-00 == Outdated reference: A later version (-18) exists of draft-ietf-bier-ospf-bier-extensions-00 Summary: 0 errors (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force L. Ginsberg, Ed. 3 Internet-Draft Cisco Systems 4 Intended status: Standards Track A. Przygienda 5 Expires: October 29, 2015 Ericsson 6 S. Aldrin 7 Google 8 J. Zhang 9 Juniper Networks, Inc. 10 April 27, 2015 12 BIER support via ISIS 13 draft-ietf-bier-isis-extensions-00 15 Abstract 17 Specification of an ISIS extension to support BIER domains and sub- 18 domains. 20 Requirements Language 22 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 23 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 24 document are to be interpreted as described in RFC 2119 [RFC2119] . 26 Status of This Memo 28 This Internet-Draft is submitted in full conformance with the 29 provisions of BCP 78 and BCP 79. 31 Internet-Drafts are working documents of the Internet Engineering 32 Task Force (IETF). Note that other groups may also distribute 33 working documents as Internet-Drafts. The list of current Internet- 34 Drafts is at http://datatracker.ietf.org/drafts/current/. 36 Internet-Drafts are draft documents valid for a maximum of six months 37 and may be updated, replaced, or obsoleted by other documents at any 38 time. It is inappropriate to use Internet-Drafts as reference 39 material or to cite them other than as "work in progress." 41 This Internet-Draft will expire on October 29, 2015. 43 Copyright Notice 45 Copyright (c) 2015 IETF Trust and the persons identified as the 46 document authors. All rights reserved. 48 This document is subject to BCP 78 and the IETF Trust's Legal 49 Provisions Relating to IETF Documents 50 (http://trustee.ietf.org/license-info) in effect on the date of 51 publication of this document. Please review these documents 52 carefully, as they describe your rights and restrictions with respect 53 to this document. Code Components extracted from this document must 54 include Simplified BSD License text as described in Section 4.e of 55 the Trust Legal Provisions and are provided without warranty as 56 described in the Simplified BSD License. 58 Table of Contents 60 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 61 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 62 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 63 4. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . 4 64 4.1. BIER Domains and Sub-Domains . . . . . . . . . . . . . . 4 65 5. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 4 66 5.1. Enabling a BIER Sub-Domain . . . . . . . . . . . . . . . 5 67 5.2. Multi Topology and Sub-Domain . . . . . . . . . . . . . . 5 68 5.3. Encapsulation . . . . . . . . . . . . . . . . . . . . . . 5 69 5.4. Tree Type . . . . . . . . . . . . . . . . . . . . . . . . 5 70 5.5. Label Advertisements for MPLS encapsulated BIER sub- 71 domains . . . . . . . . . . . . . . . . . . . . . . . . . 5 72 5.5.1. Special Consideration . . . . . . . . . . . . . . . . 6 73 5.6. BFR-id Advertisements . . . . . . . . . . . . . . . . . . 6 74 5.7. Flooding . . . . . . . . . . . . . . . . . . . . . . . . 6 75 6. Packet Formats . . . . . . . . . . . . . . . . . . . . . . . 6 76 6.1. BIER Info sub-TLV . . . . . . . . . . . . . . . . . . . . 7 77 6.2. BIER MPLS Encapsulation sub-sub-TLV . . . . . . . . . . . 8 78 6.3. Optional BIER sub-domain Tree Type sub-sub-TLV . . . . . 9 79 7. Security Considerations . . . . . . . . . . . . . . . . . . . 10 80 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 81 9. Normative References . . . . . . . . . . . . . . . . . . . . 11 82 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 84 1. Introduction 86 Bit Index Explicit Replication (BIER) 87 [I-D.draft-ietf-bier-architecture-00] defines an architecture where 88 all intended multicast receivers are encoded as bitmask in the 89 Multicast packet header within different encapsulations such as 90 [I-D.draft-wijnands-mpls-bier-encapsulation-02]. A router that 91 receives such a packet will forward the packet based on the Bit 92 Position in the packet header towards the receiver(s), following a 93 precomputed tree for each of the bits in the packet. Each receiver 94 is represented by a unique bit in the bitmask. 96 This document presents necessary extensions to the currently deployed 97 ISIS for IP [RFC1195] protocol to support distribution of information 98 necessary for operation of BIER domains and sub-domains. This 99 document defines a new TLV to be advertised by every router 100 participating in BIER signaling. 102 2. Terminology 104 Some of the terminology specified in 105 [I-D.draft-ietf-bier-architecture-00] is replicated here and extended 106 by necessary definitions: 108 BIER: Bit Index Explicit Replication (The overall architecture of 109 forwarding multicast using a Bit Position). 111 BIER-OL: BIER Overlay Signaling. (The method for the BFIR to learn 112 about BFER's). 114 BFR: Bit Forwarding Router (A router that participates in Bit Index 115 Multipoint Forwarding). A BFR is identified by a unique BFR- 116 prefix in a BIER domain. 118 BFIR: Bit Forwarding Ingress Router (The ingress border router that 119 inserts the BM into the packet). 121 BFER: Bit Forwarding Egress Router. A router that participates in 122 Bit Index Forwarding as leaf. Each BFER must be a BFR. Each BFER 123 must have a valid BFR-id assigned. 125 BFT: Bit Forwarding Tree used to reach all BFERs in a domain. 127 BIFT: Bit Index Forwarding Table. 129 BMS: Bit Mask Set. Set containing bit positions of all BFER 130 participating in a set. 132 BMP: Bit Mask Position, a given bit in a BMS. 134 Invalid BMP: Unassigned Bit Mask Position, consisting of all 0s. 136 IGP signalled BIER domain: A BIER underlay where the BIER 137 synchronization information is carried in IGP. Observe that a 138 multi-topology is NOT a separate BIER domain in IGP. 140 BIER sub-domain: A further distinction within a BIER domain 141 identified by its unique sub-domain identifier. A BIER sub-domain 142 can support multiple BitString Lengths. 144 BFR-id: An optional, unique identifier for a BFR within a BIER sub- 145 domain. 147 Invalid BFR-id: Unassigned BFR-id, consisting of all 0s. 149 3. IANA Considerations 151 This document adds the following new sub-TLVs to the registry of sub- 152 TLVs for TLVs 235, 237 [RFC5120] and TLVs 135,236 153 [RFC5305],[RFC5308]. 155 Value: 32 (suggested - to be assigned by IANA) 157 Name: BIER Info 159 4. Concepts 161 4.1. BIER Domains and Sub-Domains 163 An ISIS signalled BIER domain is aligned with the scope of 164 distribution of BFR-prefixes that identify the BFRs within ISIS. 165 ISIS acts in such a case as the according BIER underlay. 167 Within such a domain, ISIS extensions are capable of carrying BIER 168 information for multiple BIER sub-domains. Each sub-domain is 169 uniquely identified by its subdomain-id and each subdomain can reside 170 in any of the ISIS topologies [RFC5120]. The mapping of sub-domains 171 to topologies is a local decision of each BFR currently but is 172 advertised throughout the domain to ensure routing consistency. 174 Each BIER sub-domain has as its unique attributes the encapsulation 175 used and the type of tree it is using to forward BIER frames 176 (currently always SPF). Additionally, per supported bitstring length 177 in the sub-domain, each router will advertise the necessary label 178 ranges to support it. 180 This RFC introduces a sub-TLV in the extended reachability TLVs to 181 distribute such information about BIER sub-domains. To satisfy the 182 requirements for BIER prefixes per 183 [I-D.draft-ietf-bier-architecture-00] additional information will be 184 carried in [I-D.draft-ginsberg-isis-prefix-attributes]. 186 5. Procedures 187 5.1. Enabling a BIER Sub-Domain 189 A given sub-domain with identifier SD with supported bitstring 190 lengths MLs in a multi-topology MT [RFC5120] is denoted further as 191 and dos not have to be advertised by by default by BFRs 192 to preserve the scaling of the protocol (i.e. ISIS carries no TLVs 193 containing any of the elements related to ). The 194 advertisement may be triggered e.g. by a first BIER sub-TLV 195 (Section 6.1) containing advertised into the area. The 196 specific trigger itself is outside the scope of this RFC but can be 197 for example a VPN desiring to initiate a BIER sub-domain as MI-PMSI 198 [RFC6513] tree or a pre-configured BFER (since BFERs will always 199 advertise the BIER sub-TLV to make sure they can be reached). It is 200 outside the scope of this document to describe what trigger for a 201 router capable of participating in is used to start the 202 origination of the necessary information to join into it. 204 5.2. Multi Topology and Sub-Domain 206 All routers in the flooding scope of the BIER sub-TLVs MUST advertise 207 a sub-domain within the same multi-topology. A router discovering a 208 sub-domain advertised within a topology that is different from its 209 own MUST report a misconfiguration of a specific sub-domain. Each 210 router MUST compute BFTs for a sub-domain using only routers 211 advertising it in the same multi-topology. 213 5.3. Encapsulation 215 All routers in the flooding scope of the BIER TLVs MUST advertise the 216 same encapsulation for a given . A router discovering 217 encapsulation advertised that is different from its own MUST report a 218 misconfiguration of a specific . Each router MUST compute 219 BFTs for using only routers having the same encapsulation as 220 its own advertised encapsulation in BIER sub-TLV for . 222 5.4. Tree Type 224 All routers in the flooding scope of the BIER TLVs MUST advertise the 225 same tree type for a given . In case of mismatch the behavior 226 is analogous to Section 5.3. 228 5.5. Label Advertisements for MPLS encapsulated BIER sub-domains 230 Each router MAY advertise within the BIER MPLS Encapsulation sub-sub- 231 TLV (Section 6.2) of a BIER Info sub-TLV (Section 6.1) for 232 (denoted as TLV) for every supported bitstring length a valid 233 starting label value and a non-zero range length. It MUST advertise 234 at least one valid label value and a non-zero range length for the 235 required bitstring lengths per [I-D.draft-ietf-bier-architecture-00] 236 in case it has computed itself as being on the BFT rooted at any of 237 the BFRs with valid BFR-ids (except itself if it does NOT have a 238 valid BFR-id) participating in . 240 A router MAY decide to not advertise the BIER Info sub-TLV 241 (Section 6.1) for if it does not want to participate in the 242 sub-domain due to resource constraints, label space optimization, 243 administrative configuration or any other reasons. 245 5.5.1. Special Consideration 247 A router that desires to participate in MUST advertise for 248 each bitstring length it supports in a label range size that 249 guarantees to cover the maximum BFR-id injected into (which 250 implies a certain maximum set id per bitstring length as described in 251 [I-D.draft-ietf-bier-architecture-00]). Any router that violates 252 this condition MUST be excluded from BIER BFTs for . 254 5.6. BFR-id Advertisements 256 Each BFER MAY advertise with its TLV the BFR-id that it has 257 administratively chosen. 259 If a router discovers that two BFRs it can reach advertise the same 260 value for BFR-id for , it MUST report a misconfiguration and 261 disregard those routers for all BIER calculations and procedures for 262 to align with [I-D.draft-ietf-bier-architecture-00]. It is 263 worth observing that based on this procedure routers with colliding 264 BFR-id assignments in MAY still act as BFIRs in but 265 will be never able to receive traffic from other BFRs in . 267 5.7. Flooding 269 BIER domain information SHOULD change and force flooding 270 infrequently. Especially, the router SHOULD make every possible 271 attempt to bundle all the changes necessary to sub-domains and ranges 272 advertised with those into least possible updates. 274 6. Packet Formats 276 All ISIS BIER information is carried within the TLVs 235, 237 277 [RFC5120] and TLVs 135,236 [RFC5305], [RFC5308]. 279 6.1. BIER Info sub-TLV 281 This sub-TLV carries the information for the BIER sub-domains that 282 the router participates in as BFR. It can repeat multiple times for 283 different multi-topology and sub-domain combinations. 285 The sub-TLV carries a single combination followed by optional 286 sub-sub-TLVs specified within its context such as e.g. BIER MPLS 287 Encapsulation per Section 6.2. If the same combination is 288 advertised more than once, only the first occurence of the sub-TLV 289 MUST be used. 291 On violation of any of the following conditions, the receiving router 292 SHOULD signal a misconfiguration condition. Further results are 293 unspecified unless described in the according section of this RFC: 295 o The subdomain-id MUST be included only within a single topology. 297 0 1 2 3 298 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 299 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 300 | Type | Length | 301 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 302 | Reserved | subdomain-id | BFR-id | 303 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 305 Type: as indicated in IANA section. 307 Length: 1 octet. 309 Reserved: reserved, must be 0 on transmission, ignored on reception. 310 May be used in future versions. 8 bits 312 subdomain-id: Unique value identifying the BIER sub-domain. 1 octet 314 BFR-id: A 2 octet field encoding the BFR-id, as documented in 315 [I-D.draft-ietf-bier-architecture-00]. If set to the invalid BFR- 316 id advertising router is not owning a BFR-id in the sub-domain. 318 6.2. BIER MPLS Encapsulation sub-sub-TLV 320 This sub-sub-TLV carries the information for the BIER MPLS 321 encapsulation and the necessary label ranges per bitstring length for 322 a certain and is carried within the BIER Info sub-TLV 323 (Section 6.1) that the router participates in as BFR. 325 On violation of any of the following conditions, the receiving router 326 SHOULD signal a misconfiguration condition. Further results are by 327 default unspecified unless explicitly described: 329 o The sub-sub-TLV MUST be included once AND ONLY once within the 330 sub-TLV. If such a sub-sub-TLV is included more than once, only 331 the first instance MUST be processed. 333 o Label ranges within the sub-sub-TLV MUST NOT overlap, otherwise 334 the whole sub-sub-TLV MUST be disregarded and the violating 335 routers are treated per further procedures in Section 5.3. 337 o Bitstring lengths within the sub-sub-TLV MUST NOT repeat, 338 otherwise the whole sub-sub-TLV MUST be disregarded and the 339 violating routers are treated per further procedures in 340 Section 5.3. 342 o The sub-sub-TLV MUST include the required bitstring lengths 343 encoded in precisely the same way as in 344 [I-D.draft-ietf-bier-architecture-00]. 346 o All label range sizes MUST be greater than 0. 348 o All labels MUST represent valid label values, otherwise the whole 349 sub-sub-TLV MUST be disregarded and the violating routers are 350 treated per further procedures in Section 5.3. 352 0 1 2 3 353 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 354 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 355 | Type | Length | 356 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <-+ 357 | Lbl Range Size|BS Len | Label | | 358 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 359 ~~ (number repetitions derived from TLV length) ~~ ~~~ 360 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 361 | Lbl Range Size|BS Len | Label | | 362 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ <-+ 364 Type: value of 0 indicating MPLS encapsulation. 366 Length: 1 octet. 368 Local BitString Length (BS Len): Bitstring length for the label 369 range that this router is advertising per 370 [I-D.draft-wijnands-mpls-bier-encapsulation-02]. 4 bits. 372 Label Range Size: Number of labels in the range used on 373 encapsulation for this BIER sub-domain for this bitstring length, 374 1 octet. This MUST never be advertised as 0 (zero) and otherwise, 375 this sub-sub-TLV must be treated as if not present for BFT 376 calculations and a misconfiguration SHOULD be reported by the 377 receiving router. 379 Label: First label of the range used on encapsulation for this BIER 380 sub-domain for this bitstring length, 20 bits. The label is used 381 for example by [I-D.draft-wijnands-mpls-bier-encapsulation-02] to 382 forward traffic to sets of BFERs. 384 6.3. Optional BIER sub-domain Tree Type sub-sub-TLV 386 This sub-sub-TLV carries the information of the BIER tree type for a 387 combination. It is carried within the BIER Info sub-TLV 388 (Section 6.1) that the router participates in as BFR. This sub-sub- 389 TLV is optional and its absence has the same semantics as its 390 presence with Tree Type value 0 (SPF). BIER implementation following 391 this version of the RFC SHOULD NOT advertise this TLV. 393 On violation of any of the following conditions, the receiving router 394 implementing this RFC SHOULD signal a misconfiguration condition. 395 Further results are unspecified unless described further: 397 o The sub-sub-TLV CAN be included AT MOST once. 399 o The advertised BIER TLV version is 0 and the value of Tree Type 400 MUST be 0 (SPF). 402 0 1 2 3 403 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 404 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 405 | Type | Length | 406 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 407 | Tree Type | 408 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 409 | Tree Type specific opaque data| 410 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 411 ~~ up to TLV Length ~~ 412 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 413 | Tree Type specific opaque data| 414 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 416 Type: value of 1 indicating BIER Tree Type. 418 Length: 1 octet. 420 Tree Type: The only supported value in this specification is 0 and 421 indicates that BIER uses normal SPF computed reachability to 422 construct BIFT. BIER implementation following this RFC MUST 423 ignore the node for purposes of the sub-domain if this 424 field has any value except 0. 426 Tree type specific opaque data: Opaque data up to the length of the 427 TLV carrying tree type specific parameters. For Tree Type 0 (SPF) 428 no such data is included and therefore TLV Length is 1. 430 7. Security Considerations 432 Implementations must assure that malformed TLV and Sub-TLV 433 permutations do not result in errors which cause hard protocol 434 failures. 436 8. Acknowledgements 438 The RFC is aligned with the 439 [I-D.draft-ietf-bier-ospf-bier-extensions-00] draft as far as the 440 protocol mechanisms overlap. 442 Many thanks for comments from (in no particular order) Hannes 443 Gredler, Ijsbrand Wijnands, Peter Psenak and Chris Bowers. 445 9. Normative References 447 [I-D.draft-ginsberg-isis-prefix-attributes] 448 Ginsberg et al., U., "IS-IS Prefix Attributes for Extended 449 IP and IPv6 Reachability", internet-draft draft-ginsberg- 450 isis-prefix-attributes-01.txt, October 2014. 452 [I-D.draft-ietf-bier-architecture-00] 453 Wijnands, IJ., "Stateless Multicast using Bit Index 454 Explicit Replication Architecture", internet-draft draft- 455 ietf-bier-architecture-00.txt, April 2015. 457 [I-D.draft-ietf-bier-ospf-bier-extensions-00] 458 Psenak, P. and IJ. Wijnands, "OSPF Extension for Bit Index 459 Explicit Replication", internet-draft draft-ietf-ospf- 460 prefix-link-attr-01.txt, April 2015. 462 [I-D.draft-wijnands-mpls-bier-encapsulation-02] 463 Wijnands et al., IJ., "Bit Index Explicit Replication 464 using MPLS encapsulation", internet-draft draft-wijnands- 465 mpls-bier-encapsulation-02.txt, February 2014. 467 [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and 468 dual environments", RFC 1195, December 1990. 470 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 471 Requirement Levels", BCP 14, RFC 2119, March 1997. 473 [RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi 474 Topology (MT) Routing in Intermediate System to 475 Intermediate Systems (IS-ISs)", RFC 5120, February 2008. 477 [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic 478 Engineering", RFC 5305, October 2008. 480 [RFC5308] Hopps, C., "Routing IPv6 with IS-IS", RFC 5308, October 481 2008. 483 [RFC6513] Rosen, E. and R. Aggarwal, "Multicast in MPLS/BGP IP 484 VPNs", RFC 6513, February 2012. 486 Authors' Addresses 488 Les Ginsberg (editor) 489 Cisco Systems 490 510 McCarthy Blvd. 491 Milpitas, CA 95035 492 USA 494 Email: ginsberg@cisco.com 496 Tony Przygienda 497 Ericsson 498 300 Holger Way 499 San Jose, CA 95134 500 USA 502 Email: antoni.przygienda@ericsson.com 504 Sam Aldrin 505 Google 506 1600 Amphitheatre Parkway 507 Mountain View, CA 508 USA 510 Email: aldrin.ietf@gmail.com 512 Jeffrey (Zhaohui) Zhang 513 Juniper Networks, Inc. 514 10 Technology Park Drive 515 Westford, MA 01886 516 USA 518 Email: zzhang@juniper.net