[Ntp] Antw: [EXT] NTPv5 draft suggestion to move timescale offset into extension fields.
Ulrich Windl <Ulrich.Windl@rz.uni-regensburg.de> Mon, 07 November 2022 07:34 UTC
Return-Path: <Ulrich.Windl@rz.uni-regensburg.de>
X-Original-To: ntp@ietfa.amsl.com
Delivered-To: ntp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 37266C1524A1 for <ntp@ietfa.amsl.com>; Sun, 6 Nov 2022 23:34:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.906
X-Spam-Level:
X-Spam-Status: No, score=-1.906 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 11XJaO24aEa1 for <ntp@ietfa.amsl.com>; Sun, 6 Nov 2022 23:34:22 -0800 (PST)
Received: from mx2.uni-regensburg.de (mx2.uni-regensburg.de [IPv6:2001:638:a05:137:165:0:3:bdf8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2752DC1524A0 for <ntp@ietf.org>; Sun, 6 Nov 2022 23:34:21 -0800 (PST)
Received: from mx2.uni-regensburg.de (localhost [127.0.0.1]) by localhost (Postfix) with SMTP id AE7CB6000050 for <ntp@ietf.org>; Mon, 7 Nov 2022 08:34:14 +0100 (CET)
Received: from gwsmtp.uni-regensburg.de (gwsmtp1.uni-regensburg.de [132.199.5.51]) by mx2.uni-regensburg.de (Postfix) with ESMTP id 71ECE600004E for <ntp@ietf.org>; Mon, 7 Nov 2022 08:34:13 +0100 (CET)
Received: from uni-regensburg-smtp1-MTA by gwsmtp.uni-regensburg.de with Novell_GroupWise; Mon, 07 Nov 2022 08:34:13 +0100
Message-Id: <6368B4F4020000A10004F61B@gwsmtp.uni-regensburg.de>
X-Mailer: Novell GroupWise Internet Agent 18.4.1
Date: Mon, 07 Nov 2022 08:34:12 +0100
From: Ulrich Windl <Ulrich.Windl@rz.uni-regensburg.de>
To: "ntp@ietf.org" <ntp@ietf.org>, david@venhoek.nl
References: <CAPz_-SU7rctchBVvm59YAoEA7p8Or9aqdGovJ2E98Tp85jVsWQ@mail.gmail.com>
In-Reply-To: <CAPz_-SU7rctchBVvm59YAoEA7p8Or9aqdGovJ2E98Tp85jVsWQ@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Content-Disposition: inline
Archived-At: <https://mailarchive.ietf.org/arch/msg/ntp/rHRfzXijiT_bWTWvjQWJxOKtrss>
Subject: [Ntp] Antw: [EXT] NTPv5 draft suggestion to move timescale offset into extension fields.
X-BeenThere: ntp@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Network Time Protocol <ntp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ntp>, <mailto:ntp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ntp/>
List-Post: <mailto:ntp@ietf.org>
List-Help: <mailto:ntp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ntp>, <mailto:ntp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 07 Nov 2022 07:34:26 -0000
>>> David Venhoek <david@venhoek.nl> schrieb am 06.11.2022 um 15:25 in Nachricht <CAPz_-SU7rctchBVvm59YAoEA7p8Or9aqdGovJ2E98Tp85jVsWQ@mail.gmail.com>: > Below attached is the diff of a PR on Miroslav's draft for NTPv5 for > moving the timescale offset field into a separate extension field. > > In my view, doing so has several advantes: > ‑ We can use larger datatypes for offset, which makes it trivial to > allow larger than 1 second offsets for UT1 which might become > necessary if UTC stops doing leap seconds. > ‑ We gain more bits for both the flag and timescale fields, giving > additional flexibility for these fields. > > Please let me know if you have any feedback on this. > > Kind regards, > David Venhoek > > ‑‑‑ a/ntp‑ntpv5.xml > +++ b/ntp‑ntpv5.xml > @@ ‑163,6 +163,12 @@ > describing the fractional part. The maximum value is > 16 seconds and the resolution is about 3.7 nanoseconds. Note > that > this is different from the 32‑bit time format in NTPv4.</t> > + > + <t hangText="time64"><vspace/> > + A 64 bit signed fixed‑point type containg values in > seconds. It has 32 > + signed integer bits, and 32 fractional bits. The sign > uses 2‑complements > + representation for negative numbers. > + </t> > > <t hangText="timestamp64"><vspace/> > A 64‑bit unsigned fixed‑point type containing a timestamp > describes > @@ ‑199,9 +205,9 @@ > 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 > +‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+ > ‑|LI | VN |Mode | Scale |Stratum| Poll | Precision | > +|LI | VN |Mode | Stratum | Poll | Precision | > +‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+ > ‑| Flags | Era | Timescale Offset | > +| Flags | Era | Timescale | > +‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+ > | Root Delay | > +‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+ > @@ ‑258,8 +264,8 @@ > <t hangText="Mode"><vspace/> > A 3‑bit field containing the value 3 (request) or 4 > (response).</t> > > ‑ <t hangText="Scale"><vspace/> > ‑ A 4‑bit identifier of the timescale. In requests it is the > + <t hangText="Timescale"><vspace/> > + An 8‑bit identifier of the timescale. In requests it is the > requested timescale. In responses it is the timescale of the > receive and transmit timestamps. Defined values are: > > @@ ‑272,10 +278,12 @@ > </t> > > <t hangText="Stratum"><vspace/> > ‑ A 4‑bit field containing the stratum of the server. Primary time > + An 8‑bit field containing the stratum of the server. Primary > time > servers have a stratum of 1, their clients have a stratum of 2, > and > so on. The value of 0 indicates an unknown or infinite stratum. > In > ‑ requests it is always 0.</t> > + requests it is always 0. Servers advertising a stratum above 16 > + should not be synchronized to except when the client is > explicitly > + configured to do so by the end‑user.</t> Doesn't the NTPv4 MAXSTRAT defined that already? HOwever with "Remember that MAXSTRAT is mapped to zero in the transmitted packet." yo'll have to define new semantics, or adjust MAXSTRAT. > > <t hangText="Poll"><vspace/> > An 8‑bit signed integer containing the polling interval as a > @@ ‑289,7 +297,7 @@ > requests, which don't contain any timestamps, it is always 0.</t> > > <t hangText="Flags"><vspace/> > ‑ An 8‑bit integer that can contain the following flags: > + A 16‑bit integer that can contain the following flags: > > <list style="hanging"> > <t hangText="0x1: Unknown leap"><vspace/> > @@ ‑773,6 +781,81 @@ > > </section> > > + <section title="Timescale offset request"> > + <t>A clients request for the offset between two indicated > timescales.</t> > + > + <t>The reference field MUST contain the timescale identifier of > + the timescale with respect to which the client wants to know > + the offset.</t> > + > + <t>The target field MUST contain the timescale identifier of the > + timescale for which the client wants to know an offset.</t> > + > + <t>The reserved and placeholder fields MUST be set to 0 > + by the client, and MUST be ignored by a server</t> > + > + <t>A server which does not know either the reference or target > + timescale, or which does not know the offset between them, MUST > + ignore the timescale request.</t> > + > + <figure align="center" anchor="timescale‑offset‑request‑ext‑field" > + title="Format of Timescale Offset Request Extension Field"> > + <artwork><![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 = [[TBD]] (draft 0xF509) | Length = 16 | > ++‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+ > +| Reference | Target | Reserved | > ++‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+ > +| | > +| Offset placeholder (64 bits) | > +| | > ++‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+ > + ]]></artwork> > + </figure> > + </section> > + > + <section title="Timescale offset response"> > + <t> The offset between two given timescales.</t> > + > + <t>The reference field MUST contain the timescale identifier of > + the timescale with respect to which the client wants to know > + the offset.</t> > + > + <t>The target field MUST contain the timescale identifier of the > + timescale for which the client wants to know an offset.</t> > + > + <t>The offset is given such that for a given timestamp in the > + reference timescale, the timestamp in the target timescale > + is the reference scale timestamp plus the offset. (i.e. > + target = reference + offset)</t> Isn't it just the placehoder (set to zero?) here? Please do not use the same description for request and response! > + > + <t>The reserved bits MUST be set to 0 by the server, and MUST > + be ignored by the client.</t> > + > + <t>When the offset between the target and reference timescales > + varies over time, the provided offset MUST be the servers > + best approximation of this offset at the time exactly halfway > + between the receive and transmit timestamps.</t> > + > +<figure align="center" anchor="timescale‑offset‑response‑ext‑field" > + title="Format of Timescale Offset Response Extension Field"> > + <artwork><![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 = [[TBD]] (draft 0xF50A) | Length = 16 | > ++‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+ > +| Reference | Target | Reserved | > ++‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+ > +| | > +| Offset (time64) | > +| | > ++‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+‑+ > + ]]></artwork> > + </figure> > + </section> > </section> > > <section title="Measurement Modes" anchor="measurement‑modes"> > > _______________________________________________ > ntp mailing list > ntp@ietf.org > https://www.ietf.org/mailman/listinfo/ntp
- [Ntp] NTPv5 draft suggestion to move timescale of… David Venhoek
- Re: [Ntp] NTPv5 draft suggestion to move timescal… Miroslav Lichvar
- [Ntp] Antw: [EXT] NTPv5 draft suggestion to move … Ulrich Windl
- Re: [Ntp] NTPv5 draft suggestion to move timescal… Miroslav Lichvar
- Re: [Ntp] NTPv5 draft suggestion to move timescal… David Venhoek
- Re: [Ntp] NTPv5 draft suggestion to move timescal… Miroslav Lichvar
- [Ntp] Antw: [EXT] Re: NTPv5 draft suggestion to m… Ulrich Windl
- Re: [Ntp] [EXT] Re: NTPv5 draft suggestion to mov… David Venhoek
- Re: [Ntp] [EXT] Re: NTPv5 draft suggestion to mov… Miroslav Lichvar
- Re: [Ntp] [EXT] Re: NTPv5 draft suggestion to mov… David Venhoek
- Re: [Ntp] [EXT] Re: NTPv5 draft suggestion to mov… Miroslav Lichvar
- [Ntp] Antw: Re: [EXT] Re: NTPv5 draft suggestion … Ulrich Windl
- Re: [Ntp] Antw: Re: [EXT] Re: NTPv5 draft suggest… David Venhoek
- [Ntp] Antw: Re: Antw: Re: [EXT] Re: NTPv5 draft s… Ulrich Windl