<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.3.17 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc tocindent="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc strict="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>

<rfc ipr="trust200902" docName="draft-gruessing-ntp-ntpv5-requirements-00" category="info">

  <front>
    <title abbrev="NTPv5 use cases and requirements">NTPv5 use cases and requirements</title>

    <author initials="J." surname="Gruessing" fullname="James Gruessing">
      <organization></organization>
      <address>
        <email>james.ietf@gmail.com</email>
      </address>
    </author>

    <date />

    <area>Internet</area>
    <workgroup>Network Time Protocol</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document describes the use cases, requirements, and considerations that
should be factored in the design of a successor protocol to supercede version 4
of the NTP protocol <xref target="RFC5905"/> presently referred to as NTP version 5
(“NTPv5”). This document is non-exhaustive and does not in its current version
represent working group consensus.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>NTP version 4 <xref target="RFC5905"/> has seen active use for over a decade, and within
this time period the protocol has not only been extended to support new
requirements but also fallen victim to vulnerabilities that have made it used
for distributed denial of service (DDoS) amplification attacks.</t>

<section anchor="notational-conventions" title="Notational Conventions">

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

</section>
</section>
<section anchor="use-cases-and-existing-deployments-of-ntp" title="Use cases and existing deployments of NTP">

<t>There are several common scenarios for exxisting NTPv4 deployments; publicly
accessible NTP services such as the NTP Pool <xref target="ntppool"/> are used to offer clock
synchronisation for end users and embedded devices, ISP provided servers to
synchronise devices such as customer-premesis equipment where reduced accuracy
may be tollerable. Depending on the network and path these deployments may be
affected by variable latency as well as throttling or blocking by providers.</t>

<t>Data centres and cloud computing providers also have deployed and offer NTP
services both for internal use and for customers, particularly where the network
is unable to offer or does not require PTP <xref target="IEEE-1588-2008"/>. As these
deployments are less likely to be constrained by network latency or power the
potential for higher levels of accuracy and precision within the bounds of the
protocol are possible.</t>

</section>
<section anchor="requirements" title="Requirements">

<t>At a high level, NTPv5 should be a protocol that is capable of operating in both
local networks and also over public internet connections where packet loss,
delay, and even filtering may occur.</t>

<t>Timestamp resolution SHOULD either match or exceed NTPv4, and be extensible to
represent any specified timescale.</t>

<t>The protocol SHOULD NOT transmit time zone information and should focus on
providing clock synchronisation as TZDIST <xref target="RFC7808"/> already provides this
ability.</t>

<section anchor="ip-affinity" title="IP affinity">

<t>Servers SHOULD have a new identifier that peers use as reference, this SHOULD
NOT be a FQDN, an IP address, or identifier tied to a certificate. Servers
SHOULD be able to migrate and change their identifiers as stratum topologies or
network configuration changes occur.</t>

<t>Clients SHOULD re-establish connections with servers at an interval to prevent
attempting to maintain connectivity to dead host and give network operators the
ability to move traffic away from IP addresses in a timely manner. This
functionality should also compliment having a “Kiss of Death” or similar message
from servers.</t>

</section>
<section anchor="algorithms" title="Algorithms">

<t>Algorithms describing functions such as clock filtering, selection and
clustering SHOULD be omitted from the specification; the specification should
instead only provide only what is necessary to describe protocol semantics and
normative behaviours.</t>

<t>The working group should consider creating a separate informational document to
describe an algorithm to assist with implementation, and to consider adopting
future documents which describe new algorithms as they are developed.</t>

</section>
<section anchor="timescales" title="Timescales">

<t>Support SHOULD be available for other timescales in addition to UTC - this
should include, but not limited to the use of TAI or Modified Julian Date as
defined in <xref target="I-D.ietf-ntp-roughtime"/>. Consideration should be made to include
listing the supported timescales either as part of specific IANA parameter
registry, or as part of the extension registry.</t>

</section>
<section anchor="leap-seconds" title="Leap seconds">

<t>The specification or the protocol SHOULD be explicit about when a leap
second is being applied, and the protocol should allow for transmiting an
upcoming leap second ahead of the day it is to be applicable.</t>

