<?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-rfc version 1.7.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-tang-ntp-ntpv5-extension-field-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title>NTPv5 Timestamp Extension Field</title>
    <seriesInfo name="Internet-Draft" value="draft-tang-ntp-ntpv5-extension-field-00"/>
    <author fullname="Siyu Tang">
      <organization>Huawei Technologies</organization>
      <address>
        <email>siyutang@huawei.com</email>
      </address>
    </author>
    <author fullname="Guanhua Zhuang">
      <organization>Huawei Technologies</organization>
      <address>
        <email>zhuangguanhua@huawei.com</email>
      </address>
    </author>
    <date year="2025" month="October" day="31"/>
    <area>INT</area>
    <workgroup>NTP</workgroup>
    <keyword>NTPv5</keyword>
    <keyword>Frequency transfer</keyword>
    <keyword>Extension field</keyword>
    <abstract>
      <?line 90?>
<t>This document describes an alternative timestamp to the Monotonic Receive Timestamp Extension Field defined in NTP version 5 (NTPv5) when transferring frequency offset. The new extension field, named Monotonic RAW Receive Timestamp Extension Field uses a stable clock source that is not affected by NTP adjustment. It provides more accurate frequency-transfer offset between a remote server and local client, which further enhances the accuracy of time synchronization.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://example.com/LATEST"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-tang-ntp-ntpv5-extension-field/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        WG Working Group mailing list (<eref target="mailto:WG@example.com"/>),
        which is archived at <eref target="https://example.com/WG"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/USER/REPO"/>.</t>
    </note>
  </front>
  <middle>
    <?line 94?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>NTP version 5 (NTPv5) <xref target="I-D.draft-ietf-ntp-ntpv5"/> introduces a Monotonic Receive Timestamp Extension Field to transfer frequency in addition to the time-transfer offset captured by the receive and transmit timestamps in the header. Separation of time and frequency transfer using different clocks shall enhance synchronization accuracy. 
It should be noted that when the system clock is slewed <xref target="RFC5905"/>, the clock rate of the Monotonic Receive Timestamp Extension Field changes accordingly, i.e., clock rate diverges from the rate of the crystal. This introduces additional errors when performing frequency transfer, hence, negatively impact the accuracy of clock synchronization. 
This document proposes a stable clock source whose rate is not affected by NTP adjustment. The Monotonic RAW Receive Timestamp Extension Field is recommended to faithfully reflect the crystal rate, despite stepping or slewing a system clock. In case of link asymmetry, the Monotonic RAW Transmit Timestamp Extension Field is recommended in addition to the Monotonic RAW Receive Timestamp Extension Field. Measurements from the two extension fields can be used to identify link asymmetry and enhance time synchronization accuracy.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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>
      <?line -18?>

