idnits 2.17.1 draft-ietf-bier-ipv6-requirements-08.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 doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (September 24, 2020) is 1303 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Unused Reference: 'RFC2473' is defined on line 279, but no explicit reference was found in the text == Outdated reference: A later version (-10) exists of draft-xie-bier-ipv6-encapsulation-08 == Outdated reference: A later version (-09) exists of draft-zhang-bier-bierin6-07 Summary: 0 errors (**), 0 flaws (~~), 5 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group M. McBride 3 Internet-Draft Futurewei 4 Intended status: Informational J. Xie 5 Expires: March 28, 2021 X. Geng 6 S. Dhanaraj 7 Huawei 8 R. Asati 9 Cisco 10 Y. Zhu 11 China Telecom 12 G. Mishra 13 Verizon Inc. 14 Z. Zhang 15 Juniper 16 September 24, 2020 18 BIER IPv6 Requirements 19 draft-ietf-bier-ipv6-requirements-08 21 Abstract 23 There have been several proposed solutions with BIER being used in 24 IPv6. But there hasn't been a document which describes the problem 25 and lists the requirements. The goal of this document is to describe 26 the general BIER IPv6 encapsulation problem, summarize the 27 encapsulation modes of the proposed solutions, detail solution 28 requirements, and assist the working group in the development of 29 acceptable solutions. 31 Status of This Memo 33 This Internet-Draft is submitted in full conformance with the 34 provisions of BCP 78 and BCP 79. 36 Internet-Drafts are working documents of the Internet Engineering 37 Task Force (IETF). Note that other groups may also distribute 38 working documents as Internet-Drafts. The list of current Internet- 39 Drafts is at https://datatracker.ietf.org/drafts/current/. 41 Internet-Drafts are draft documents valid for a maximum of six months 42 and may be updated, replaced, or obsoleted by other documents at any 43 time. It is inappropriate to use Internet-Drafts as reference 44 material or to cite them other than as "work in progress." 46 This Internet-Draft will expire on March 28, 2021. 48 Copyright Notice 50 Copyright (c) 2020 IETF Trust and the persons identified as the 51 document authors. All rights reserved. 53 This document is subject to BCP 78 and the IETF Trust's Legal 54 Provisions Relating to IETF Documents 55 (https://trustee.ietf.org/license-info) in effect on the date of 56 publication of this document. Please review these documents 57 carefully, as they describe your rights and restrictions with respect 58 to this document. Code Components extracted from this document must 59 include Simplified BSD License text as described in Section 4.e of 60 the Trust Legal Provisions and are provided without warranty as 61 described in the Simplified BSD License. 63 Table of Contents 65 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 66 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 67 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 68 2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 3 69 3. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 4 70 3.1. Mandatory Requirements . . . . . . . . . . . . . . . . . 4 71 3.1.1. Support various L2 link types . . . . . . . . . . . . 4 72 3.1.2. Support BIER architecture . . . . . . . . . . . . . . 4 73 3.1.3. Support deployment with Non-BFR routers . . . . . . . 5 74 3.1.4. Support OAM . . . . . . . . . . . . . . . . . . . . . 5 75 3.2. Optional Requirements . . . . . . . . . . . . . . . . . . 5 76 3.2.1. Support Fragmentation . . . . . . . . . . . . . . . . 5 77 3.2.2. Support IPSEC ESP . . . . . . . . . . . . . . . . . . 5 78 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 79 5. Security Considerations . . . . . . . . . . . . . . . . . . . 6 80 6. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 6 81 7. Normative References . . . . . . . . . . . . . . . . . . . . 6 82 Appendix A. Conceptual Models For BIER IPv6 Encapsulation and 83 Forwarding . . . . . . . . . . . . . . . . . . . . . 7 84 A.1. Independent Model . . . . . . . . . . . . . . . . . . . . 7 85 A.2. Integrated Model . . . . . . . . . . . . . . . . . . . . 8 86 Appendix B. List of Solutions . . . . . . . . . . . . . . . . . 9 87 B.1. Integrated mode approach . . . . . . . . . . . . . . . . 9 88 B.2. Independent model approach . . . . . . . . . . . . . . . 10 89 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 91 1. Introduction 93 Bit Index Explicit Replication (BIER) [RFC8279] is an architecture 94 that provides optimal multicast forwarding, without requiring 95 intermediate routers to maintain per-flow state, through the use of a 96 multicast-specific BIER header. [RFC8296] defines two types of BIER 97 encapsulation: one is BIER MPLS encapsulation for MPLS environments, 98 the other is non-MPLS BIER encapsulation to run without MPLS. This 99 document describes non-MPLS BIER encapsulation in IPv6 environments. 100 We explain the requirements of transporting IPv4/IPv6 multicast 101 overlay payload through an IPv6 network underlay using BIER. The 102 solutions may require the use of IPv6 forwarding plane and may 103 include IPv6 encapsulation and/or generic IPv6 tunnelling. 105 1.1. Requirements Language 107 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 108 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 109 document are to be interpreted as described in RFC 2119 [RFC2119]. 111 1.2. Terminology 113 o BIER: Bit Index Explicit Replication. Provides optimal multicast 114 forwarding through adding a BIER header and removing state in 115 intermediate routers. 117 2. Problem Statement 119 The problem is how to transport multicast packets, with non-MPLS BIER 120 encapsulation, in an IPv6 environment. We need to determine where to 121 put the BIER header in this IPv6 environment. With IPv6 122 encapsulation being increasingly used for unicast services, such as 123 VPN or L2VPN, it may be desirable to have IPv6 encapsulation also 124 used in BIER deployments for multicast services such as MVPN. It may 125 also be desirable to not use IPv6 encapsulation except when IPv6 126 tunneling (native or GRE/UDP-like) is used to transport BIER packets 127 over BIER-incapable routers. 129 Below is a simple scenario that needs BIER IPv6-based forwarding: 131 +--------------------------------------------+ 132 | | 133 | +------+ 134 | | BFER | 135 +------+ +-------+ +-----+ +------+ 136 | BFIR | |Non-BFR| | BFR | | 137 +------+ +-------+ +-----+ +------+ 138 | | BFER | 139 | IPv6 Network +------+ 140 | | 141 +--------------------------------------------+ 143 This scenario depicts the need to replicate BIER packets from a BFIR 144 to BFERs across an IPv6 Service Provider core. Inside the IPv6 145 network, the BIER header is used to direct the packet from one BFR to 146 the next BFRs, and either a IPv6 header or an L2/tunnel header is 147 used to provide reachability between BFRs. The IPv6 environment may 148 include a variety of link types, may be entirely IPv6, or may be dual 149 stack. There may be cases where not all routers are BFR capable in 150 the IPv6 environment but still want to deploy BIER. Regardless of 151 the environment, the problem is to deploy BIER, with non-MPLS BIER 152 encapsulation, in an IPv6 network. 154 3. Requirements 156 There are several suggested requirements for BIER IPv6 solutions. 158 In this document, the requirements are divided into two levels: 159 Mandatory and Optional. The requirement levels are determined based 160 on the following factors: 162 If the requirement is required for a feature that is likely to be 163 a potential deployment, the requirement level will be considered 164 mandatory. 166 If the impact of not implementing the requirement may block BIER 167 from been deployed, the requirement level will be considered 168 mandatory. 170 3.1. Mandatory Requirements 172 Considering that these mandatory requirements are all well-known to 173 the working group, and practical in normal deployment, they will be 174 listed without a detailed description. 176 3.1.1. Support various L2 link types 178 The solution should support various kinds of L2 data link types. 180 3.1.2. Support BIER architecture 182 The solution must support the BIER architecture. 184 Supporting different multicast flow overlays, multiple sub-domains, 185 multi-topologies, multiple sets, multiple Bit String Lengths, and 186 deterministic ECMP are considered essential functions of BIER and 187 need to be supported. 189 3.1.3. Support deployment with Non-BFR routers 191 The solution must support deployments with BIER-incapable routers. 192 This is beneficial to the deployment of BIER, especially in early 193 deployments when some routers do not support BIER forwarding but 194 support IPv6 forwarding. 196 3.1.4. Support OAM 198 BIER OAM should be supported, either directly using existing methods, 199 or by specifying a new method for the same functionality. It may be 200 considered essential as part of the BIER architecture in some cases. 202 3.2. Optional Requirements 204 The requirements in this section are listed as optional, and each 205 requirement is explained with a detailed scenario. Note that 206 fragmentation and IPSEC ESP are not BIER functions, they are provided 207 by the upper IP layer. 209 3.2.1. Support Fragmentation 211 There are some cases where the Fragmentation/Assembly function is 212 needed for BIER to work in an IPv6 network. 214 For example, a customer IPv6 multicast packet may be 1280 bytes and 215 is required to be transported through an IPv6 network using BIER. 216 Every link of the IPv6 network is no less than the requisite 1280 217 bytes [RFC8200], but the size of the payload that can be encapsulated 218 in BIER (BIER-MTU) is less than 1280 bytes. In this case, it is not 219 the appropriate action for a BFIR to drop the packet and advertise an 220 MTU to the source [RFC8296]. Instead, the IPv6 transport mechanism, 221 either integrated with or independent to BIER, need to provide the 222 fragmentation and assembly function. 224 3.2.2. Support IPSEC ESP 226 There are some cases where the IPSEC ESP function may be needed to 227 transport c-multicast packets through an IPv6 network with 228 confidentiality using BIER technology. 230 A service provider may want to provide additional security SLA to its 231 customer to ensure that the unencrypted c-multicast packet is not 232 altered in the service provider's network. In this case, if the BIER 233 technology is preferred for the multicast service, BIER with IPSEC 234 ESP support may be a candidate solution. On the other hand, the 235 traffic protection may be better provided via IPSEC or MACSEC at 236 multicast flow overlay over and beyond the BIER domain. 238 4. IANA Considerations 240 Some BIER IPv6 encapsulation proposals do not require any action from 241 IANA while other proposals require new IPv6 Option codepoints from 242 IPv6 sub-registries, new "Next header" values, or require new IP 243 Protocol codes. This document, however, does not require anything 244 from IANA. 246 5. Security Considerations 248 There are no security issues introduced by this draft. 250 6. Acknowledgement 252 Thanks to Eric Rosen for his listed set of initial requirements on 253 the BIER WG mailing list. 255 7. Normative References 257 [I-D.pfister-bier-over-ipv6] 258 Pfister, P. and I. Wijnands, "An IPv6 based BIER 259 Encapsulation and Encoding", draft-pfister-bier-over- 260 ipv6-01 (work in progress), October 2016. 262 [I-D.xie-bier-ipv6-encapsulation] 263 Xie, J., Geng, L., McBride, M., Asati, R., Dhanaraj, S., 264 Zhu, Y., Qin, Z., Shin, M., Mishra, G., and X. Geng, 265 "Encapsulation for BIER in Non-MPLS IPv6 Networks", draft- 266 xie-bier-ipv6-encapsulation-08 (work in progress), July 267 2020. 269 [I-D.zhang-bier-bierin6] 270 Zhang, Z., Zhang, Z., Wijnands, I., Bidgoli, H., and M. 271 McBride, "BIER in IPv6 (BIERin6)", draft-zhang-bier- 272 bierin6-07 (work in progress), July 2020. 274 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 275 Requirement Levels", BCP 14, RFC 2119, 276 DOI 10.17487/RFC2119, March 1997, 277 . 279 [RFC2473] Conta, A. and S. Deering, "Generic Packet Tunneling in 280 IPv6 Specification", RFC 2473, DOI 10.17487/RFC2473, 281 December 1998, . 283 [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 284 (IPv6) Specification", STD 86, RFC 8200, 285 DOI 10.17487/RFC8200, July 2017, 286 . 288 [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 289 Przygienda, T., and S. Aldrin, "Multicast Using Bit Index 290 Explicit Replication (BIER)", RFC 8279, 291 DOI 10.17487/RFC8279, November 2017, 292 . 294 [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 295 Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation 296 for Bit Index Explicit Replication (BIER) in MPLS and Non- 297 MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January 298 2018, . 300 Appendix A. Conceptual Models For BIER IPv6 Encapsulation and 301 Forwarding 303 This analysis introduces two conceptual models for BIER in IPv6 304 networks based on the experience and solutions discussed in the IETF 305 community. 307 A.1. Independent Model 309 The first conceptual model is an Independent Model, where IPv6 is 310 nothing special to BIER but a transportation means that may be used 311 just like other transportation means, and BIER is nothing special to 312 IPv6 but a payload type just like other payload types. 314 |<<-----(BIER-based multicast overlay)----->>| 315 | | 316 |<---------(L2.5 BIER(P2MP) Tunnel)--------->| 317 | | 318 | TEP TEP TEP TEP | 319 | +~~~~~~~~~~~~~~~~~~+ +BIER+ | 320 | / \ / \ | 321 +------+ +-------+ +-----+ or +------+ 322 | BFIR |-------|Non-BFR|-------| BFR |--BIER--| BFER | 323 +------+ +-------+ +-----+ +------+ 324 ------- L2 link 326 ~~~~~~~ IPv6(P2P) tunnel (TEP = Tunnel EndPoint) 328 <-----> BIER(P2MP) tunnel 330 In this model, an IPv6 tunnel works as a link-layer of BIER, and BIER 331 works as a layer-2.5 over tunnels or L2 links. Between two BFRs, 332 either a L2 link can be used directly or any tunnel (IPv6 or not) can 333 be used for BIER transport. In the tunnel case, the transmitting BFR 334 adds tunnel encapsulation (e.g. IPv6 header) and the receiving BFR 335 removes the tunnel encapsulation. 337 General consideration of this model is to keep BIER and IPv6 338 independent of each other. The BIER header is not part of the IPv6 339 header but comes after the transport header (L2 or tunnel header) and 340 before BIER payload. 342 A.2. Integrated Model 344 The second conceptual model is an Integrated Model that integrates 345 BIER as part of the IPv6 data plane, making it a "Layer-3 BIER" 346 approach. 348 |<<-----(BIER-based multicast overlay)----->>| 349 | | 350 |<----------(L3 BIER(P2MP) tunnel)---------->| 351 | | 352 | SEP SEP SEP SEP | 353 | +~~~~~~~~~~~~~~~~~~+ +~~~~+ | 354 | / \ / \ | 355 +------+ +-------+ +-----+ +------+ 356 | BFIR |-------|Non-BFR|-------| BFR |--------| BFER | 357 +------+ +-------+ +-----+ +------+ 359 ------- L2 link 361 ~~~~~~~ IPv6(P2P) segment (SEP = Segment EndPoint) 363 <-----> BIER(P2MP) tunnel 365 In this model, BIER works as part of the IPv6 data plane. The BFIR 366 and BFERs work as IPv6 (P2MP) tunnel endpoints, and BFRs work as IPv6 367 segment endpoints. The BIER header is processed on each segment 368 endpoint and there is no decapsulation, or re-encapsulation, on the 369 segment endpoints. 371 This model typically needs an IPv6 extension header to carry the BIER 372 header. and processing of the BIER header (e.g., the BitString) will 373 be implemented as part of the IPv6 extension header processing. The 374 IPv6 source address is the BIER packet source-origin identifier, and 375 is unchanged through the BIER domain from BFIR to BFERs. 377 General consideration of this model is to use the IPv6 capabilities 378 integrated, in addition to normal BIER function, to facilitate new 379 requirements that may emerge in an IPv6 network. 381 Appendix B. List of Solutions 383 There have been some proposed solutions for BIER in IPv6 384 environments. Some solutions propose encoding while others propose 385 encapsulation. It is recommended for the wg to evaluate these 386 solutions, against the requirements listed previously, in order to 387 make informed decisions on solution readiness. 389 This section lists these solutions categorizing in the two conceptual 390 models. 392 B.1. Integrated mode approach 394 One example of this model is defined in [I-D.pfister-bier-over-ipv6], 395 where the information required for BIER forwarding, e.g., the 396 BitString, is encoded in the low-order bits of the IPv6 destination 397 address of each packet. The high-order bits of the IPv6 destination 398 address are used by intermediate routers for unicast forwarding, 399 deciding whether a packet is a BIER packet, and if so, to identify 400 the BIER Sub-Domain, Set Identifier and BitString length. The BIER 401 function is integrated in the IPv6 header and its forwarding 402 procedure, and the BIER payload is encapsulated as the IPv6 payload. 404 +---------------+------------------- 405 | IPv6 header | payload 406 | (BitString in | 407 | DA lower bits)| 408 | Next Header | 409 +---------------+------------------- 411 Another example of this model is defined in 412 [I-D.xie-bier-ipv6-encapsulation], where information required for 413 BIER forwarding, e.g., the BIER header, is encoded in an Option TLV 414 (indicated by an Option Type to be allocated by IANA) of the IPv6 415 Destination Option Header. The third-highest-order bit of the Option 416 Type is set to 1 to allow Option Data (e.g., the BitString) change en 417 route. The BIER function is integrated in IPv6 extension header and 418 its forwarding procedure, and the BIER payload is encapsulated as the 419 IPv6 payload. 421 +---------------+-----------------+------------------- 422 | IPv6 header | IPv6 Ext header | payload 423 | | (BIER header in | 424 | | TLV Type = X) | 425 | Next Header | Next Header | 426 +---------------+-----------------+------------------- 428 B.2. Independent model approach 430 One example of this model is defined in [I-D.zhang-bier-bierin6], 431 where the BIER header and the payload following it are L2 payload 432 when feasible (e.g. when two BFRs are directly connected) or IPv6 433 payload when IPv6 transport is needed/desired (e.g. when two BFRs are 434 not directly connected). This is indicated by either a 0xAB37 435 Ethertype allocated to BIER or a new IPv6 Next-Header value to be 436 allocated by IANA. 438 +---------------+-----------------+------------------- 439 | Ethernet | BIER header | payload 440 | (ethType = | (BIFT-id, ...) | 441 | 0xAB37) | | 442 | | Next Header | 443 +---------------+-----------------+------------------- 445 +---------------+-----------------+------------------- 446 | IPv6 header | IPv6 Ext header | BIER Hdr + payload 447 | | (optional) | as IPv6 payload 448 | | | 449 | Next Header | Next Header = X | 450 +---------------+-----------------+------------------- 452 While not specified in [I-D.zhang-bier-bierin6], any other tunnel 453 types supported by the IPv6 environment could be used, e.g. IPv6 454 GRE/UDP: 456 +---------------+-----------------+------------+---------------- 457 | IPv6 header | IPv6 Ext header | GRE header | 458 | | (optional) | | BIER Hdr + 459 | | | | payload as GRE 460 | Next Header | Next Header |Proto=0xAB37| Payload 461 +---------------+-----------------+------------+---------------- 463 +---------------+-----------------+------------+---------------- 464 | IPv6 header | IPv6 Ext header | UDP header | 465 | | (optional) | | BIER Hdr + 466 | | | | payload as UDP 467 | Next Header |Next Header =UDP | DPort=TBD | Payload 468 +---------------+-----------------+------------+---------------- 470 Authors' Addresses 472 Mike McBride 473 Futurewei 475 Email: michael.mcbride@futurewei.com 477 Jingrong Xie 478 Huawei 480 Email: xiejingrong@huawei.com 482 Xuesong Geng 483 Huawei 485 Email: gengxuesong@huawei.com 487 Senthil Dhanaraj 488 Huawei 490 Email: senthil.dhanaraj@huawei.com 492 Rajiv Asati 493 Cisco 495 Email: rajiva@cisco.com 497 Yongqing Zhu 498 China Telecom 500 Email: zhuyq8@chinatelecom.cn 502 Gyan Mishra 503 Verizon Inc. 505 Email: gyan.s.mishra@verizon.com 507 Zhaohui Zhang 508 Juniper 510 Email: zzhang@juniper.net