<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.3.24 -->
<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-zhang-ippm-pmfi-bier-ioam-00" category="std" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.10 -->
  <front>
    <title abbrev="Performance Measurement (PM) with Flow-ID in Bit Index Explicit Replication (BIER)">Performance Measurement (PM) with Flow-ID in Bit Index Explicit Replication (BIER)</title>
    <seriesInfo name="Internet-Draft" value="draft-zhang-ippm-pmfi-bier-ioam-00"/>
    <author initials="X." surname="Zhang" fullname="Xin Zhang">
      <organization>China Telecom</organization>
      <address>
        <email>zhangx8@foxmail.com</email>
      </address>
    </author>
    <author initials="A." surname="Wang" fullname="Aijun Wang">
      <organization>China Telecom</organization>
      <address>
        <email>wangaj3@chinatelecom.cn</email>
      </address>
    </author>
    <date year="2022" month="July" day="11"/>
    <area>transport</area>
    <workgroup>ippm</workgroup>
    <abstract>
      <t>This document proposes one new performance measurement method of Bit Index Explicit Replication (BIER) IOAM information. The controller can realize the closed-loop control of end-to-end quality assurance for BIER through collecting and analyzing of BIER IOAM and related path algorithms in the new method.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <t><xref target="RFC8279" format="default"/> introduces the architecture of the Bit Index Explicit Replication (BIER) the forwarding of multicast data packets. <xref target="I-D.wang-bier-rh-bier" format="default"/>introduces a new encapsulation schema of Bit Index Explicit Replication (BIER) information, and the original source address and destination address in the IPv6 Header are not changed during process of the packet forwarding. <xref target="I-D.ietf-bier-pmmm-oam" format="default"/>introduces how to measure packet loss and delay metrics of a multicast flow in an MPLS network by using the marking method on the BIER layer. <xref target="I-D.ietf-ippm-ioam-data" format="default"/>provides four possible IOAM option to record telemetry data from the transit nodes. Based on the <xref target="I-D.ietf-ippm-ioam-data" format="default"/>, <xref target="I-D.ietf-ippm-ioam-direct-export" format="default"/>provides a new IOAM option type to collect and report telemetry data.</t>
      <t>Multicast performance measurement is the basis of service quality guarantee. However, nowadays it is difficult for the controller to collect and association analysis dynamically of IOAM information and user multicast flow path. <xref target="I-D.ietf-ippm-ioam-direct-export" format="default"/> provides a flow id field to represent the flow identifier, but the draft did not specify the generation of the flow id field. Therefore, this draft has evolved from combining some of the concepts of the Direct Export (DEX) option from <xref target="I-D.ietf-ippm-ioam-direct-export" format="default"/> with the path and algorithm information are saved during packet forwarding from <xref target="I-D.wang-bier-rh-bier" format="default"/>.</t>
      <t>This document proposes a BIER performance measurement information collection and transmission method with the IOAM option type of Direct Export (DEX) option. In the new method, The BFIR will maintain a mapping table of flow id and (multicast source address, multicast destination address, BFIR address, End.MVPN, BIER-TE Algo) tuple (called " flow id mapping table") and BFIR will send the mapping table to the controller. When the controller receives the IOAM data, it will get the multicast path information according to the flow id mapping table. Based on the information, the controller can analyzes the performance of the multicast flows and optimize the path, which lays the basis for the normal operation and quality assurance of multicast services in the carrier network.</t>
    </section>
    <section anchor="conventions-used-in-this-document" numbered="true" toc="default">
      <name>Conventions used in this document</name>
      <t>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 <xref target="RFC2119" format="default"/>.</t>
    </section>
    <section anchor="performance-measurement-method-for-bier" numbered="true" toc="default">
      <name>Performance Measurement method for BIER</name>
      <section anchor="performance-measurement-method" numbered="true" toc="default">
        <name>Performance Measurement method</name>
        <t>During the transimission of multicast packet, the transit nodes send the IOAM data to the controller. When the IOAM data contains the multicast flow information, the controller can quickly locate faults and optimize paths.</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
                               +----+-----+
                               |          |
                               |Controller|
                               |          |
                               +----------+
                                     ^
                                     |Exported IOAM data
                                     |
                                     |
                                     |
               +--------------+------+-------+--------------+
               |              |              |              |
               |              |              |              |
  User     +---+----+     +---+----+     +---+----+     +---+----+                          
 packets   |Encapsu-|     | Transit|     | Transit|     |Decapsu-|                          
 --------->|lating  |====>| Node   |====>| Node   |====>|lating  |---->
           |Node    |     | A      |     | B      |     |Node    |                          
           +--------+     +--------+     +--------+     +--------+
           Insert DEX       Export         Export       Remove DEX
           option and      IOAM data      IOAM data     option and
           export data                                  export data
              BFIR           BFR            BFR            BFER

                    Figure 2: IOAM data transfer process
]]></artwork>
        <t>Based on the new method, the nodes support BIER Routing Header will perform the following steps to forward the multicast packets:</t>
        <t>1) When a BFIR receives a multicast packet, it will encapsulate the data as the method in <xref target="I-D.wang-bier-rh-bier" format="default"/>.</t>
        <t>2) The BFIR hashes the quintuple information (multicast source address, Multicast destination address, BFIR address, End.MVPN, BIER-TE Algo) into a 32-bit flow id field. Where, multicast source address is the IPv6 address of the multicast packet, multicast destination address is IPv6 multicast destination address, and the fields of End.MVPN, BIER-TE Algo are consistent with those mentioned in <xref target="I-D.wang-bier-rh-bier" format="default"/>. The BFIR saves the flow id field and its corresponding quintuple information in the flow id mapping table, and sends the flow id mapping table to the controller.</t>
        <t>3) The BFIR encapsulates the hashed flow id field into the direct-export header. And then, the multicast packet is forwarded according to BIFT table.</t>
        <t>4) The BFR and BFER collect and export IOAM data to the controller.</t>
        <t>5) The controller analyzes IOAM data and proposes performance optimization suggestions for each forwarding path for the multicast flows based on the flow id field in the performance sampling data and the flow id mapping table reported by the BFIR.</t>
      </section>
      <section anchor="flow-id-mapping-table" numbered="true" toc="default">
        <name>Flow ID mapping table</name>
        <t>Due to the IOAM header is encapsulated by ingress router, it needs a method to determine which multicast flow information should be assigned to the flow id field.</t>
        <t>On ingress router, a "Flow ID mapping table" should be maintain to save the mapping between Flow ID field and (multicast source address, Multicast destination address, BFIR address, End.MVPN, BIER-TE Algo).