<section anchor="terminology">
        <name>Terminology</name>
        <t>Monotonic Raw Original Timestamps (raw_org): Time of the monotonic raw clock at the client when the request departed for the server, in NTP timestamp format.</t>
        <t>Monotonic Raw Receive Timestamps (raw_rec): Time of the monotonic raw clock at the server when the request arrived from the client, in NTP timestamp format.</t>
        <t>Monotonic Raw Transmit Timestamps (raw_xmt): Time of the monotonic raw clock at the server when the response left for the client, in NTP timestamp format.</t>
        <t>Monotonic Raw Destination Timestamps (raw_dst): Time of the monotonic raw clock at the client when the reply arrived from the server, in NTP timestamp format.</t>
      </section>
    </section>
    <section anchor="monotonic-receive-timestamp-extension-field-in-ntpv5">
      <name>Monotonic Receive Timestamp Extension Field in NTPv5</name>
      <t>The Monotonic Receive Timestamp Extension Field defined in NTPv5 uses a different clock to transfer frequency between client and server. In NTP version 4 (NTPv4) <xref target="RFC5905"/>, the clock discipline function defines two methods to adjust system clock, i.e., step and slew. In the step mode, the clock is stepped to the correct offset. In the slew mode, the clock rate is adjusted to achieve the desired offset during a certain amount of time. The clock rate used to measure the Monotonic Receive Timestamp remains unchanged if the system clock is stepped, but is subject to changes if the clock is slewed, see Figure 1.</t>
      <sourcecode type="text"><![CDATA[
+-----------------------------------------------------+
| ClockID              |    STEP   |    SLEW          |
| in Linux             |           |                  |
+-----------------------------------------------------|
| CLOCK_REALTIME       |    YES    |     YES          |
|                                                     |
| CLOCK_MONOTONIC      |    NO     |     YES          |
|                                                     |
| CLOCK_MONOTONIC_RAW  |    NO     |     NO           |
+-----------------------------------------------------|
]]></sourcecode>
      <t>Figure 1 — Impact of NTP clock adjustment on clock rate/frequency.</t>
      <t>In NTPv5 Use Cases and Requirements <xref target="I-D.ietf-ntp-ntpv5-requirements"/>, it is recommended to adopt a linear and monotonic timescale when communicating time between a number of computers. Stepping a clock may cause the system time to jump backward, making the timescale non-monotonic. When the system clock is slewed, the rate of the monotonic clock source moves at the same speed as the system clock. The frequency-transfer offset can no longer reflect the rate of the crystal, thus, introducing errors in frequency transfer. In a multi-hop scenario, this effect can be amplified over a number of hops. In some scenarios, it can increase time errors when synchronizing time, sometimes, result in a system that fails to converge, see Section 5.</t>
    </section>
    <section anchor="monotonic-raw-timestamp-extension-fields">
      <name>Monotonic RAW Timestamp Extension Fields</name>
      <t>In the Linux system, CLOCK_MONOTONIC_RAW is a clock source that is not subject to NTP adjustment, despite stepping or slewing a clock, see Figure 1. It provides a stable source to calculate the frequency-transfer offset and reduces the error that has been introduced using the Monotonic Receive Timestamp extension field.</t>
      <section anchor="monotonic-raw-receive-timestamp-extension-field">
        <name>Monotonic Raw Receive Timestamp Extension Field</name>
        <t>An NTPv5 message contains multiple optional extension fields. A Monotonic Raw Receive Timestamp Extension Field is recommended in addition to the Monotonic Receive Timestamp extension field. It is also recommended to derive the frequency-transfer offset from the Monotonic Raw Receive Timestamp Extension Field if CLOCK_MONOTONIC_RAW is available. 
The Monotonic Raw Receive Timestamp Extension Field has the same format of the Monotonic Receive Timestamp Extension Field. It complies to the constant length of 16 octets as defined in NTPv5. The counter and timestamp are set in response. This extension field enhances the accuracy of frequency-transfer function and further reduce synchronization time error.</t>
      </section>
      <section anchor="monotonic-raw-transmit-timestamp-extension-field">
        <name>Monotonic Raw Transmit Timestamp Extension Field</name>
        <t>The Monotonic Raw Receive Timestamp Extension Field appears to be insufficient when dealing with asymmetric packet delay variation (PDV) on the forward and backward paths. The same issue exists with the Monotonic Receive Timestamp Extension Field.
The Monotonic Raw Transmit Timestamp Extension Field is included to identify link asymmetry (i.e., different PDV on forward and backward paths) and reduce related errors. The Monotonic Raw Transmit Timestamp Extension Field has the same format of the Monotonic Receive Timestamp Extension Field.</t>
      </section>
    </section>
    <section anchor="frequency-to-the-root-server-extension-field">
      <name>Frequency to The Root Server Extension Field</name>
      <t>In NTPv5, the frequency-transfer offset is computed as the offset of a client relative to its immediate preceding server. A client is able to synchronize with the primary server (i.e., the root server) only if its preceding server has synchronized its frequency with the primary server. The Frequency To The Root Server Extension Field is an optional field that can be used to expedite the convergence speed when synchronizing time. 
