BIER Working Group                                               W. Wang
Internet-Draft                                                   A. Wang
Intended status: Standards Track                           China Telecom
Expires: April 28, 2022                                 October 25, 2021

          Routing Header Based BIER Information Encapsulation
                       draft-wang-bier-rh-bier-01
                       draft-wang-bier-rh-bier-02

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 defining using a new IPv6 Routing Header type, it keeps
   type to forward the packet, the original source address and
   destination address of the multicast packet is kept unchanged in along
   the forwarding process.  The path.  Such encapsulation schema can make full use of
   the existing IPv6 quality assurance methods 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 April 28, 2022.

Copyright Notice

   Copyright (c) 2021 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 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.  The transmission process of packets with BIER Routing Header    4  Multicast Packet Forwarding Procedures  . . . . . . . . . . .   5
     4.1.  All devices in BIER domain support BIER Routing Header  .   5
     4.2.  Some devices in BIER domain do not support BIER Routing
           Header  . . . . . . . . . . . . . . . . . . . . . . . . .   6   7
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   9
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   9
     7.2.  Informative References  . .   8 . . . . . . . . . . . . . . .   9
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   9

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 technology, the nodes in BIER domain do not need to
   maintain a multicast tree and save keep the multicast flow state for each
   multicast flow.

   At present,

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

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

   BIERv6 carries bier related information by creating defining an new option
   type of destination options header (i.e. bier option).  During transmission, the  The source
   address in the header remains unchanged and but the destination address
   will
   change.

   There are some be changed along the forwarding path.

   The differences between the above two BIER encapsulation and
   forwarding schemes, which is schemes are unfavorable to for the development of BIER and
   its derivatives.  In addition, when there is an error in the
   transmission forward
   process of the message, the source address and
   destination address help the operators locate and trace multicast packet, the fault.
   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.  By defining an  The
   relevant BIER information is encapsulated within the newly defined
   IPv6 Routing Header type, it carries each intermediate BIER router will route
   the relevant multicast packet based on the BitString information of BIER and
   ensures that the its
   associated BIFT.  The multicast source address and destination address do are
   not change
   during message transmission. changed along the forwarding path.

   The characteristics of this scheme such schema are
   conducive 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[RFC8200].
   [RFC8200].  The message format is shown in Figure 1.

    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  Next Header  |  Hdr Ext Len  |  Routing Type | Segment Left  |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                BIFT-id                |  Ver  |      TTL      |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  BSL  |                   Entropy             |   DSCP    |OAM|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |             BFIR-id           |Rsv|          Reserved         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    .                                                               .
    .                            BitString                          .
    .                                                               .
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Figure 1: The format of BIER Routing Header

   Where:

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

   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  Segments Left(8 bits): indicating the number of explicitly listed
      intermediate nodes to be accessed before reaching the final
      destination.  It is not used here for the time being, and all are
      set to 0.

   o  BIFT-id(20 bits): each < SD, Si, BSL > is assigned a BIFT-id.

   o  Ver(4 bits): identifying the version of the BIER header.  When an
      unsupported BIER header version is received, the BFR needs to
      discard the packet and record the error.

   o  TTL(8 bits): indicating the lifetime of the message.  It is used
      to prevent ring.  The processing process is the same as that in
      non MPLS networks.

   o  BSL(4 bits): indicating the length of BitString.

   o  Entropy(20 bits): this field specifies an "entropy" for ECMP.

   o  DSCP(6 bits): this field is used to support different service
      codes.

   o  OAM(2 bits): by default, this value will be set to 0 by BFIR, and
      other BFRs will not be modified.  Whether to use this field is
      optional.

   o  BFIR-id(16 bits): indicating BFR ID of BFIR.

   o  Rsv(2 bits): unused, set to 0.

   o  Reserved (14 bits): reserved field, set to 0.

   o  BitString(variable): the length must be reflected in the BSL
      field.  The string saved in this field is used to identify the
      destination BFER of the packet.

4.  The transmission process of packets with BIER Routing Header  Multicast Packet Forwarding Procedures

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

   1) Checking whether there is BIFT corresponding When BFIR receives the IPv6 multicast packets from the mulicast
   source, it will add BIER Routing Header to indicate the BIFT-id
   locally. BFERs that
   want to receives such multicast packet.  The encapsulated multicast
   packet will be forwarded according to the BIFT that identified by the
   BIFT-id.

   2) Checking Each BFR (includes BFIR) will check whether the direct-connected
   device support BIER Routing Header.  If yes, proceed to step 3; 3);
   otherwise, proceed to step 2.1. 2.1).

   2.1) Calculating 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 next-connected direct-connected device,
   the device will perform normal IPv6 forwarding according to the outer
   IPv6 Header.

   3) Performing On the router that supports the BIER Routing Header, perform the
   normal BIER forwarding process as described in [RFC8279].

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

