BIER Working Group                                               W. Wang
Internet-Draft                                                   A. Wang
Intended status: Standards Track                           China Telecom
Expires: September 22, 2022                                      H. Chen
                                                               Futurewei
                                                               G. Mishra
                                                            Verizon Inc.
                                                                   B. Xu
                                           Huawei Technologies (2012Lab)
                                                          March 21, 2022


          Routing Header Based BIER Information Encapsulation
                       draft-wang-bier-rh-bier-05

Abstract

   This draft proposes one new encapsulation schema of Bit Index
   Explicit Replication (BIER) information to transfer the multicast
   packets within the IPv6 network.  By using a new type of IPv6 Routing
   Header to forward the packet, the original source address and
   destination address of the multicast packet is kept unchanged along
   the forwarding path.  Such encapsulation schema can make full use of
   the existing IPv6 quality assurance solutions to provide high-quality
   multicast service.

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 September 22, 2022.

Copyright Notice

   Copyright (c) 2022 IETF Trust and the persons identified as the
   document authors.  All rights reserved.




Wang, et al.           Expires September 22, 2022               [Page 1]


Internet-Draft                   RH-BIER                      March 2022


   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 extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Conventions used in this document . . . . . . . . . . . . . .   3
   3.  BIER Routing Header . . . . . . . . . . . . . . . . . . . . .   3
   4.  Multicast Packet Forwarding Procedures  . . . . . . . . . . .   4
     4.1.  All nodes in BIER domain support BIER Routing Header  . .   5
     4.2.  Some nodes in BIER domain do not support BIER Routing
           Header  . . . . . . . . . . . . . . . . . . . . . . . . .   7
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   9
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   9
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   9
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   9
     7.2.  Informative References  . . . . . . . . . . . . . . . . .   9
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  10

1.  Introduction

   Bit Index Explicit Replication (BIER) is a new multicast technology
   based on IPv6 defined in [RFC8279].  In BIER domain, the set of
   destination nodes of multicast message is mapped into a BitString and
   encapsulated into the BIER header.  The position of each bit in the
   BitString represents an BFER.  Compared with the traditional
   multicast technologies, the nodes in BIER domain do not need to
   maintain a multicast tree and keep the multicast flow state for each
   multicast flow.

   Currently, there are two methods for encapsulating BIER information
   based on IPv6 in IETF: BIERin6([I-D.ietf-bier-bierin6]) and
   BIERv6([I-D.xie-bier-ipv6-encapsulation]).

   BIERin6 carries BIER information by defining a new IPv6 next header
   type.  During the forwarding process, the source address and
   destination address in the header will be changed.

   BIERv6 carries bier related information by defining an new type of
   destination options header (i.e. bier option).  The source address in




Wang, et al.           Expires September 22, 2022               [Page 2]


Internet-Draft                   RH-BIER                      March 2022


   the header remains unchanged but the destination address will be
   changed along the forwarding path.

   The differences between the above two BIER encapsulation and
   forwarding schemes are unfavorable for the development of BIER and
   its derivatives.  In addition, when there is error in the forward
   process of the multicast packet, the change of source address and
   destination address during transmission will increase the difficulty
   of fault location and traceability.

   This draft proposes a BIER information transmission scheme without
   changing the multicast source and destination addresses in the outer
   IPv6 header.  The relevant BIER information is encapsulated within
   the newly defined IPv6 Routing Header type, each intermediate BIER
   router will route the multicast packet based on the BitString
   information and its associated BIFT.  The multicast source and
   destination address are not changed along the forwarding path.

   The characteristics of such schema are helpful to the rapid fault
   location and traceability, and can make full use of the existing IPv6
   quality assurance technologies to provide high-quality multicast
   service.

2.  Conventions used in this document

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119] .

3.  BIER Routing Header

   One new type of IPv6 Routing Header is defined according to
   [RFC8200].  The message format is shown in Figure 1.

     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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  Next Header  |  Hdr Ext Len  |  Routing Type |  BIER-TE Algo |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                BIER-TE Algorithm specified part               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Figure 1: The format of BIER Routing Header

   Where:

   o  Next Header (8 bits): indicating the message header type
      immediately after the Routing Header.



Wang, et al.           Expires September 22, 2022               [Page 3]