Its structure is as follow:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
    +----------+-------------------------------------------------------+
    | flow id1 | (multicast source address1, multicast destination     |
    |          |  address1, BFIR address1,End.MVPN1, BIER-TE Algo1)    |
    +----------+-------------------------------------------------------+
    | flow id2 | (multicast source address2, multicast destination     |
    |          |  address2, BFIR address2,End.MVPN2, BIER-TE Algo2)    |    
    +----------+-------------------------------------------------------+
    | ...      | ...                                                   |
    +----------+-------------------------------------------------------+
              Figure 1: Flow ID mapping table
]]></artwork>
      </section>
    </section>
    <section anchor="security-considerations" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>To be added.</t>
    </section>
    <section anchor="iana-considerations" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>To be added.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>Informative References</name>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8279.xml"/>
      <xi:include href="https://datatracker.ietf.org/doc/bibxml3/draft-wang-bier-rh-bier.xml"/>
      <xi:include href="https://datatracker.ietf.org/doc/bibxml3/draft-ietf-bier-pmmm-oam.xml"/>
      <xi:include href="https://datatracker.ietf.org/doc/bibxml3/draft-ietf-ippm-ioam-data.xml"/>
      <xi:include href="https://datatracker.ietf.org/doc/bibxml3/draft-ietf-ippm-ioam-direct-export.xml"/>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