4.1.  All devices 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)  +---+

                       Packet 1
        +----------------------------+
         +------------------------------------+
  IPv6   | Source IP  IPv6 Address = A of Multicast Source  |
  Header +----------------------------+ +------------------------------------+
         | IPv6 Multicast Destination IP Address = F |
  BIER  +----------------------------+   +------------------------------------+
  Routing|       BitString = 00101100         |
  Header +----------------------------+ +------------------------------------+

                       Packet 2
        +----------------------------+
         +------------------------------------+
  IPv6   | Source IP  IPv6 Address = A of Multicast Source  |
  Header +----------------------------+ +------------------------------------+
         | IPv6 Multicast Destination IP Address = F |
  BIER  +----------------------------+   +------------------------------------+
  Routing|     BitString = 00001100           |
  Header +----------------------------+ +------------------------------------+

                 Packet 3
        +----------------------------+
  Inner
         +------------------------------------+
  IPv6   | Source IP  IPv6 Address = A of Multicast Source  |
  IPv6  +----------------------------+
  Header +------------------------------------+
         | IPv6 Multicast Destination IP Address = F |
        +----------------------------+
  BIER  |   +------------------------------------+
  Routing|     BitString = 00000100           |
 Routing+----------------------------+
  Header +------------------------------------+

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

   The topology is shown in Figure 3, 2, device A-F support BIER Routing
   Header resolution.
   Header.  The packet need to be transmitted from A to F.  The change changes
   of the Routing Header has have been given in the Figure. Figure 2.  Each device will
   perform the following steps after receiving the packet:

   1.

   1).  Checking whether there is BIFT corresponding to the BIFT-id
   locally.  If yes, proceed to step 2; 2); otherwise, discard the packet.

   2.

   2).  Checking whether the direct-connected device support BIER
   Routing Header.  If yes, forwarding the packet according to the BIFT
   related to the BIFT-id; otherwise, see sectionSection 4.2 for detail
   procedures.

   In this

   During the forwarding process, procedures, the source address and destination
   address in of the Inner IPv6 Header multicast packet are not changed, only the
   BitString in BIER Routing Header is changed. updated.

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

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

                      Packet 1
       +----------------------------+
 Outer | Source IP Address = A      |
        +------------------------------------+
 IPv6  +----------------------------+
Header   | Destination IP  IPv6 Address = E |
       +----------------------------+
 Inner | of Multicast Source IP Address = A  |
 IPv6  +----------------------------+
 Header +------------------------------------+
        | IPv6 Multicast Destination IP Address = F |
       +----------------------------+
 BIER  |   +------------------------------------+
 Routing|       BitString = 00001100 00101100         |
Routing+----------------------------+
 Header +------------------------------------+

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

Header | IPv6 Multicast Destination IP Address = F |
       +----------------------------+
       +------------------------------------+
 BIER  |      BitString = 00001100          |
Routing+----------------------------+
Routing+------------------------------------+
Header
                Packet 3
       +----------------------------+
       +-------------------------------------+
 IPv6  | Source IP  IPv6 Address = A of Multicast Source   |
Header +----------------------------+ +-------------------------------------+
       | IPv6 Multicast Destination IP Address = F  |
 BIER  +----------------------------+  +-------------------------------------+
Routing|       BitString = 00000100          |
Header +----------------------------+ +-------------------------------------+

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

   The topology is shown in Figure 4, 3, all devices expect device C
   support BIER Routing Header resolution. Header.  The packet need to be transmitted from
   A to F.  The change of the Header has been given in the Figure 4. 3.
   When it is found that device C does not support BIER Routing Header resolution, Header,
   device A D will perform the following steps after receiving the packet:

   1.  Calculating the IPv6 address of next hop device device(Node E) that
   supports BIER Routing Header.

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

   3.  Sending the packet to directed-connected device C.

   After receiving the packet, device C will perform IPv6 forwarding
   according the information in outer IPv6 Header, and send the packet
   to device E.  Device E will send it to device F according the
   information in BIER Routing Header.  In the forwarding process, the
   source address and destination address in the Inner IPv6 Header are
   not changed.

5.  Security Considerations

   TBD

6.  IANA Considerations

   This document defines a new 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

   [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-00 (work in progress),
              June 2021.

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

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

7.2.  Informative References

   [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-00 (work in progress),
              June 2021.

   [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