bier Z. Zhang Internet-Draft Juniper Networks Intended status: Standards Track X. Min Expires: 12 January 2023 ZTE Y. Liu China Mobile H. Bidgoli Nokia 11 July 2022 BIER Extension Headers draft-zzhang-bier-extension-headers-00.txt Abstract Bit Index Explicit Replication (BIER) is a multicast technology with a new encapsulation and forwarding paradigm. BIER encapsulation is specified in RFC8296, and this document specifies extension headers used with BIER encapsulation header. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 12 January 2023. Copyright Notice Copyright (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components Zhang, et al. Expires 12 January 2023 [Page 1] Internet-Draft BIER Extension Headers July 2022 extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Background . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Specifications . . . . . . . . . . . . . . . . . . . . . . . 3 2.1. BIER Encapsulation with Extension Headers . . . . . . . . 3 2.2. Head of Extension Headers . . . . . . . . . . . . . . . . 4 2.3. Extension Header Format . . . . . . . . . . . . . . . . . 5 3. Security Considerations . . . . . . . . . . . . . . . . . . . 5 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 6.1. Normative References . . . . . . . . . . . . . . . . . . 6 6.2. Informative References . . . . . . . . . . . . . . . . . 6 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 1. Background [RFC8296] specifies BIER encapsulation header as following: 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BIFT-id | TC |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Nibble | Ver | BSL | Entropy | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |OAM|Rsv| DSCP | Proto | BFIR-id | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BitString (first 32 bits) ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ BitString (last 32 bits) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The header is fixed format, making it difficult to extend for additional functionalities. [I-D.xzlnp-bier-ioam] describes In-situ Operations, Administration, and Maintenance (IOAM) functionality for BIER, and proposes a way to extend the BIER header to encode IOAM data as well as other potential extension headers. Zhang, et al. Expires 12 January 2023 [Page 2] Internet-Draft BIER Extension Headers July 2022 [I-D.zzhang-intarea-generic-delivery-functions] considers Generic Delivery Functions (GDFs, e.g., fragmentation, security, IOAM) that can be applied to various layers (e.g., MPLS, IPv6, BIER) and proposes a slightly different extension header mechanism that is aligned with [I-D.song-mpls-extension-header] and work for both MPLS, BIER, and potentially other layers. This approach is adopted in this BIER document for formal discussions and progressing in the BIER WG. 2. Specifications 2.1. BIER Encapsulation with Extension Headers The following figure illustrates a BIER header with extension headers. A TBD value for the "proto" field in the BIER header indicates that some BIER Extension Headers follow the BIER header and precede the BIER payload. An extension header could be an IPv6 one for a GDF like IOAM, even though this is not an IPv6 protocol layer. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BIFT-id | TC |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Nibble | Ver | BSL | Entropy | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |OAM|R|H| DSCP | Proto=TBD | BFIR-id | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BitString (first 32 bits) ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ BitString (last 32 bits) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Header of Extension Headers (HEH) | +---------------------------------------------------------------+ ~ Extension Header (EH) 1 ~ +---------------------------------------------------------------+ ~ ... ~ +---------------------------------------------------------------+ ~ Extension Header (EH) N ~ +---------------------------------------------------------------+ ~ Upper Layer Headers/Payload ~ +---------------------------------------------------------------+ R: The "R" flag bit is reserved. It MUST be set to 0 on transmission and ignored on reception. Zhang, et al. Expires 12 January 2023 [Page 3] Internet-Draft BIER Extension Headers July 2022 H: If the "H" flag bit is set, it indicates the presence of at least one extension header that needs to be processed hop by hop even before a BFER is reached. 2.2. Head of Extension Headers The Header of Extension Headers (HEH) is specified in [I-D.song-mpls-extension-header] and quoted here: 0 1 2 3 0123 4567 89012345 67890123 45678901 +----+----+--------+--------+--------+ | R |EHC | EHTL | OUL | NH | +----+----+--------+--------+--------+ The meaning of the fields in an HEH is as follows: R: 4-bit reserved. The nibble value means to avoid conflicting with IP version numbers. EHC: 4-bit unsigned integer for the Extension Header Counter. This field keeps the total number of extension headers included in this packet. It does not count the original upper layer protocol headers. At most 15 EHs are allowed in one packet. EHTL: 8-bit unsigned integer for the Extension Header Total Length in 4-octet units. This field keeps the total length of the extension headers in this packet, not including the HEH itself. OUL: 8-bit Original Upper Layer protocol number indicating the original upper layer protocol type. It can be set to "UNKNOWN" if unknown. NH: 8-bit selector for the Next Header. This field identifies the type of the header immediately following the HEH. Value is from the Internet Protocol Numbers registry, so that IPv6 extension headers for GDFs can be used as BIER extension headers as is. Only one new TBD value needs to be assigned from the registry for extension headers specific for all non-IPv6 layers that use this common extension header design. All those layers, e.g., BIER and MPLS, upon encounter an extension header referred to by the TBD NH will process it as specific to that layer and according to its EXT field (see section below). Zhang, et al. Expires 12 January 2023 [Page 4] Internet-Draft BIER Extension Headers July 2022 The 4-bit R field of HEH is not important to BIER, but it's used for other layers like MPLS. The NH field in HEH and EH aligns this with IPv6 extension headers - applicable IPv6 extension headers can be used here as is (the design goal is to allow generic functions to be applied at different layers with the same extension header format). 2.3. Extension Header Format The format of a layer specific Extension Header (EH) is as following: 0 1 2 3 01234567 89012345 67890123 45678901 +--------+--------+--------+-------+ | NH | HLEN |EXT |resved | +--------+--------+--------+-------+ | | ~ Header Specific Data ~ | | +--------+--------+----------------+ It is like an IPv6 extension header with an added EXT field. NH: 8-bit indicator for the Next Header. This field identifies the type of the EH immediately following this EH. HLEN: 8-bit unsigned integer for the Extension Header Length in 8-octet units, not including the first 8 octets. EXT: 8-bit extension type (sub-type) for BIER specific extension headers referred to by the TBD NH mentioned above. Value is allocated from a registry specifically for BIER extension header. It is expected to have different EXT values for different BIER specific extension headers for different functions, and an EXT value for one extension header that encodes different TLVs for different functions in a single EH. Header Specific Data: Variable length field for the specification of the EH. 3. Security Considerations To be provided. 4. IANA Considerations The following IANA actions are requested. Zhang, et al. Expires 12 January 2023 [Page 5] Internet-Draft BIER Extension Headers July 2022 * Assign a "BIER Extension Header" value from the "BIER Next Protocol Identifiers" registry for the "proto" field in a BIER header. * Assign a TBD value from "IP Protocol Numbers" registry for "Non-IP Extension Header". * Create a "BIER Extension Header Sub-type" registry for the "EXT" field in a BIER specific extension header. * Assign a "TLV-encoded BIER Extension Header" value from the "BIER Extension Header Sub-type" registry. 5. Acknowledgements 6. References 6.1. Normative References [I-D.song-mpls-extension-header] Song, H., Li, Z., Zhou, T., Andersson, L., Zhang, Z., Gandhi, R., Rajamanickam, J., and J. Bhattacharya, "MPLS Post-Stack Extension Header", Work in Progress, Internet- Draft, draft-song-mpls-extension-header-07, 8 July 2022, . [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation for Bit Index Explicit Replication (BIER) in MPLS and Non- MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January 2018, . 6.2. Informative References [I-D.xzlnp-bier-ioam] Min, X., Zhang, Z., Liu, Y., Nainar, N. K., and C. Pignataro, "Bit Index Explicit Replication (BIER) Encapsulation for In-situ OAM (IOAM) Data", Work in Progress, Internet-Draft, draft-xzlnp-bier-ioam-03, 12 January 2022, . Zhang, et al. Expires 12 January 2023 [Page 6] Internet-Draft BIER Extension Headers July 2022 [I-D.zzhang-intarea-generic-delivery-functions] Zhang, Z., Bonica, R., Kompella, K., and G. Mirsky, "Generic Delivery Functions", Work in Progress, Internet- Draft, draft-zzhang-intarea-generic-delivery-functions-03, 11 July 2022, . Authors' Addresses Zhaohui Zhang Juniper Networks Email: zzhang@juniper.net Xiao Min ZTE Email: xiao.min2@zte.com.cn Yisong Liu China Mobile Email: liuyisong@chinamobile.com Hootman Bidgoli Nokia Email: hooman.bidgoli@nokia.com Zhang, et al. Expires 12 January 2023 [Page 7]