bier                                                            Z. Zhang
Internet-Draft                                          Juniper Networks
Intended status: Standards Track                                  X. Min
Expires: 28 July 2024                                                ZTE
                                                                  Y. Liu
                                                            China Mobile
                                                              H. Bidgoli
                                                                   Nokia
                                                         25 January 2024


                         BIER Extension Headers
               draft-zzhang-bier-extension-headers-02.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 28 July 2024.

Copyright Notice

   Copyright (c) 2024 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 28 July 2024                  [Page 1]


Internet-Draft           BIER Extension Headers             January 2024


   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 28 July 2024                  [Page 2]


Internet-Draft           BIER Extension Headers             January 2024


   [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 28 July 2024                  [Page 3]


Internet-Draft           BIER Extension Headers             January 2024


    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 28 July 2024                  [Page 4]


Internet-Draft           BIER Extension Headers             January 2024


      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 28 July 2024                  [Page 5]


Internet-Draft           BIER Extension Headers             January 2024


   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, <https://www.rfc-editor.org/info/rfc8296>.

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-01, 21 October 2023,
              <https://datatracker.ietf.org/doc/html/draft-jags-mpls-ps-
              mna-hdr-01>.

   [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-13, 11 October 2023,
              <https://datatracker.ietf.org/doc/html/draft-song-mpls-
              extension-header-13>.






Zhang, et al.             Expires 28 July 2024                  [Page 6]


Internet-Draft           BIER Extension Headers             January 2024


   [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-06, 31
              July 2023, <https://datatracker.ietf.org/doc/html/draft-
              xzlnp-bier-ioam-06>.

   [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, <https://datatracker.ietf.org/doc/html/
              draft-zzhang-intarea-generic-delivery-functions-03>.

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 28 July 2024                  [Page 7]