<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="2"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-ahuang-ippm-dex-timestamp-ext-00"
     ipr="trust200902">
  <front>
    <title abbrev="Timestamp extension IOAM DEX">Timestamp extension for In
    Situ Operations, Administration, and Maintenance (IOAM) Direct
    Export</title>

    <author fullname="Alex Huang Feng" initials="A." surname="Huang Feng">
      <organization>INSA-Lyon</organization>

      <address>
        <postal>
          <street/>

          <city>Lyon</city>

          <region/>

          <code/>

          <country>France</country>
        </postal>

        <phone/>

        <facsimile/>

        <email>alex.huang-feng@insa-lyon.fr</email>

        <uri/>
      </address>
    </author>

    <author fullname="Pierre Francois" initials="P." surname="Francois">
      <organization>INSA-Lyon</organization>

      <address>
        <postal>
          <street/>

          <city>Lyon</city>

          <region/>

          <code/>

          <country>France</country>
        </postal>

        <phone/>

        <facsimile/>

        <email>pierre.francois@insa-lyon.fr</email>

        <uri/>
      </address>
    </author>

    <author fullname="Benoit Claise" initials="B" surname="Claise">
      <organization>Huawei</organization>

      <address>
        <email>benoit.claise@huawei.com</email>
      </address>
    </author>

    <author fullname="Thomas Graf" initials="T" surname="Graf">
      <organization>Swisscom</organization>

      <address>
        <postal>
          <street>Binzring 17</street>

          <city>Zurich</city>

          <code>8045</code>

          <country>Switzerland</country>
        </postal>

        <email>thomas.graf@swisscom.com</email>
      </address>
    </author>

    <date day="15" month="February" year="2023"/>

    <abstract>
      <t>This document extends the In Situ Operations, Administration, and
      Maintenance (IOAM) Direct Export option type to support timestamping by
      adding and defining two optional timestamp fields and corresponding
      flags.</t>
    </abstract>

    <note title="Requirements Language">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
      "OPTIONAL" in this document are to be interpreted as described in BCP 14
      <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when,
      they appear in all capitals, as shown here.</t>
    </note>
  </front>

  <middle>
    <section anchor="introduction" title="Introduction">
      <t>Network operators wish to measure the On-Path delay across their
      networks to understand which part of the network causes how much delay
      and impact which applications. Network nodes can leverage IOAM
      <xref target="RFC9197"/> to add timestamps into the packet and export
      the raw data with <xref target="I-D.spiegel-ippm-ioam-rawexport"/> or
      the calculated On-Path delay with <xref
      target="I-D.ietf-opsawg-ipfix-on-path-telemetry"/> to the IPFIX <xref
      target="RFC7011"/> collector.</t>

      <t>In order to support Postcard-Based On-Path delay measurement, IOAM
      Direct Export Option-type (DEX) <xref target="RFC9326"/> needs to be
      extended with timestamps to accommodate delay monitoring.</t>

      <t>This document defines two new Extension fields for IOAM DEX
      Option-type <xref target="RFC9326"/> to support an optional timestamp in
      the header.</t>
    </section>

    <section anchor="solution_overview" title="Solution overview">
      <t>The IOAM DEX Option-type format is defined in <xref target="RFC9326">
      Section 3.2</xref>. To be able to measure the delay between the IOAM
      encapsulation node and the current IOAM node, the timestamp is added to
      the IOAM DEX option-type as illustrated in <xref
      target="fig_dex_header"/>.</t>

      <t>This document proposes two optional fields to be included in the IOAM
      DEX option type format so that they can be enabled using IOAM DEX
      Extension-Flags. New Extension-Flags are allocated by IANA, as defined in 
      <xref target="IANA_Considerations"/>.
      This document proposes using the bit 2 for the Timestamp Seconds 
      and the bit 3 for the Timestamp Fraction.</t>

      <figure anchor="fig_dex_header"
              title="IOAM DEX Option-Type Format including the timestamps">
        <artwork align="center"><![CDATA[
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        Namespace-ID           |     Flags     |Extension-Flags|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               IOAM-Trace-Type                 |   Reserved    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Flow ID (Optional)                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Sequence Number  (Optional)               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   Timestamp Seconds  (Optional)               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                  Timestamp Fraction  (Optional)               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>

      <t>While the Timestamp Seconds field can be used standalone, 
      the Timestamp Fraction MUST be used in combination with the Timestamp
      Seconds field.</t>
    </section>

    <section anchor="timestamp_formats" title="Timestamp Formats">
      <t>The Timestamp Seconds and Timestamp Fraction field encoding format
      definitions are described in Section 5 of <xref target="RFC9197"/>.</t>
    </section>

    <section anchor="export" title="Export Method">
      <t>While the Timestamp Seconds and Timestamp Fraction can be exported
      via IOAM raw export using <xref target="I-D.spiegel-ippm-ioam-rawexport"/>
      and the calculated On-Path delay can be exported using IPFIX with <xref 
      target="I-D.ietf-opsawg-ipfix-on-path-telemetry"/>, the mechanism and
      associated formats for exporting the delay metrics are outside
      the scope of this document.</t>
    </section>

    <section anchor="usecases" title="Use Cases">
      <t>Possible interesting On-Path delay measurement use cases in
      combination with other key metrics is described in Section 5 of <xref
      target="I-D.ietf-opsawg-ipfix-on-path-telemetry"/>.</t>
    </section>

    <section anchor="security" title="Security Considerations">
      <t>The security considerations for the IOAM DEX Option-type are
      described in <xref target="RFC9326"/>. This document adds no additional
      security considerations.</t>
    </section>

    <section anchor="IANA_Considerations" title="IANA Considerations">
      <t>This document requests IANA to create the following two bits in the
      "IOAM DEX Extension-Flags" registry.</t>

      <t><figure>
          <artwork align="left"><![CDATA[
  Bit: 2
  Description: Timestamp Seconds
  Reference: this document]]></artwork>
        </figure></t>

      <t><figure>
          <artwork align="left"><![CDATA[
  Bit: 3
  Description: Timestamp Fraction
  Reference: this document]]></artwork>
        </figure></t>
    </section>

    <section anchor="acknowledgements" title="Acknowledgements">
      <t>The authors would like to thank xxx for their review and valuable
      comments.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?>

      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8174.xml"?>

      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.9197.xml"?>

      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.9326.xml"?>
    </references>

    <references title="Informative References">
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.7011.xml"?>

      <?rfc include="https://bib.ietf.org/public/rfc/bibxml-ids/reference.I-D.spiegel-ippm-ioam-rawexport.xml"?>

      <?rfc include="https://bib.ietf.org/public/rfc/bibxml-ids/reference.I-D.ietf-opsawg-ipfix-on-path-telemetry.xml"?>
    </references>
  </back>
</rfc>