<section anchor="leap-second-smearing" title="Leap second smearing">

<t>Server responses SHOULD include not only an indicator as to wether the server
supports smearing, but also if the current time being transmitted is smeared.
The protocol may also transmit the start/end or duration of the smearing ahead
of time.</t>

</section>
</section>
<section anchor="backwards-compatibility-to-nts-and-ntpv4" title="Backwards compatibility to NTS and NTPv4">

<t>The support for compatibility with other protocols SHOULD NOT prevent addressing
issues that have previous caused issues in deployments or cause ossification of
the protocol.</t>

</section>
</section>
<section anchor="iana-considerations" title="IANA Considerations">

<t>Considerations should be made about the future of the existing IANA registry
for NTPv4 parameters. If NTPv5 becomes incompatible with these parameters a new
registry SHOULD be created.</t>

</section>
<section anchor="security-considerations" title="Security Considerations">

<t>Encryption and authentication MUST be provided by the protocol specification as
a default and MUST be resistent to downgrade attacks. The encryption used must
have agility, allowing for the protocol to update as more secure cryptography
becomes known and vulnerabilities are discovered.</t>

<t>The specification MAY consider leaving room for middleboxes which may
deliberately modify packets in flight for legitimate purposes. Thought must be
given around how this will be incorporated into any applicable trust model.</t>

<t>Detection and reporting of server malfeasence SHOULD remain out of scope of this
specification as <xref target="I-D.ietf-ntp-roughtime"/> already provides this capability as
a core functionality of the protocol.</t>

<t>–back</t>

</section>
<section anchor="acknowledgements" title="Acknowledgements">