Internet-Draft                   RH-BIER                      March 2022


   o  HDR Ext Len (8 bits): indicating the length of the Routing Header.

   o  Routing Type (8 bits): TBD.  Identifying the newly defined Routing
      Header to encode BIER information.

   o  BIER-TE Algo (8 bits): indicating the BIER-TE Algorithm for RH-
      BIER packets.  Different values of this field refer to different
      BIER-TE Algorithm:

      *  Value 0: reserved.

      *  Value 1: IGP

      *  Value 2: CGM2 (see [I-D.eckert-bier-cgm2-rbs])

      *  Value 3: MRH (see [I-D.chen-pim-mrh6])

      *  Value 4-127: Expert Reviews

      *  Value 128-255: Flexible Algorithms

   o  BIER-TE Algorithm specified part (variable): the encoding of this
      part depends on the value of BIER-TE Algo field:

      *  Value 1: The BIER-TE Algorithm is IGP, the encoding format of
         this part is described in [RFC8296].

      *  Value 2: The BIER-TE Algorithm is CGM2, the encoding format of
         this part is described in [I-D.eckert-bier-cgm2-rbs].

      *  Value 3: The BIER-TE Algorithm is MRH6, the encoding format of
         this part is described in [I-D.chen-pim-mrh6].

4.  Multicast Packet Forwarding Procedures

   Based on the newly defined BIER Routing Header, the nodes support
   BIER Routing Header will perform the following steps to forward the
   multicast packets:

   1) When a BFIR receive a multicast packet, it will find out the
   destination address and RD that relate to the source interface of the
   packet.  BFIR looks up its End.MVPN mapping table to find the
   associated End.MVPN, and encapsulate a IPv6 Header with BIER Routing
   Header.  The payload is user data, the source address is the IPv6
   address of BFIR, and destination address is End.MVPN.  BitString in
   BIER Routing Header indicates the BFERs that want to receives such
   multicast packet.




Wang, et al.           Expires September 22, 2022               [Page 4]


Internet-Draft                   RH-BIER                      March 2022


   2) BFIR checks whether there is BIFT corresponding to the BIFT-id
   locally.  If not, it will discard the packet; otherwise, it will
   check whether the direct-connected node support BIER Routing Header.
   If the direct-connected node supports BIER Routing Header, proceeding
   to step 3).  If the direct-connected node doesn't support BIER
   Routing Header, proceeding to step 2.1) .

   2.1) BFIR Calculates the IPv6 address of next hop that support BIER
   Routing Header.

   2.2) Encapsulating an outer IPv6 Header to the multicast packet.  The
   calculated IPv6 address is used as the destination address of the
   outer IPv6 Header, and its own IPv6 address is used as the source
   address of the outer IPv6 Header.  BitString will not be changed.

   2.3) Sending the encapsulated packet to the direct-connected node,
   the node will perform normal IPv6 forwarding according to the outer
   IPv6 Header.

   3) Performing the normal BIER forwarding process as described in
   [RFC8279].

   For a BFR, it performs as described in Section 4.2.

   The detail procedures for forwarding the multicast packets based on
   the newly defined Routing Header are described in the following
   sections.

4.1.  All nodes in BIER domain support BIER Routing Header

                   +---+
       +-----------+ B +----------+
       |           +---+          |
       |        0:01000000        |
       |                          |
       |                          |
       |                          |
     +-+-+                      +-+-+ (Packet 2) +---+ (Packet 3)+---+
     | A |0:10000000  0:00100000| C +------------+ E +-----------+ F |
     +-+-+                      +-+-+            +---+           +---+
       |                          |           0:00001000      0:00000100
       |                          |
       |                          |
       |                          |
       |         0:00010000       |
       |           +---+          |
       +-----------+ D +----------+
       (Packet 1)  +---+



Wang, et al.           Expires September 22, 2022               [Page 5]


