idnits 2.17.00 (12 Aug 2021) /tmp/idnits32324/draft-ietf-bier-bierin6-03.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 document date (3 February 2022) is 107 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: 'I-D.ietf-bess-srv6-services' is defined on line 312, but no explicit reference was found in the text == Unused Reference: 'RFC6437' is defined on line 325, but no explicit reference was found in the text == Unused Reference: 'RFC8401' is defined on line 351, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-bier-bar-ipa' is defined on line 358, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-bier-idr-extensions' is defined on line 372, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-bier-ipv6-requirements' is defined on line 379, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-bier-ospfv3-extensions' is defined on line 403, but no explicit reference was found in the text == Unused Reference: 'I-D.zhang-bier-babel-extensions' is defined on line 448, but no explicit reference was found in the text == Outdated reference: A later version (-15) exists of draft-ietf-bess-srv6-services-09 == Outdated reference: A later version (-13) exists of draft-ietf-bier-bar-ipa-10 == 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-03 == 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 (-07) exists of draft-zhang-bier-babel-extensions-06 Summary: 0 errors (**), 0 flaws (~~), 15 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: 7 August 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 3 February 2022 16 Supporting BIER in IPv6 Networks (BIERin6) 17 draft-ietf-bier-bierin6-03 19 Abstract 21 BIER is a multicast forwarding architecture that does not require 22 per-flow state inside the network yet still provides optimal 23 replication. This document describes how the existing BIER 24 encapsulation specified in RFC 8296 works in a non-MPLS IPv6 network, 25 which is referred to as BIERin6. Specifically, like in an IPv4 26 network, BIER can work over L2 links directly or over tunnels. In 27 case of IPv6 tunneling, a new IP "Next Header" type is to be assigned 28 for BIER. 30 Requirements Language 32 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 33 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 34 "OPTIONAL" in this document are to be interpreted as described in BCP 35 14 [RFC2119] [RFC8174] when, and only when, they appear in all 36 capitals, as shown here. 38 Status of This Memo 40 This Internet-Draft is submitted in full conformance with the 41 provisions of BCP 78 and BCP 79. 43 Internet-Drafts are working documents of the Internet Engineering 44 Task Force (IETF). Note that other groups may also distribute 45 working documents as Internet-Drafts. The list of current Internet- 46 Drafts is at https://datatracker.ietf.org/drafts/current/. 48 Internet-Drafts are draft documents valid for a maximum of six months 49 and may be updated, replaced, or obsoleted by other documents at any 50 time. It is inappropriate to use Internet-Drafts as reference 51 material or to cite them other than as "work in progress." 53 This Internet-Draft will expire on 7 August 2022. 55 Copyright Notice 57 Copyright (c) 2022 IETF Trust and the persons identified as the 58 document authors. All rights reserved. 60 This document is subject to BCP 78 and the IETF Trust's Legal 61 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 62 license-info) in effect on the date of publication of this document. 63 Please review these documents carefully, as they describe your rights 64 and restrictions with respect to this document. Code Components 65 extracted from this document must include Revised BSD License text as 66 described in Section 4.e of the Trust Legal Provisions and are 67 provided without warranty as described in the Revised BSD License. 69 Table of Contents 71 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 72 1.1. BIER over L2/Tunnels . . . . . . . . . . . . . . . . . . 3 73 1.2. Considerations of Requirements for BIER in IPv6 74 Networks . . . . . . . . . . . . . . . . . . . . . . . . 4 75 2. IPv6 Header . . . . . . . . . . . . . . . . . . . . . . . . . 5 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 . . . . . . . . . . . . . . . . . . . . . . . 7 83 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 84 8.1. Normative References . . . . . . . . . . . . . . . . . . 7 85 8.2. Informative References . . . . . . . . . . . . . . . . . 8 86 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 88 1. Introduction 90 BIER [RFC8279] is a multicast forwarding architecture that does not 91 require per-flow state inside the network yet still provides optimal 92 replication. 94 BIER forwarding with MPLS is IPv4/IPv6 agnostic. This document 95 describes how BIER works in a non-MPLS IPv6 [RFC8200] environment 96 using non-MPLS BIER encapsulation [RFC8296], with optional procedures 97 specified for IPv6 specific features. 99 This document uses terminology defined in [RFC8279] and [RFC8296]. 101 1.1. BIER over L2/Tunnels 103 [RFC8296] defines the BIER encapsulation format for MPLS and non-MPLS 104 data planes. With a non-MPLS data plane, a BIER packet is the 105 payload of an "outer" encapsulation, which could be a L2 link or a 106 tunnel. The outer encapsulation has a "next header" field that is 107 set to a value for "non-MPLS BIER". This "BIER over L2/Tunnel" model 108 can be used as is in an IPv6 non-mpls environment, and is referred to 109 as BIERin6. 111 If a BFR needs to tunnel BIER packets to another BFR, e.g. per 112 [RFC8279] Section 6.9, while any type of tunnel will work, for best 113 efficiency native IPv6 encapsulation can be used with the destination 114 address being the downstream BFR and the Next Header field set to a 115 to-be-assigned value for BIER. 117 +---------------+------------------------ 118 | IPv6 header | BIER header + data 119 | | 120 | Next Header = | 121 | BIER | 122 +---------------+------------------------ 124 Between two directly connected BFRs, a BIER header can directly 125 follow link layer header, e.g., an Ethernet header (with the 126 Ethertype set to 0xAB37). Optionally, IPv6 encapsulation can be used 127 even between directly connected BFRs (i.e. one-hop IPv6 tunneling) in 128 the following two cases: 130 * An operator mandates all traffic to be carried in IPv6. 132 * A BFR does not have BIER support in its "fast forwarding path" and 133 relies on "slow/software forwarding path", e.g. in IPv6 Home 134 Networking [RFC7368] where high throughput multicast forwarding 135 performance is not critical. 137 1.2. Considerations of Requirements for BIER in IPv6 Networks 139 [draft-ietf-bier-ipv6-requirements] lists mandatory and optional 140 requirements for BIER in IPv6 Networks. As a solution based on the 141 BIER over L2/tunnel model [RFC8296], BIERin6 satisfies all the 142 mandatory requirements. 144 For the two optional requirements for fragmentation and Encapsulating 145 Security Payload (ESP), they can be satisfied by one of two ways: 147 * IPv6 based fragmentation/ESP: a BFIR encapsulates the payload in 148 IPv6 with fragmentation and/or ESP header, and then the IPv6 149 packets are treated as BIER payload. 151 * Generic Fragmentation/ESP 152 [I-D.zzhang-intarea-generic-delivery-functions]: a BFIR does 153 generic fragmentation and/or ESP (without using IPv6 154 encapsulation) and the resulting packets are treated as BIER 155 payload. 157 Either way, the fragmentation/ESP is handled by a layer outside of 158 BIER and then the resulting packets are treated as BIER payload. The 159 details are outside the scope of this document. 161 BIERin6 does support SRv6 based overlay services (e.g. MVPN/EVPN). 162 One of the following methods can be used (relevant overlay signaling 163 will be specified separately): 165 * An ingress PE (which is a BFIR) can encapsulate customer packets 166 with an IPv6 header (with optional fragmentation and ESP extension 167 headers). The destination address is a multicast locator plus the 168 Fucn/Arg portion that identifies the service. That IPv6 packet is 169 then treated as BIER payload. An egress PE (which is a BFER) uses 170 the standard SRv6 procedures to forward the IPv6 packet that is 171 exposed after the BIER header is decapsulated. 173 * Alternatively, since only the destination IPv6 address in the 174 above-mentioned IPv6 header is used for service delimiting 175 purpose, a new value can be assigned for the Proto field in the 176 BIER header to indicate that an SRv6 Service SID [I-D.ietf-bess- 177 srv6-services] (instead of an entire IPv6 header) is added between 178 the BIER header and original payload. The service SID serves the 179 same purpose as a service-indicating MPLS label does. For 180 example, an End.DT2/4/6 service SID could be used to route the 181 original payload in a corresponding VRF. 183 BIERin6 being a solution based on [RFC8279] [RFC8296], ECMP is 184 inherently supported by BFRs using the the 20-bit entropy field in 185 the BIER header for the load balancing hash. When a BIER packet is 186 transported over an IPv6 tunnel, the entropy value is copied into the 187 20-bit IPv6 Flow Label so that routers along the tunnel can do ECMP 188 based on Flow Labels (instead of hashing based on 5-tuple of an IP 189 packet). For a router along the tunnel doing deep packet inspection 190 for ECMP purpose, if it understands BIER header it can go past the 191 BIER header to look for the 5-tuple input key to a hash function. 192 Otherwise, it stops at the BIER header. In either case the router 193 will not mistake the BIER header as an IP header so no misordering 194 should happen. 196 BIER has its own OAM functions independent of those related to the 197 underlying links or tunnels. With BIERin6 following the "BIER over 198 L2/tunnel" model, IPv6 OAM function and BIER OAM functions are used 199 independently for their own purposes. 201 Specifically, BIERin6 works with all of the following OAM methods, or 202 any future methods that are based on the "BIER over L2/tunnel" model: 204 * BIER OAM specified in [I-D.ietf-bier-ping] 206 * BIER BFD specified in [I-D.ietf-bier-bfd] 208 * BIER Performance Measurement specified in [I-D.ietf-bier-pmmm-oam] 210 * BIER Path Maximum Transmission Unit Discovery specified in 211 [I-D.ietf-bier-path-mtu-discovery] 213 * BIER IOAM specified in [I-D.xzlnp-bier-ioam] 215 2. IPv6 Header 217 If IPv6 encapsulation is used to tunnel BIER packets (whether to a 218 direct or indirect BIER neighbor), the Next Header field in the IPv6 219 Header (if there are no extension headers), or the Next Header field 220 in the last extension header is set to TBD, indicating that the 221 payload is a BIER packet. 223 If the neighbor is directly connected, The destination address in 224 IPv6 header SHOULD be the neighbor's link-local address on this 225 router's outgoing interface. The source destination address SHOULD 226 be this router's link-local address on the outgoing interface, and 227 the TTL MUST be set to 1. 229 If the neighbor is not directly connected, the destination address 230 SHOULD be the BIER prefix of the BFR neighbor. The source address 231 SHOULD be this router's BIER prefix, and the TTL MUST be large enough 232 to get the packet to the BFR neighbor. 234 The "Flow label" field in the IPv6 packet SHOULD be copied from the 235 entropy field in the BIER encapsulation. 237 3. BIER Header 239 The BIER header MUST be encoded per Section 2.2 of [RFC8296]. 241 The BIFT-id is either encoded per 242 [I-D.ietf-bier-non-mpls-bift-encoding] or per advertised by BFRs, as 243 specified in [I-D.ietf-bier-lsr-ethernet-extensions]. 245 4. IPv6 Encapsulation Advertisement 247 When IPv6 encapsulation is not required between directly connected 248 BFRs, no signaling in addition to that specified in 249 [I-D.ietf-bier-lsr-ethernet-extensions] is needed. 251 Otherwise, a node that requires IPv6 encapsulation MUST advertise the 252 BIER IPv6 encapsulation sub-sub-sub-TLV/sub-sub-TLV according to 253 local configuration or policy in the BIER domain to request other 254 BFRs to always use IPv6 encapsulation. 256 4.1. Format 258 The BIER IPv6 Encapsulation is a new sub-sub-TLV of OSPFv3 BIER 259 Ethernet Encapsulation sub-TLV, and a new sub-sub-sub-TLV of ISIS 260 BIER Ethernet Encapsulation sub-sub-TLV as per 261 [I-D.ietf-bier-lsr-ethernet-extensions]. 263 0 1 2 3 264 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 265 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 266 | Type | Length | 267 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 269 * Type: For OSPF, value TBD1 indicates it is the IPv6 Encapsulation 270 sub-TLV. For ISIS, value TBD2 indicates it is the IPv6 271 encapsulation sub-sub-TLV. 273 * Length: 0. 275 4.2. Inter-area prefix redistribution 277 When BFR-prefixes are advertised across IGP areas per 278 [I-D.ietf-bier-lsr-ethernet-extensions] or redistributed across 279 protocol boundaries per [I-D.ietf-bier-prefix-redistribute], the BIER 280 IPv6 encapsulation sub-sub-TLV or sub-sub-sub-TLV MAY be re- 281 advertised/re-distributed as well. 283 5. IANA Considerations 285 IANA is requested to assign a "BIER" type for "Next Header" in the 286 "Assigned Internet Protocol Numbers" registry. 288 IANA is requested to assign a "BIER IPv6 encapsulation Sub-sub-TLV" 289 type in the "OSPFv3 BIER Ethernet Encapsulation sub-TLV" Registry. 291 IANA is requested to assign a "BIER IPv6 encapsulation Sub-sub-sub- 292 TLV" type in the "IS-IS BIER Ethernet Encapsulation sub-sub-TLV" 293 Registry. 295 IANA is requested to allocate a value "SRv6 Service" from "BIER Next 296 Protocol Identifiers" registry to indicate that BIER payload starts 297 with an SRv6 Service SID. 299 6. Security Considerations 301 General IPv6 and BIER security considerations apply. 303 7. Acknowledgement 305 The authors would like to thank Tony Przygienda, Nagendra Kumar for 306 their review and valuable comments. 308 8. References 310 8.1. Normative References 312 [I-D.ietf-bess-srv6-services] 313 Dawra, G., Filsfils, C., Talaulikar, K., Raszuk, R., 314 Decraene, B., Zhuang, S., and J. Rabadan, "SRv6 BGP based 315 Overlay Services", Work in Progress, Internet-Draft, 316 draft-ietf-bess-srv6-services-09, 26 January 2022, 317 . 320 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 321 Requirement Levels", BCP 14, RFC 2119, 322 DOI 10.17487/RFC2119, March 1997, 323 . 325 [RFC6437] Amante, S., Carpenter, B., Jiang, S., and J. Rajahalme, 326 "IPv6 Flow Label Specification", RFC 6437, 327 DOI 10.17487/RFC6437, November 2011, 328 . 330 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 331 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 332 May 2017, . 334 [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 335 (IPv6) Specification", STD 86, RFC 8200, 336 DOI 10.17487/RFC8200, July 2017, 337 . 339 [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 340 Przygienda, T., and S. Aldrin, "Multicast Using Bit Index 341 Explicit Replication (BIER)", RFC 8279, 342 DOI 10.17487/RFC8279, November 2017, 343 . 345 [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 346 Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation 347 for Bit Index Explicit Replication (BIER) in MPLS and Non- 348 MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January 349 2018, . 351 [RFC8401] Ginsberg, L., Ed., Przygienda, T., Aldrin, S., and Z. 352 Zhang, "Bit Index Explicit Replication (BIER) Support via 353 IS-IS", RFC 8401, DOI 10.17487/RFC8401, June 2018, 354 . 356 8.2. Informative References 358 [I-D.ietf-bier-bar-ipa] 359 Zhang, Z., Przygienda, A., Dolganow, A., Bidgoli, H., 360 Wijnands, I., and A. Gulko, "BIER Underlay Path 361 Calculation Algorithm and Constraints", Work in Progress, 362 Internet-Draft, draft-ietf-bier-bar-ipa-10, 1 February 363 2022, . 366 [I-D.ietf-bier-bfd] 367 Xiong, Q., Mirsky, G., Hu, F., and C. Liu, "BIER BFD", 368 Work in Progress, Internet-Draft, draft-ietf-bier-bfd-01, 369 8 April 2021, . 372 [I-D.ietf-bier-idr-extensions] 373 Xu, X., Chen, M., Patel, K., Wijnands, I., and A. 374 Przygienda, "BGP Extensions for BIER", Work in Progress, 375 Internet-Draft, draft-ietf-bier-idr-extensions-07, 6 376 September 2019, . 379 [I-D.ietf-bier-ipv6-requirements] 380 McBride, M., Xie, J., Geng, X., Dhanaraj, S., Asati, R., 381 Zhu, Y., Mishra, G., and Z. Zhang, "BIER IPv6 382 Requirements", Work in Progress, Internet-Draft, draft- 383 ietf-bier-ipv6-requirements-09, 28 September 2020, 384 . 387 [I-D.ietf-bier-lsr-ethernet-extensions] 388 Dhanaraj, S., Yan, G., Wijnands, I., Psenak, P., Zhang, 389 Z., and J. Xie, "LSR Extensions for BIER over Ethernet", 390 Work in Progress, Internet-Draft, draft-ietf-bier-lsr- 391 ethernet-extensions-03, 30 January 2022, 392 . 395 [I-D.ietf-bier-non-mpls-bift-encoding] 396 Wijnands, I., Mishra, M., Xu, X., and H. Bidgoli, "An 397 Optional Encoding of the BIFT-id Field in the non-MPLS 398 BIER Encapsulation", Work in Progress, Internet-Draft, 399 draft-ietf-bier-non-mpls-bift-encoding-04, 30 May 2021, 400 . 403 [I-D.ietf-bier-ospfv3-extensions] 404 Psenak, P., Nainar, N. K., and I. Wijnands, "OSPFv3 405 Extensions for BIER", Work in Progress, Internet-Draft, 406 draft-ietf-bier-ospfv3-extensions-05, 19 November 2021, 407 . 410 [I-D.ietf-bier-path-mtu-discovery] 411 Mirsky, G., Przygienda, T., and A. Dolganow, "Path Maximum 412 Transmission Unit Discovery (PMTUD) for Bit Index Explicit 413 Replication (BIER) Layer", Work in Progress, Internet- 414 Draft, draft-ietf-bier-path-mtu-discovery-11, 4 October 415 2021, . 418 [I-D.ietf-bier-ping] 419 Kumar, N., Pignataro, C., Akiya, N., Zheng, L., Chen, M., 420 and G. Mirsky, "BIER Ping and Trace", Work in Progress, 421 Internet-Draft, draft-ietf-bier-ping-07, 11 May 2020, 422 . 425 [I-D.ietf-bier-pmmm-oam] 426 Mirsky, G., Zheng, L., Chen, M., and G. Fioccola, 427 "Performance Measurement (PM) with Marking Method in Bit 428 Index Explicit Replication (BIER) Layer", Work in 429 Progress, Internet-Draft, draft-ietf-bier-pmmm-oam-11, 4 430 October 2021, . 433 [I-D.ietf-bier-prefix-redistribute] 434 Zhang, Z., Wu, B., Zhang, Z., Wijnands, I., Liu, Y., and 435 H. Bidgoli, "BIER Prefix Redistribute", Work in Progress, 436 Internet-Draft, draft-ietf-bier-prefix-redistribute-01, 23 437 December 2021, . 440 [I-D.xzlnp-bier-ioam] 441 Min, X., Zhang, Z., Liu, Y., Nainar, N. K., and C. 442 Pignataro, "Bit Index Explicit Replication (BIER) 443 Encapsulation for In-situ OAM (IOAM) Data", Work in 444 Progress, Internet-Draft, draft-xzlnp-bier-ioam-03, 12 445 January 2022, . 448 [I-D.zhang-bier-babel-extensions] 449 Zhang, Z. and T. Przygienda, "BIER in BABEL", Work in 450 Progress, Internet-Draft, draft-zhang-bier-babel- 451 extensions-06, 7 November 2021, 452 . 455 [I-D.zzhang-intarea-generic-delivery-functions] 456 Zhang, Z., Bonica, R., Kompella, K., and G. Mirsky, 457 "Generic Delivery Functions", Work in Progress, Internet- 458 Draft, draft-zzhang-intarea-generic-delivery-functions-02, 459 25 August 2021, . 462 [RFC7368] Chown, T., Ed., Arkko, J., Brandt, A., Troan, O., and J. 463 Weil, "IPv6 Home Networking Architecture Principles", 464 RFC 7368, DOI 10.17487/RFC7368, October 2014, 465 . 467 Authors' Addresses 469 Zheng(Sandy) Zhang 470 ZTE Corporation 472 Email: zhang.zheng@zte.com.cn 474 Zhaohui Zhang (editor) 475 Juniper Networks 477 Email: zzhang@juniper.net 479 IJsbrand Wijnands 480 Individual 482 Email: ice@braindump.be 484 Mankamana Mishra 485 Cisco Systems 487 Email: mankamis@cisco.com 489 Hooman Bidgoli 490 Nokia 492 Email: hooman.bidgoli@nokia.com 494 Gyan Mishra 495 Verizon 497 Email: gyan.s.mishra@verizon.com