<t>The author would like to acknowledge Daniel Franke, Watson Ladd, Miroslav
Lichvar for their existing documents and ideas. The author would also like to
thank Angelo Moriondo, Franz Karl Achard, and Malcom McLean for providing 
the author with motivation.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference  anchor="RFC2119" target='https://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></author>
<date year='1997' month='March' />
<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="RFC5905" target='https://www.rfc-editor.org/info/rfc5905'>
<front>
<title>Network Time Protocol Version 4: Protocol and Algorithms Specification</title>
<author initials='D.' surname='Mills' fullname='D. Mills'><organization /></author>
<author initials='J.' surname='Martin' fullname='J. Martin' role='editor'><organization /></author>
<author initials='J.' surname='Burbank' fullname='J. Burbank'><organization /></author>
<author initials='W.' surname='Kasch' fullname='W. Kasch'><organization /></author>
<date year='2010' month='June' />
<abstract><t>The Network Time Protocol (NTP) is widely used to synchronize computer clocks in the Internet.  This document describes NTP version 4 (NTPv4), which is backwards compatible with NTP version 3 (NTPv3), described in RFC 1305, as well as previous versions of the protocol. NTPv4 includes a modified protocol header to accommodate the Internet Protocol version 6 address family.  NTPv4 includes fundamental improvements in the mitigation and discipline algorithms that extend the potential accuracy to the tens of microseconds with modern workstations and fast LANs.  It includes a dynamic server discovery scheme, so that in many cases, specific server configuration is not required.  It corrects certain errors in the NTPv3 design and implementation and includes an optional extension mechanism.   [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5905'/>
<seriesInfo name='DOI' value='10.17487/RFC5905'/>
</reference>



<reference  anchor="RFC7808" target='https://www.rfc-editor.org/info/rfc7808'>
<front>
<title>Time Zone Data Distribution Service</title>
<author initials='M.' surname='Douglass' fullname='M. Douglass'><organization /></author>
<author initials='C.' surname='Daboo' fullname='C. Daboo'><organization /></author>
<date year='2016' month='March' />
<abstract><t>This document defines a time zone data distribution service that allows reliable, secure, and fast delivery of time zone data and leap-second rules to client systems such as calendaring and scheduling applications or operating systems.</t></abstract>
</front>
<seriesInfo name='RFC' value='7808'/>
<seriesInfo name='DOI' value='10.17487/RFC7808'/>
</reference>



<reference  anchor="RFC8174" target='https://www.rfc-editor.org/info/rfc8174'>
<front>
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
<author initials='B.' surname='Leiba' fullname='B. Leiba'><organization /></author>
<date year='2017' month='May' />
<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>



<reference anchor="I-D.ietf-ntp-roughtime">
<front>
<title>Roughtime</title>

<author initials='A' surname='Malhotra' fullname='Aanchal Malhotra'>
    <organization />
</author>

<author initials='A' surname='Langley' fullname='Adam Langley'>
    <organization />
</author>

<author initials='W' surname='Ladd' fullname='Watson Ladd'>
    <organization />
</author>

<date month='August' day='29' year='2020' />

<abstract><t>This document specifies Roughtime - a protocol that aims to achieve rough time synchronization while detecting servers that provide inaccurate time and providing cryptographic proof of their malfeasance.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-ntp-roughtime-03' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-ntp-roughtime-03.txt' />
</reference>




    </references>

    <references title='Informative References'>

<reference anchor="ntppool" target="https://www.ntppool.org">
  <front>
    <title>pool.ntp.org: the internet cluster of ntp servers</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="IEEE-1588-2008" >
  <front>
    <title>IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>


    </references>



  </back>

<!-- ##markdown-source:
H4sIANayul8AA41ZYXPbxhH9fr/iqnxJZkha8li1rXypIsqNHElWLHk6aafT
OQJH8qoDDr0DSDMa/fe+3T2AoJzONDO2QeCwt7f73ttdZDqdqta13p7po9uH
u82p7pLVhUk2aVOXOtr/dC7aytZtOlJmsYh2838tLUNRmwpmy2iW7XQVO5uS
q1fTum3oz+Z0On5henysStNi/dP8/OHyWSnTtesQz5TGf1P+W2tXpzP9cab/
2lvL92Wnj/g7ffPMVsb5M/1vejhztl3+ZUV3ZkWolHJNPNNt7FL7+vj4/fFr
VcCHVYi7M+y1DMpEa870Vd3aWNtWbUN8XMXQNWf61rb0Sz+4yuq7GNpQBK8e
7Q53y/0r0zkdX6UWEfqX8aGGnzubVOPO9D/wzkTjL1eXiMFEpxDbaJcJV7sq
X7TRFXgEbxtDF6lbDNe44OBN4Kx3tf2nUnWIlWndxkrgPn+4eH1y8n74cfr+
+HT48fbd8bvhx7uTt2/kx9V0znHiTOGwq3WLM54hWIjIgXUsaELwZznSWvdI
orszPJ2FuEJ81xYOSjx04RFsG3VY0us62bixEXgZTJi4si1srNu2SWevXm23
21neiMzJyqvLy8vpyem7d1Pk7d23DtBzfU9BN7HUcFsbJMkWLrlQ6wsfikd9
v6uLdQy1+x1Hwt0+ibw8p9eW+saa1AlKGeYXoW4jVt3vcI5q5HkZkNOjk+PZ
ycnx+1fkwf3DfEb+zd6cvn3/9s/HR0pNp1NtFsgqEqjUw9olvFd0bL20qYhu
AQxTxAZyTQ6YNWEnilAnV9rIntN6A4ytQ+dLvbB6CeMhwndXsykYdquaQm6A
n6IAP3DEpj9vG3C3sbGwpdWUDYrGG4Xl9DKovl/69PSnjKLnZ9y1CS75HRxc
2kgbwpRJ/Epv51R9L2px9MNMH54X13Wop/br2gATQBUfrQyW7rfkvGuTLjpY
xupsUEWb99WUIPBcMyM5JLZOXZpJlCtXlt4q9R1xMYayKyhWSo2de3N4oDV8
T9bWGvEjdygFBIaA9QhdaQtTWknA1rVrV6uWDkT00IifCyVHbIgW2aOThBox
WpBh+7W1IHuZY96A8Lq2WzXOsF50QJpPAXn0Hi9toACuolc2na+R9IXzrnVW
8o5d4GoFzxAucrlU5HPpSDpgCptBXZzxlH+imyus/n4+D/c/aFM13i1dIQQw
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
RazfiISiCuj+OAcz9V9Fs4d7SBoAAA==

-->

</rfc>