Internet-Draft                   RH-BIER                      March 2022


                           Packet 1
             +------------------------------------+
      IPv6   |          IPv6 Address of A         |
      Header +------------------------------------+
      with   | IPv6 Multicast Destination Address |
      BIER   +------------------------------------+
      Routing|   BIER RH(BitString = 00101100)    |
      Header +------------------------------------+
             |     Original multicast packet      |
             +------------------------------------+


                           Packet 2
             +------------------------------------+
      IPv6   |          IPv6 Address of A         |
      Header +------------------------------------+
      with   | IPv6 Multicast Destination Address |
      BIER   +------------------------------------+
      Routing|   BIER RH(BitString = 00001100)    |
      Header +------------------------------------+
             |     Original multicast packet      |
             +------------------------------------+

                           Packet 3
             +------------------------------------+
      IPv6   |          IPv6 Address of A         |
      Header +------------------------------------+
      with   | IPv6 Multicast Destination Address |
      BIER   +------------------------------------+
      Routing|   BIER RH(BitString = 00000100)    |
      Header +------------------------------------+
             |     Original multicast packet      |
             +------------------------------------+

 Figure 2: All nodes in BIER domain support BIER Routing Header

   The topology is shown in Figure 2, node A-F support BIER Routing
   Header.  The packet need to be transmitted from A to F.  The changes
   of the Routing Header have been given in Figure 2.

   1).  Node A is BFIR, when it receives a multicast packet, it will
   encapsulate a IPv6 Header with BIER Routing Header to the packet.

   2).  Node A checks whether there is BIFT corresponding to the BIFT-id
   locally.  If not, discarding the packet; otherwise, forwarding the
   packet according to the BIFT related to the BIFT-id.

   3).  Node D-E repeat the step 2).



Wang, et al.           Expires September 22, 2022               [Page 6]


Internet-Draft                   RH-BIER                      March 2022


   4).  Node F looks up the associated table and submits the packet to
   the new multicast downstreams.

   During the forwarding procedures, the source & destination address in
   IPv6 header are not changed, only the BitString in BIER Routing
   Header is updated.

4.2.  Some nodes in BIER domain do not support BIER Routing Header

                 +---+
     +-----------+ B +-----------+
     |           +---+           |
     |        0:01000000         |
     |                           |
     |                           |
     |                           |
   +-+-+                       +-+-+            +---+ (Packet 3) +---+
   | A |0:10000000             | C +------------+ E +------------+ F |
   +-+-+                       +-+-+            +---+            +---+
     |                           |           0:00001000       0:00000100
     |                           |
     |                           |
     |                           |
     |         0:00010000        |
     |           +---+           |
     +-----------+ D +-----------+
      (Packet 1) +---+ (Packet 2)


                          Packet 1
            +------------------------------------+
     IPv6   |          IPv6 Address of A         |
     Header +------------------------------------+
     with   | IPv6 Multicast Destination Address |
     BIER   +------------------------------------+
     Routing|   BIER RH(BitString = 00001100)    |
     Header +------------------------------------+
            |     Original multicast packet      |
            +------------------------------------+

                          Packet 2
           +------------------------------------+
     Outer |     Source IP Address = D          |
     IPv6  +------------------------------------+
    Header |    Destination IP Address = E      |
           +------------------------------------+
     Inner |          IPv6 Address of A         |
     IPv6  +------------------------------------+



Wang, et al.           Expires September 22, 2022               [Page 7]


Internet-Draft                   RH-BIER                      March 2022


    Header | IPv6 Multicast Destination Address |
     with  +------------------------------------+
     BIER  |   BIER RH(BitString = 00001100)    |
    Routing+------------------------------------+
    Header |     Original multicast packet      |
           +------------------------------------+

                          Packet 3
           +-------------------------------------+
     IPv6  |          IPv6 Address of A          |
    Header +-------------------------------------+
     with  | IPv6 Multicast Destination Address  |
     BIER  +-------------------------------------+
    Routing|   BIER RH(BitString = 00000100)     |
    Header +-------------------------------------+
           |     Original multicast packet       |
           +-------------------------------------+

Figure 3: Some nodes in BIER domain do not support BIER Routing Header

   The topology is shown in Figure 3, all nodes expect node C support
   BIER Routing Header.  The packet need to be transmitted from A to F.
   The change of the Header has been given in the Figure 3.

   1).  After receiving a multicast packet, node A encapsulates a IPv6
   Header with BIER Routing Header to it, and forwards the packet to
   node D according to the BIFT.

   2).  Node D calculates the IPv6 address of next hop node(Node E) that
   supports BIER Routing Header, and encapsulates an outer IPv6 Header
   to the packet.  The source IPv6 address is the IPv6 address of
   itself, and the destination IPv6 address is the IPv6 address of node
   E.  Then, sending the packet to node C.

   3).  Node C performs normal IPv6 forwarding according to the outer
   IPv6 header and sends the packet to node E.

   4).  Node E decapsulates the outer IPv6 header and forwards the
   packet according to the BIFT to node F.

   5).  Node F looks up the associated table and submits the packet to
   the new multicast downstreams.

   In the forwarding procedures, the source address and destination
   address in the Inner IPv6 Header are not changed, only the BitString
   in BIER Routing Header is updated.





