idnits 2.17.00 (12 Aug 2021) /tmp/idnits33530/draft-ietf-bier-bierin6-01.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 (8 December 2021) is 164 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: 'RFC6437' is defined on line 338, but no explicit reference was found in the text == Unused Reference: 'RFC8401' is defined on line 364, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-bier-bar-ipa' is defined on line 371, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-bier-idr-extensions' is defined on line 385, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-bier-ipv6-requirements' is defined on line 392, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-bier-ospfv3-extensions' is defined on line 416, but no explicit reference was found in the text == Unused Reference: 'I-D.zhang-bier-babel-extensions' is defined on line 461, but no explicit reference was found in the text == Outdated reference: A later version (-13) exists of draft-ietf-bier-bar-ipa-09 == Outdated reference: A later version (-02) exists of draft-ietf-bier-bfd-01 == Outdated reference: A later version (-04) exists of draft-ietf-bier-lsr-ethernet-extensions-02 == Outdated reference: A later version (-12) exists of draft-ietf-bier-path-mtu-discovery-11 == Outdated reference: A later version (-12) exists of draft-ietf-bier-pmmm-oam-11 == Outdated reference: A later version (-01) exists of draft-ietf-bier-prefix-redistribute-00 == Outdated reference: A later version (-03) exists of draft-xzlnp-bier-ioam-02 == Outdated reference: A later version (-07) exists of draft-zhang-bier-babel-extensions-06 Summary: 0 errors (**), 0 flaws (~~), 16 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 BIER Z. Zhang 3 Internet-Draft ZTE Corporation 4 Intended status: Standards Track Z. Zhang, Ed. 5 Expires: 11 June 2022 Juniper Networks 6 I. Wijnands 7 Individual 8 M. Mishra 9 Cisco Systems 10 H. Bidgoli 11 Nokia 12 G. Mishra 13 Verizon 14 8 December 2021 16 Supporting BIER in IPv6 Networks (BIERin6) 17 draft-ietf-bier-bierin6-01 19 Abstract 21 BIER is a new architecture for the forwarding of multicast data 22 packets without requiring per-flow state inside the network. This 23 document describes how the existing BIER encapsulation specified in 24 RFC 8296 works in an IPv6 non-MPLS network, referred to as BIERin6. 25 Specifically, like in an IPv4 network, BIER can work over L2 links 26 directly or over tunnels. In case of IPv6 tunneling, a new IP "Next 27 Header" type is to be assigned for BIER. 29 Requirements Language 31 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 32 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 33 "OPTIONAL" in this document are to be interpreted as described in BCP 34 14 [RFC2119] [RFC8174] when, and only when, they appear in all 35 capitals, as shown here. 37 Status of This Memo 39 This Internet-Draft is submitted in full conformance with the 40 provisions of BCP 78 and BCP 79. 42 Internet-Drafts are working documents of the Internet Engineering 43 Task Force (IETF). Note that other groups may also distribute 44 working documents as Internet-Drafts. The list of current Internet- 45 Drafts is at https://datatracker.ietf.org/drafts/current/. 47 Internet-Drafts are draft documents valid for a maximum of six months 48 and may be updated, replaced, or obsoleted by other documents at any 49 time. It is inappropriate to use Internet-Drafts as reference 50 material or to cite them other than as "work in progress." 52 This Internet-Draft will expire on 11 June 2022. 54 Copyright Notice 56 Copyright (c) 2021 IETF Trust and the persons identified as the 57 document authors. All rights reserved. 59 This document is subject to BCP 78 and the IETF Trust's Legal 60 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 61 license-info) in effect on the date of publication of this document. 62 Please review these documents carefully, as they describe your rights 63 and restrictions with respect to this document. Code Components 64 extracted from this document must include Revised BSD License text as 65 described in Section 4.e of the Trust Legal Provisions and are 66 provided without warranty as described in the Revised BSD License. 68 Table of Contents 70 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 71 1.1. BIER over L2/Tunnels . . . . . . . . . . . . . . . . . . 3 72 1.2. Considerations of Requirements for BIER in IPv6 73 Networks . . . . . . . . . . . . . . . . . . . . . . . . 4 74 2. IPv6 Header . . . . . . . . . . . . . . . . . . . . . . . . . 5 75 2.1. IPv6 Options Considerations . . . . . . . . . . . . . . . 6 76 3. BIER Header . . . . . . . . . . . . . . . . . . . . . . . . . 6 77 4. IPv6 Encapsulation Advertisement . . . . . . . . . . . . . . 6 78 4.1. Format . . . . . . . . . . . . . . . . . . . . . . . . . 6 79 4.2. Inter-area prefix redistribution . . . . . . . . . . . . 7 80 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 81 6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 82 7. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 8 83 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 84 8.1. Normative References . . . . . . . . . . . . . . . . . . 8 85 8.2. Informative References . . . . . . . . . . . . . . . . . 8 86 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 88 1. Introduction 90 BIER [RFC8279] is a new architecture for the forwarding of multicast 91 data packets. It provides optimal forwarding through a "multicast 92 domain" and it does not precondition construction of a multicast 93 distribution tree, nor does it require intermediate nodes to maintain 94 any per-flow state. 96 This document specifies non-MPLS BIER forwarding in an IPv6 [RFC8200] 97 environment, referred to as BIERin6, using non-MPLS BIER 98 encapsulation specified in [RFC8296]. 100 MPLS BIER forwarding in IPv6 is outside the scope of this document. 102 This document uses terminology defined in [RFC8279] and [RFC8296]. 104 1.1. BIER over L2/Tunnels 106 [RFC8296] defines the BIER encapsulation format in MPLS and non-MPLS 107 environment. In case of non-MPLS environment, a BIER packet is the 108 payload of an "outer" encapsulation, which has a "next header" 109 codepoint that is set to a value that means "non-MPLS BIER". This 110 "BIER over L2/Tunnel" model can be used as is in an IPv6 non-mpls 111 environment, and is referred to as BIERin6. 113 If a BFR needs to tunnel BIER packets to another BFR, e.g. per 114 [RFC8279] Section 6.9, while any type of tunnel will work, for best 115 efficiency native IPv6 encapsulation can be used with the destination 116 address being the downstream BFR and the Next Header field set to a 117 to-be-assigned value for "non-MPLS BIER". 119 +---------------+------------------------ 120 | IPv6 header | BIER header + data 121 | | 122 | Next Header = | 123 | BIER | 124 +---------------+------------------------ 126 Between two directly connected BFRs, a BIER header can directly 127 follow link layer header, e.g., an Ethernet header (with the 128 Ethertype set to 0xAB37). Optionally, IPv6 encapsulation can be used 129 even between directly connected BFRs (i.e. one-hop IPv6 tunneling) in 130 the following two cases: 132 * An operator mandates all traffic to be carried in IPv6. 134 * A BFR does not have BIER support in its "fast forwarding path" and 135 relies on "slow/software forwarding path", e.g. in environments 136 like [RFC7368] where high throughput multicast forwarding 137 performance is not critical. 139 1.2. Considerations of Requirements for BIER in IPv6 Networks 141 [draft-ietf-bier-ipv6-requirements] lists mandatory and optional 142 requirements for BIER in IPv6 Networks. As a solution based on the 143 BIER over L2/tunnel model [RFC8296], BIERin6 satisfies all the 144 mandatory requirements. 146 For the two optional requirements for fragmentation and Encapsulating 147 Security Payload (ESP), they can be satisfied by one of two ways: 149 * IPv6 based fragmentation/ESP: a BFIR encapsulates the payload in 150 IPv6 with fragmentation and/or ESP header, and then the IPv6 151 packets are treated as BIER payload. 153 * Generic Fragmentation/ESP 154 [I-D.zzhang-tsvwg-generic-transport-functions]: a BFIR does 155 generic fragmentation and/or ESP (without using IPv6 156 encapsulation) and the resulting packets are treated as BIER 157 payload. 159 Either way, the fragmentation/ESP is handled by a layer outside of 160 BIER and then the resulting packets are treated as BIER payload. 162 BIERin6 does support SRv6 based overlay services (e.g. MVPN/EVPN). 163 One of the following methods can be used (relevant overlay signaling 164 will be specified separately): 166 * An ingress PE (which is a BFIR) can encapsulate customer packets 167 with an IPv6 header (with optional fragmentation and ESP extension 168 headers). The destination address is a multicast locator plus the 169 Fucn/Arg portion that identifies the service. That IPv6 packet is 170 then treated as BIER payload. An egress PE (which is a BFER) uses 171 the standard SRv6 procedures to forward the IPv6 packet that is 172 exposed after the BIER header is decapsulated. 174 * Alternatively, since only the destination IPv6 address in the 175 above-mentioned IPv6 header is used for service delimiting 176 purpose, a new value can be assigned for the Proto field in the 177 BIER header to indicate that an IPv6 address (instead of an entire 178 IPv6 header) is added between the BIER header and original 179 payload. 181 BIERin6 being a solution based on [RFC8279] [RFC8296], ECMP is 182 inherently supported by BFRs using the the 20-bit entropy field in 183 the BIER header for the load balancing hash. When a BIER packet is 184 transported over an IPv6 tunnel, the entropy value is copied into the 185 20-bit IPv6 Flow Label (instead of using local 5-tuple input key to a 186 hash function to locally generate the stateless 20-bit flow label) so 187 that routers along the tunnel can do ECMP based on Flow Labels. For 188 a router along the tunnel doing deep packet inspection for ECMP 189 purpose, if it understands BIER header it can go past the BIER header 190 to look for the 5-tuple input key to a hash function, otherwise it 191 stops at the BIER header. In either case the router will not mistake 192 the BIER header as an IP header so no misordering should happen. 194 BIER has its own OAM functions independent of those related to the 195 underlying links or tunnels. With BIERin6 following the "BIER over 196 L2/tunnel" model, IPv6 OAM function and BIER OAM functions are used 197 independently for their own purposes. 199 Specifically, BIERin6 works with all of the following OAM methods, or 200 any future methods that are based on the "BIER over L2/tunnel" model: 202 * BIER OAM specified in [I-D.ietf-bier-ping] 204 * BIER BFD specified in [I-D.ietf-bier-bfd] 206 * BIER Performance Measurement specified in [I-D.ietf-bier-pmmm-oam] 208 * BIER Path Maximum Transmission Unit Discovery specified in 209 [I-D.ietf-bier-path-mtu-discovery] 211 * BIER IOAM specified in [I-D.xzlnp-bier-ioam] 213 2. IPv6 Header 215 Whenever IPv6 encapsulation is used for BIER forwarding, The Next 216 Header field in the IPv6 Header (if there are no extension headers), 217 or the Next Header field in the last extension header is set to TBD, 218 indicating that the payload is a BIER packet. 220 If the neighbor is directly connected, The destination address in 221 IPv6 header SHOULD be the neighbor's link-local address on this 222 router's outgoing interface, the source destination address SHOULD be 223 this router's link-local address on the outgoing interface, and the 224 IPv6 TTL MUST be set to 1. Otherwise, the destination address SHOULD 225 be the BIER prefix of the BFR neighbor, the source address SHOULD be 226 this router's BIER prefix, and the TTL MUST be large enough to get 227 the packet to the BFR neighbor. 229 The "Flow label" field in the IPv6 packet SHOULD be copied from the 230 entropy field in the BIER encapsulation. 232 2.1. IPv6 Options Considerations 234 For directly connected BIER routers, IPv6 Hop-by-Hop or Destination 235 options are irrelevant and SHOULD NOT be inserted by BFIR on the 236 BIERin6 packet. In this case IPv6 header, Next Header field should 237 be set to TBD. Any IPv6 packet arriving on BFRs and BFERs, with 238 multiple extension header where the last extension header has a Next 239 Header field set to TBD, SHOULD be discard and the node should 240 transmit an ICMP Parameter Problem message to the source of the 241 packet (BFIR) with an ICMP code value of TBD10 ('invalid options for 242 BIERin6'). 244 This also indicates that for disjoint BIER routers using IPv6 245 encapsulation, there SHOULD NOT be any IPv6 Hop-by-Hop or Destination 246 options be present in a BIERin6 packet. In this case, if additional 247 traffic engineering is required, IPv6 tunneling (i.e. BIERin6 over 248 SRv6) can be implemented. 250 3. BIER Header 252 The BIER header MUST be encoded per Section 2.2 of [RFC8296]. 254 The BIFT-id is either encoded per 255 [I-D.ietf-bier-non-mpls-bift-encoding] or per advertised by BFRs, as 256 specified in [I-D.ietf-bier-lsr-ethernet-extensions]. 258 4. IPv6 Encapsulation Advertisement 260 When IPv6 encapsulation is not required between directly connected 261 BFRs, no signaling in addition to that specified in 262 [I-D.ietf-bier-lsr-ethernet-extensions] is needed. 264 Otherwise, a node that requires IPv6 encapsulation MUST advertise the 265 BIER IPv6 transportation sub-sub-sub-TLV/sub-sub-TLV according to 266 local configuration or policy in the BIER domain to request other 267 BFRs to always use IPv6 encapsulation. 269 In presence of multiple encapsulation possibilities hop-by-hop it is 270 a matter of local policy which encapsulation is imposed and the 271 receiving router MUST accept all encapsulations that it advertised. 273 4.1. Format 275 The BIER IPv6 transportation is a new sub-sub-TLV of BIER Ethernet 276 Encapsulation sub-TLV defined in OSPFv3, and a new sub-sub-sub-TLV of 277 BIER Ethernet Encapsulation sub-sub-TLV defined in ISIS, as per 278 [I-D.ietf-bier-lsr-ethernet-extensions]. 280 0 1 2 3 281 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 282 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 283 | Type | Length | 284 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 286 * Type: For OSPF, value TBD1 (prefer 1) is used to indicate it is 287 the IPv6 transportation sub-TLV. For ISIS, value TBD2 (prefer 1) 288 is used to indicate it is the IPv6 transportation sub-sub-TLV. 290 * Length: 0. 292 4.2. Inter-area prefix redistribution 294 When BFR-prefixes are advertised across IGP areas per 295 [I-D.ietf-bier-lsr-ethernet-extensions] or redistributed across 296 protocol boundaries per [I-D.ietf-bier-prefix-redistribute], the BIER 297 IPv6 transportation sub-sub-TLV or sub-sub-sub-TLV MAY be re- 298 advertised/re-distributed as well. 300 5. IANA Considerations 302 IANA is requested to assign a new "BIER" type for "Next Header" in 303 the "Assigned Internet Protocol Numbers" registry. 305 IANA is requested to assign a new "BIERin6" type for "invalid 306 options" in the "ICMP code value" registry. 308 IANA is requested to assign a new "BIER IPv6 transportation Sub-sub- 309 TLV" type in the "OSPFv3 BIER Ethernet Encapsulation sub-TLV" 310 Registry. 312 IANA is requested to set up a new "BIER IPv6 transportation Sub-sub- 313 sub-TLV" type in the "IS-IS BIER Ethernet Encapsulation sub-sub-TLV" 314 Registry. 316 IANA is requested to allocate a new value "IPv6 Address" from "BIER 317 Next Protocol Identifiers" registry to indicate that an IPv6 address 318 is inserted between the BIER header and BIER payload. 320 6. Security Considerations 322 General IPv6 and BIER security considerations apply. 324 7. Acknowledgement 326 The authors would like to thank Tony Przygienda, Nagendra Kumar for 327 their review and valuable comments. 329 8. References 331 8.1. Normative References 333 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 334 Requirement Levels", BCP 14, RFC 2119, 335 DOI 10.17487/RFC2119, March 1997, 336 . 338 [RFC6437] Amante, S., Carpenter, B., Jiang, S., and J. Rajahalme, 339 "IPv6 Flow Label Specification", RFC 6437, 340 DOI 10.17487/RFC6437, November 2011, 341 . 343 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 344 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 345 May 2017, . 347 [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 348 (IPv6) Specification", STD 86, RFC 8200, 349 DOI 10.17487/RFC8200, July 2017, 350 . 352 [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 353 Przygienda, T., and S. Aldrin, "Multicast Using Bit Index 354 Explicit Replication (BIER)", RFC 8279, 355 DOI 10.17487/RFC8279, November 2017, 356 . 358 [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 359 Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation 360 for Bit Index Explicit Replication (BIER) in MPLS and Non- 361 MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January 362 2018, . 364 [RFC8401] Ginsberg, L., Ed., Przygienda, T., Aldrin, S., and Z. 365 Zhang, "Bit Index Explicit Replication (BIER) Support via 366 IS-IS", RFC 8401, DOI 10.17487/RFC8401, June 2018, 367 . 369 8.2. Informative References 371 [I-D.ietf-bier-bar-ipa] 372 Zhang, Z., Przygienda, A., Dolganow, A., Bidgoli, H., 373 Wijnands, I., and A. Gulko, "BIER Underlay Path 374 Calculation Algorithm and Constraints", Work in Progress, 375 Internet-Draft, draft-ietf-bier-bar-ipa-09, 24 October 376 2021, . 379 [I-D.ietf-bier-bfd] 380 Xiong, Q., Mirsky, G., Hu, F., and C. Liu, "BIER BFD", 381 Work in Progress, Internet-Draft, draft-ietf-bier-bfd-01, 382 8 April 2021, . 385 [I-D.ietf-bier-idr-extensions] 386 Xu, X., Chen, M., Patel, K., Wijnands, I., and A. 387 Przygienda, "BGP Extensions for BIER", Work in Progress, 388 Internet-Draft, draft-ietf-bier-idr-extensions-07, 6 389 September 2019, . 392 [I-D.ietf-bier-ipv6-requirements] 393 McBride, M., Xie, J., Geng, X., Dhanaraj, S., Asati, R., 394 Zhu, Y., Mishra, G., and Z. Zhang, "BIER IPv6 395 Requirements", Work in Progress, Internet-Draft, draft- 396 ietf-bier-ipv6-requirements-09, 28 September 2020, 397 . 400 [I-D.ietf-bier-lsr-ethernet-extensions] 401 Dhanaraj, S., Yan, G., Wijnands, I., Psenak, P., Zhang, 402 Z., and J. Xie, "LSR Extensions for BIER over Ethernet", 403 Work in Progress, Internet-Draft, draft-ietf-bier-lsr- 404 ethernet-extensions-02, 2 December 2020, 405 . 408 [I-D.ietf-bier-non-mpls-bift-encoding] 409 Wijnands, I., Mishra, M., Xu, X., and H. Bidgoli, "An 410 Optional Encoding of the BIFT-id Field in the non-MPLS 411 BIER Encapsulation", Work in Progress, Internet-Draft, 412 draft-ietf-bier-non-mpls-bift-encoding-04, 30 May 2021, 413 . 416 [I-D.ietf-bier-ospfv3-extensions] 417 Psenak, P., Nainar, N. K., and I. Wijnands, "OSPFv3 418 Extensions for BIER", Work in Progress, Internet-Draft, 419 draft-ietf-bier-ospfv3-extensions-05, 19 November 2021, 420 . 423 [I-D.ietf-bier-path-mtu-discovery] 424 Mirsky, G., Przygienda, T., and A. Dolganow, "Path Maximum 425 Transmission Unit Discovery (PMTUD) for Bit Index Explicit 426 Replication (BIER) Layer", Work in Progress, Internet- 427 Draft, draft-ietf-bier-path-mtu-discovery-11, 4 October 428 2021, . 431 [I-D.ietf-bier-ping] 432 Kumar, N., Pignataro, C., Akiya, N., Zheng, L., Chen, M., 433 and G. Mirsky, "BIER Ping and Trace", Work in Progress, 434 Internet-Draft, draft-ietf-bier-ping-07, 11 May 2020, 435 . 438 [I-D.ietf-bier-pmmm-oam] 439 Mirsky, G., Zheng, L., Chen, M., and G. Fioccola, 440 "Performance Measurement (PM) with Marking Method in Bit 441 Index Explicit Replication (BIER) Layer", Work in 442 Progress, Internet-Draft, draft-ietf-bier-pmmm-oam-11, 4 443 October 2021, . 446 [I-D.ietf-bier-prefix-redistribute] 447 Zhang, Z., Wu, B., Zhang, Z., Wijnands, I., and Y. Liu, 448 "BIER Prefix Redistribute", Work in Progress, Internet- 449 Draft, draft-ietf-bier-prefix-redistribute-00, 4 August 450 2020, . 453 [I-D.xzlnp-bier-ioam] 454 Min, X., Zhang, Z., Liu, Y., Nainar, N. K., and C. 455 Pignataro, "Bit Index Explicit Replication (BIER) 456 Encapsulation for In-situ OAM (IOAM) Data", Work in 457 Progress, Internet-Draft, draft-xzlnp-bier-ioam-02, 11 458 July 2021, . 461 [I-D.zhang-bier-babel-extensions] 462 Zhang, Z. and T. Przygienda, "BIER in BABEL", Work in 463 Progress, Internet-Draft, draft-zhang-bier-babel- 464 extensions-06, 7 November 2021, 465 . 468 [I-D.zzhang-tsvwg-generic-transport-functions] 469 Zhang, Z., Bonica, R., and K. Kompella, "Generic Transport 470 Functions", Work in Progress, Internet-Draft, draft- 471 zzhang-tsvwg-generic-transport-functions-00, 1 November 472 2020, . 475 [RFC7368] Chown, T., Ed., Arkko, J., Brandt, A., Troan, O., and J. 476 Weil, "IPv6 Home Networking Architecture Principles", 477 RFC 7368, DOI 10.17487/RFC7368, October 2014, 478 . 480 Authors' Addresses 482 Zheng(Sandy) Zhang 483 ZTE Corporation 485 Email: zhang.zheng@zte.com.cn 487 Zhaohui Zhang (editor) 488 Juniper Networks 490 Email: zzhang@juniper.net 492 IJsbrand Wijnands 493 Individual 495 Email: ice@braindump.be 497 Mankamana Mishra 498 Cisco Systems 500 Email: mankamis@cisco.com 502 Hooman Bidgoli 503 Nokia 505 Email: hooman.bidgoli@nokia.com 507 Gyan Mishra 508 Verizon 510 Email: gyan.s.mishra@verizon.com