The Frequency To The Root Server Extension Field contains the frequency-transfer offset of a client relative to the Realtime clock of the primary server. This extension field has a fixed length of 12 octets. The 1-bit sign bit is a binary number indicates if the frequency of a client is faster (1) or slower (0) relative to the primary server. The absolute frequency-transfer offset relative to the primary server is carried by the remaining 31-bit.</t>
      <sourcecode type="text"><![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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Type              |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|s|               Frequency To The Root Server (31)             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></sourcecode>
      <t>Figure 2 Format of a Frequency To The Root Server Extension Field.</t>
      <t>Assume a multi-hop scenario with n stratum levels. The primary server determines the frequency offset between the Realtime clock and the Monotonic Raw clock, and include this value into the Frequency To The Root Server Extension Field. The frequency-transfer offset of a server at stratum level i (2&lt;i&lt;=n) relative to its immediate preceding server is determined using the Monotonic Raw Receive Timestamp Extension Field (or with the Monotonic Receive Timestamp Extension Field if the clock is stepped). When receiving an NTP message, a server at stratum level i (2&lt;i&lt;=n) reads the Frequency To The Root Server Extension Field, and adds the frequency-transfer offset that it computed locally to the existing value. This way, the frequency-transfer offset of a server relative to the primary server is captured and passed down to the succeeding nodes.</t>
      <t>For simplicity, assume that all nodes (other than the primary server) have successfully learnt their frequency-transfer offset relative to the preceding server at time t_k. Without the Frequency To The Root Server Extension Field, synchronization of a server to the primary server happens sequentially in time, i.e., a server with stratum level i needs to wait for its immediate preceding server (with stratum level i-1) to complete the operation of setting frequency-transfer offset. Note the operation of setting frequency offset is decoupled with NTP message exchange. This can take longer for the server at the last stratum level to synchronize with the primary server. With the assist of the Frequency To The Root Server Extension Field, the frequency-transfer offset of a server relative to the primary server can be immediately passed down in an NTP message, allowing the succeeding nodes to synchronize their frequency relative to the primary server once receiving that message.</t>
    </section>
    <section anchor="implementing-the-frequency-transfer-function-with-different-timestamps">
      <name>Implementing the frequency transfer function with different timestamps</name>
      <t>## Frequency transfer function assisted with the Monotonic Receive Timestamp Extension Field
NTPv5 does not disclose details on an algorithm that assist the implementation of the frequency transfer function in conjunction with the Monotonic Receive Timestamp Extension Field. One feasible implementation is to subtract the difference between two consecutive Monotonic Receive Timestamps from the difference between two consecutive Receive timestamps. This gives us the amount of correction that to be applied to the time-transfer offset. Once the time-transfer offset is corrected, the frequency-transfer offset can be derived using techniques such as linear regression from a number of time-transfer offset samples. When the system clock is stepped, the monotonic clock rate is unaffected. The above function will truthfully recover the frequency-transfer offset from a set of measurement samples. If the system clock is slewed, a client can note down the change of frequency over a certain amount of time. This allows the client to compensate the frequency change caused by clock slew. However, the Monotonic Receive Timestamp Extension Field is not able to recover the amount of slewed frequency in the remote server. This introduces errors while estimating the frequency-transfer offset. 
To the knowledge of the author, Chrony 4.7 release <xref target="Chrony-project"/> is the only open source implementation of the Monotonic Receive Timestamp extension field and the frequency transfer function defined in NTPv5. The performance of Chrony 4.7 in terms of frequency-transfer offset estimation would encounter the same issue if the system clock is slewed. In a multi-hop scenario, the frequency-transfer offset between a server and client pair may not converge. This will negatively impact the synchronization accuracy of following nodes.</t>
      <section anchor="frequency-transfer-function-assisted-with-the-monotonic-raw-receive-timestamp-extension-field">
        <name>Frequency transfer function assisted with the Monotonic Raw Receive Timestamp Extension Field</name>
        <t>One approach to determine the frequency-transfer offset with the Monotonic Raw Timestamp Extension Field is at a client is to obtain the amount of offset correction that needs to be applied to the time-transfer offset. This can be done by subtracting the difference between two consecutively Monotonic Raw receive timestamps in the response from the difference between two consecutively Realtime timestamps. The frequency-transfer offset shall be estimated using techniques such as linear regression from a number of corrected time-transfer offset samples. Since the Monotonic Raw receive timestamps is not affected by NTP adjustment. No additional error is introduced if clock is slewed. 
Alternatively, a client can choose to determine the difference between the Monotonic Raw Receive Timestamps (T2_raw) in the extension field and the Monotonic Raw Original Timestamps (T1_raw) maintained locally at the client. The frequency-transfer offset can be derived with a number of computed samples using techniques such as linear regression, etc.</t>
      </section>
      <section anchor="frequency-transfer-function-assisted-with-the-monotonic-raw-transmit-timestamp-extension-field">
        <name>Frequency transfer function assisted with the Monotonic Raw Transmit Timestamp Extension Field</name>
        <t>The Monotonic Raw Transmit Timestamp Extension Field should always be used together with the Monotonic Raw Receive Timestamp Extension Field to enable bi-directional measurement. In case of link asymmetry, the forward and backward paths would experience different delay/jitter. Thus, T2_rwaw-T1_raw demonstrates distinct different behavior than T3_raw-T4_raw, i.e., difference between the Monotonic Raw Transmit Timestamps (T3_raw) in the extension field and the Monotonic Raw Destination Timestamps (T4_raw) at the client. 
The client can carefully apply a filter algorithm to take out anomalies on T2_raw-T1_raw and T3_raw-T4_raw respectively. Averaging over T’2_raw-T’1_raw and T’3_raw-T’4_raw gives us the offset and delay of the monotonic raw clock of a client relative to the server. the superscript ’ denotes data samples that are left after applying the filtering mechanism(s). The slope of the delay (or offset) derived from the monotonic raw timestamps would more truthfully reflect the true frequency-transfer offset between a server and client.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>As this document is intended to create discussion and consensus, it introduces no security considerations of its own.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC5905">
          <front>
            <title>Network Time Protocol Version 4: Protocol and Algorithms Specification</title>
            <author initials="D." surname="Mills">
              <organization/>
            </author>
            <author initials="" surname="Others">
              <organization/>
            </author>
            <date year="2010"/>
          </front>
          <seriesInfo name="RFC" value="5905"/>
          <seriesInfo name="DOI" value="10.17487/RFC5905"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.draft-ietf-ntp-ntpv5" target="https://datatracker.ietf.org/doc/html/draft-ietf-ntp-ntpv5-06">
          <front>
            <title>Network Time Protocol Version 5</title>
            <author initials="M." surname="Lichvar">
              <organization/>
            </author>
            <author initials="T." surname="Mizrahi">
              <organization/>
            </author>
            <date year="2025" month="September"/>
          </front>
          <seriesInfo name="DOI" value="Internet-Draft, draft-ietf-ntp-ntpv5-06"/>
        </reference>
        <reference anchor="I-D.ietf-ntp-ntpv5-requirements" target="https://www.ietf.org/archive/id/draft-ietf-ntp-ntpv5-requirements-04.html">
          <front>
            <title>NTP Version 5 use cases and requirements</title>
            <author initials="J." surname="Gruessing">
              <organization/>
            </author>
            <date year="2024" month="January"/>
          </front>
          <seriesInfo name="DOI" value="Internet-Draft, draft-ietf-ntp-ntpv5-requirements-04"/>
        </reference>
        <reference anchor="Chrony-project" target="https://chrony-project.org">
          <front>
            <title>Chrony 4.7</title>
            <author>
              <organization/>
            </author>
            <date year="2025" month="October"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 208?>



  </back>
  <!-- ##markdown-source:
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
EulgMCAXEQT/B6oNGLRKQwAA

-->

</rfc>