Wang, et al.           Expires September 22, 2022               [Page 8]


Internet-Draft                   RH-BIER                      March 2022


5.  Security Considerations

   TBD

6.  IANA Considerations

   This document defines a new type of IPv6 Routing Header - BIER
   Routing Header.  The code point is from the "Internet Protocol
   Version 6 (IPv6) Parameters - Routing Types".  It is recommended to
   set the code point of BIER Routing Header to 7.

7.  References

7.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC8200]  Deering, S. and R. Hinden, "Internet Protocol, Version 6
              (IPv6) Specification", STD 86, RFC 8200,
              DOI 10.17487/RFC8200, July 2017,
              <https://www.rfc-editor.org/info/rfc8200>.

   [RFC8279]  Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A.,
              Przygienda, T., and S. Aldrin, "Multicast Using Bit Index
              Explicit Replication (BIER)", RFC 8279,
              DOI 10.17487/RFC8279, November 2017,
              <https://www.rfc-editor.org/info/rfc8279>.

   [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>.

7.2.  Informative References

   [I-D.chen-pim-mrh6]
              Chen, H., McBride, M., Fan, Y., Li, Z., Geng, X., Toy, M.,
              Mishra, G. S., Liu, Y., Wang, A., Liu, L., and X. Liu,
              "Multicast using Multicast Routing Header", draft-chen-
              pim-mrh6-01 (work in progress), March 2022.







Wang, et al.           Expires September 22, 2022               [Page 9]


Internet-Draft                   RH-BIER                      March 2022


   [I-D.eckert-bier-cgm2-rbs]
              Eckert, T. and B. (. Xu, "Carrier Grade Minimalist
              Multicast (CGM2) using Bit Index Explicit Replication
              (BIER) with Recursive BitString Structure (RBS)
              Addresses", draft-eckert-bier-cgm2-rbs-01 (work in
              progress), February 2022.

   [I-D.ietf-bier-bierin6]
              Zhang, Z., Zhang, Z., Wijnands, I., Mishra, M., Bidgoli,
              H., and G. Mishra, "Supporting BIER in IPv6 Networks
              (BIERin6)", draft-ietf-bier-bierin6-04 (work in progress),
              March 2022.

   [I-D.xie-bier-ipv6-encapsulation]
              Xie, J., Geng, L., McBride, M., Asati, R., Dhanaraj, S.,
              Zhu, Y., Qin, Z., Shin, M., Mishra, G., and X. Geng,
              "Encapsulation for BIER in Non-MPLS IPv6 Networks", draft-
              xie-bier-ipv6-encapsulation-10 (work in progress),
              February 2021.

Authors' Addresses

   Wei Wang
   China Telecom
   Beiqijia Town, Changping District
   Beijing, Beijing  102209
   China

   Email: weiwang94@foxmail.com


   Aijun Wang
   China Telecom
   Beiqijia Town, Changping District
   Beijing, Beijing  102209
   China

   Email: wangaj3@chinatelecom.cn


   Huaimo Chen
   Futurewei
   Beiqijia Town, Changping District
   Boston, MA
   USA

   Email: Huaimo.chen@futurewei.com




Wang, et al.           Expires September 22, 2022              [Page 10]


Internet-Draft                   RH-BIER                      March 2022


   Gyan S. Mishra
   Verizon Inc.
   13101 Columbia Pike
   Silver Spring  MD 20904
   United States of America

   Phone: 301 502-1347
   Email: gyan.s.mishra@verizon.com


   Bing (Robin) Xu
   Huawei Technologies (2012Lab)
   Huawei Building, No.156 Beiqing Rd.
   Beijing, Beijing  100095
   China

   Email: bing.xu@huawei.com


































Wang, et al.           Expires September 22, 2022              [Page 11]