bier Z. Zhang Internet-Draft Juniper Networks Intended status: Standards Track X. Min Expires: 8 January 2024 ZTE Y. Liu China Mobile H. Bidgoli Nokia 7 July 2023 BIER Extension Headers draft-zzhang-bier-extension-headers-01 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 8 January 2024. Copyright Notice Copyright (c) 2023 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 8 January 2024 [Page 1] Internet-Draft BIER Extension Headers July 2023 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. Extension Top Header . . . . . . . . . . . . . . . . . . 4 2.3. Extension Header Format . . . . . . . . . . . . . . . . . 5 3. Security Considerations . . . . . . . . . . . . . . . . . . . 6 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 5. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 5.1. Normative References . . . . . . . . . . . . . . . . . . 6 5.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 8 January 2024 [Page 2] Internet-Draft BIER Extension Headers July 2023 [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. [I-D.song-mpls-extension-header] is not adopted in the MPLS WG. [I-D.jags-mpls-ps-mna-hdr] is the candidate solution, and the main difference is that the "next header" concept is no longer used, which means that IPv6 extension headers for GDFs can not be used as is. However, other than that it takes a different way to get to the ancillary data used for the functions, the data itself and the handling can still be generic. To align BIER and MPLS for a generic solution, this document now takes the approach in [I-D.jags-mpls-ps-mna-hdr] for 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. Zhang, et al. Expires 8 January 2024 [Page 3] Internet-Draft BIER Extension Headers July 2023 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) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Extension Top Header | +---------------------------------------------------------------+ ~ 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. 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. Extension Top Header The Extension Top Header (ETH) encoding is as following: Zhang, et al. Expires 8 January 2024 [Page 4] Internet-Draft BIER Extension Headers July 2023 0 1 2 3 0123456789012345 67890123 45678901 +--------------+-+--------+--------+ | Reserved |P| EHTL | NH | +--------------+-+--------+--------+ Reserved: Reserved field. P: 1-bit flag indicating the type of the NH field. 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 ETH itself. NH: 8-bit selector for the Next Header. This field identifies the type of the header following the final extension header. If the P-flag is set, the value is from the Internet Protocol Numbers registry. If the P-flag is not set, the value is from BIER's own protocol registry number registry, which is now extended from the original 6-bit to 8-bit. Note that only the first 64 values from the original registry can be used in the Proto field in the base BIER header. If a larger value is needed, the ETH MUST be used (with or without some Extension Headers). A BIER capable router is smart enough to interpret the data afer the base BIER header only according to the Proto field, so there is no need to reserve a nibble at the begining of ETH to distinguish from an IP header. 2.3. Extension Header Format The format of a BIER Extension Header (EH) mimics the MPLS Post-Stack Network Action Header [I-D.jags-mpls-ps-mna-hdr] (assuming the MPLS format will be updated to put its equivalent of EH-DATA at the end of the first word): 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EH-OP |R|R| EH-Len | EH-DATA ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ EH-OP: 7-bit OP Code for the extension. RR: 2-bit reserved field. EH-LEN: 7-bit unsigned integer for the Extension Header Length in 4-octet units, not including the first four octets. Zhang, et al. Expires 8 January 2024 [Page 5] Internet-Draft BIER Extension Headers July 2023 EH-Data:Data for the extension header. The first two octets are not counted in the EH-Len. 3. Security Considerations To be provided. 4. IANA Considerations The following IANA actions are requested. * Assign a "BIER Extension Header" value from the "BIER Next Protocol Identifiers" registry for the "proto" field in a BIER header. * Create a "BIER Extension Header OP Codes" registry for the "EH-OP" field in a BIER specific extension header. 5. References 5.1. Normative References [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, . 5.2. Informative References [I-D.jags-mpls-ps-mna-hdr] Rajamanickam, J., Gandhi, R., Zigler, R., Li, T., and J. Dong, "Post-Stack MPLS Network Action (MNA) Solution", Work in Progress, Internet-Draft, draft-jags-mpls-ps-mna- hdr-00, 10 March 2023, . [I-D.song-mpls-extension-header] Song, H., Zhou, T., Andersson, L., Zhang, Z. J., and R. Gandhi, "MPLS Network Actions using Post-Stack Extension Headers", Work in Progress, Internet-Draft, draft-song- mpls-extension-header-12, 14 April 2023, . Zhang, et al. Expires 8 January 2024 [Page 6] Internet-Draft BIER Extension Headers July 2023 [I-D.xzlnp-bier-ioam] Min, X., Zhang, Z., Liu, Y., Nainar, N. K., and C. Pignataro, "BIER Encapsulation for IOAM Data", Work in Progress, Internet-Draft, draft-xzlnp-bier-ioam-05, 27 January 2023, . [I-D.zzhang-intarea-generic-delivery-functions] Zhang, Z. J., 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 Hooman Bidgoli Nokia Email: hooman.bidgoli@nokia.com Zhang, et al. Expires 8 January 2024 [Page 7]