Re: [Ntp] Antw: Re: Antw: [EXT] Re: Quick review of WGLC for status change for draft-ietf-ntp-update-registries

Ulrich Windl <Ulrich.Windl@rz.uni-regensburg.de> Fri, 19 August 2022 07:37 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 ACDD3C14CE3F for <ntp@ietfa.amsl.com>; Fri, 19 Aug 2022 00:37:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Level:
X-Spam-Status: No, score=-1.909 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] 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 W9eOA-1rW-vB for <ntp@ietfa.amsl.com>; Fri, 19 Aug 2022 00:37:17 -0700 (PDT)
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 03059C14F740 for <ntp@ietf.org>; Fri, 19 Aug 2022 00:37:16 -0700 (PDT)
Received: from mx2.uni-regensburg.de (localhost [127.0.0.1]) by localhost (Postfix) with SMTP id E8CB9600004E for <ntp@ietf.org>; Fri, 19 Aug 2022 09:37:11 +0200 (CEST)
Received: from gwsmtp.uni-regensburg.de (gwsmtp1.uni-regensburg.de [132.199.5.51]) by mx2.uni-regensburg.de (Postfix) with ESMTP id 9ABA3600004D for <ntp@ietf.org>; Fri, 19 Aug 2022 09:37:11 +0200 (CEST)
Received: from uni-regensburg-smtp1-MTA by gwsmtp.uni-regensburg.de with Novell_GroupWise; Fri, 19 Aug 2022 09:37:11 +0200
Message-Id: <62FF3DA6020000A10004C83B@gwsmtp.uni-regensburg.de>
X-Mailer: Novell GroupWise Internet Agent 18.4.1
Date: Fri, 19 Aug 2022 09:37:10 +0200
From: Ulrich Windl <Ulrich.Windl@rz.uni-regensburg.de>
To: stenn@nwtime.org, mlichvar@redhat.com
Cc: "ntp@ietf.org" <ntp@ietf.org>, Heiko Gerstung <heiko.gerstung@meinberg.de>
References: <FF22AEFE-ED61-405E-AB40-B7901D0CD588@meinberg.de> <3d6d3d96-09cf-1122-f866-f561e676ce0b@nwtime.org> <YvzsAxnyEoNCw8bI@localhost> <59d0ab10-8c50-a71d-8c74-a94bc012a251@nwtime.org> <6AFCB82E020000327BE0EBB5@gwsmtp.uni-regensburg.de> <4CB5CC870200008B822C0D04@gwsmtp.uni-regensburg.de> <60C367EE020000A986EDC2A6@gwsmtp.uni-regensburg.de> <FEA2AE59020000BF822C0D04@gwsmtp.uni-regensburg.de> <BB908AD30200002F86EDC2A6@gwsmtp.uni-regensburg.de> <F0B7CB85020000F0822C0D04@gwsmtp.uni-regensburg.de> <62FB5EDB020000A10004C5CD@gwsmtp.uni-regensburg.de> <F7211617020000C9822C0D04@gwsmtp.uni-regensburg.de> <B01B5D8D020000786A6A8CFC@gwsmtp.uni-regensburg.de> <FE4B42EF020000DC822C0D04@gwsmtp.uni-regensburg.de> <43CEEC91020000736A6A8CFC@gwsmtp.uni-regensburg.de> <A20358250200004A822C0D04@gwsmtp.uni-regensburg.de> <4B86A8CD0200005A6A6A8CFC@gwsmtp.uni-regensburg.de> <6CAE8D93020000F1822C0D04@gwsmtp.uni-regensburg.de> <62FDFA06020000A10004C6A2@gwsmtp.uni-regensburg.de> <a868d3fe-9e69-b279-165c-47aa58fc0a0e@nwtime.org> <B01B5D8D020000786A6A8CFC@gwsmtp.uni-regensburg.de> <FE4B42EF020000DC822C0D04@gwsmtp.uni-regensburg.de> <43CEEC91020000736A6A8CFC@gwsmtp.uni-regensburg.de> <A20358250200004A822C0D04@gwsmtp.uni-regensburg.de> <4B86A8CD0200005A6A6A8CFC@gwsmtp.uni-regensburg.de> <6CAE8D93020000F1822C0D04@gwsmtp.uni-regensburg.de> <62FDFA06020000A10004C6A2@gwsmtp.uni-regensburg.de> <AE3350EA020000A1822C0D04@gwsmtp.uni-regensburg.de>
In-Reply-To: <AE3350EA020000A1822C0D04@gwsmtp.uni-regensburg.de>
Mime-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
Archived-At: <https://mailarchive.ietf.org/arch/msg/ntp/-3z8DkqOEuLq_mixaP580lbzV2Y>
Subject: Re: [Ntp] Antw: Re: Antw: [EXT] Re: Quick review of WGLC for status change for draft-ietf-ntp-update-registries
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: Fri, 19 Aug 2022 07:37:21 -0000

>>> Harlan Stenn <stenn@nwtime.org> schrieb am 18.08.2022 um 13:23 in Nachricht
<a868d3fe-9e69-b279-165c-47aa58fc0a0e@nwtime.org>:
> On 8/18/2022 1:36 AM, Ulrich Windl wrote:
>>>>> Harlan Stenn <stenn@nwtime.org> schrieb am 17.08.2022 um 23:44 in Nachricht
>> <59d0ab10-8c50-a71d-8c74-a94bc012a251@nwtime.org>:
>>> Miroslav,
>>>
>>> Sometimes I have trouble taking you seriously.
>>>
>>> On 8/17/2022 6:24 AM, Miroslav Lichvar wrote:
>>>> On Wed, Aug 17, 2022 at 02:30:20AM -0700, Harlan Stenn wrote:
>>>>> I believe that's what has already been done.  For the timing modes:
>>>>>
>>>>> v2 to v3 changed a variable in the packet header.
>>>>
>>>> So if a v2 server responded to v3 request with v2 data in v3 packet,
>>>> the client would get incorrect data?
>>>
>>> There are slight differences in the data content between v2 and v3.
>>>
>>> In v2 the 2nd word is Synch Distance and the 3rd word is Synch Dispersion.
>>>
>>> In v3 and beyond the 2nd word is Root Delay and the 3rd word is Root
>>> Dispersion.
>>>
>>> None of these changes are operationally significant.
>> 
>> So why were the packet fields renamed then? I guess the algorithms to set 
> them up did change, too.
> 
> I think I've said this before.
> 
> Because Dave treated the RFCs as "the best information at that moment in 
> the development of NTP".  NTP has continued to evolve, after the 
> publication of the RFCs.
> 
> The same was true for NTPv1, v2, and v3.
> 
> As I recall, Dave changed "jitter" to "dispersion" somewhere in there, too.
> 
> The goal of the NTP Project is to evolve and improve the quality of 
> synchronized network time.  The goal is NOT to slavishly implement an 
> outdated specification.
> 
> Now if enough people WANT a version of NTP that accurately and 
> faithfully implements the v4 RFC, that's certainly doable.
> 
> But our experience is that people want their clocks sync'd as well as 
> possible, so they want the improvements we make.
> 
>>> Do you disagree?
>>>
>>> And this change was made over 30 years' ago.
>>>
>>>> I thought you said the idea was to add new fields if incompatible
>>>> changes are made.
>>>>
>>>> In case you forgot, v2 was not compatible with v1 either.
>>>
>>> Different.
>>>
>>> In v1 the 3rd word is Estimated Drift Rate.
>>>
>>> In v2 and beyond the 3rd word is Synch Dispersion.
>>>
>>> OK, in v1 the 2nd word is Estimated Error and in v2 and beyond the 2nd
>>> word is Synch Distance.
>>>
>>> None of these values are used in the basic time calculations.
>> 
>> But "estimated error" is used to set the client's clock (via timex.h 
> interface), right.
> 
> Yes.  From clock_jitter.  Which is maintained based on local 
> observations, not from data received from client packets.
> 
>> An of the "mode 6" side it's even more adventurous:
>> Some time "phase" became "offset", "error" became "noise", "freq" became 
> "frequency" (with a different unit),
>> "rootdispersion" became "rootdisp", "noise" became "clk_jitter" (I guessed), 
> "jitter" became "sys_jitter", "stability" became "clk_wander", "poll" became 
> "tc". (Using mode 6 for monitoring is a real adventure, specifically as there 
> is no (or little?) documentation on the variables being used).
> 
> Yes, and:
> 
> - name changes are not a fatal problem, as I discussed in my emails
>    with Heiko.  If one really cares, one can detect and accommodate
>    these name changes.
> 
> - by observation, nobody has cared about this before now, to the
>    degree that any attempt has been made to codify this.
> 
> On this last part, how would one expect to standardize on the variable 
> names in the protocol document if the algorithms were in a separate 
> document?
> 
>> OK, it's easy to say the packet format is still the same, but does it really 
> help?
> 
> Does it hurt?
> 
> What is the goal?
> 
> Please compare the situation with NTPv[234] and those upgrades, with how 
> things will play out with the proposed v5.
> 
>>> And this change was made/codified over 33 years' ago.
>>>
>>>>> v3 to v4 added extension fields.
>>>>
>>>> As Ulrich already explained, that works only for the v3-subset of the
>>>> protocol, i.e. the same is if the protocol number didn't change.
>>>
>>> OK.  What's your point?
>>>
>>> Do you agree that a v4 packet without EFs is equivalent to a v3 packet?
>> 
>> The packet yes, but won't the frequently cited "pulse response" be 
> different?
> 
>  From what, v3 to v4?  Possibly.  But "different" can be the same, 
> better, or worse.
> 
> And if the behavior of the latest v4 code is no worse than (or in any 
> cases, better than) what is described in the RFCs, who cares?
> 
> If one wants exact 5905 behavior, one can certainly pour over the code 
> to find the instance of the code that will best give that to them.  To 
> date, NOBODY has asked for that.
> 
>>> If so, that's 100% compatibility.
>>>
>>> What problem do you see?
>>>
>>>> A v3 server is not able to respond to a v4 request containing
>>>> extension fields, even if it's authenticated with a symmetric key that
>>>> the server knows.
>>>
>>> So what?
>> 
>> That means the client has to keep different implementations per protocol 
> version, making the whole discussing a bit useless IMHO.
>> Just "chopping off the extras that were added later" doesn't really work.
> 
> Who is suggesting this?
> 
> The code implements "respond with the version we were sent".
> 
> If a v3 server gets a v4 query:
> 
> - If the v4 query contains an EF, the server will drop it
> - If the v4 query contains no EF, then
> - - if there is no authentication, the server will respond with
>      a packet identified with v4 and no authentication.  The client
>      should be fine.  This happened a LOT from 1997 thru 1999,
>      tapering off after that.
> - - if there is authentication and that failed, the packet would
>      dropped.  As expected.
> - - if there is authentication that passed, the server will
>      respond with a packet identified with v4 and (correct)
>      authentication.  All should be well, and this almost certainly
>      happened a LOT from 1997 thru 1999, tapering off after that.
>>> The only EFs that have been 0-day supported by v4 have been autokey EFs.

The more versions you support, the messier that code will be. Specifically if you want to disable support of a specific version such code is a maintenance nightmare. Thus I think having separate handlers for each version is the way to go.
Still those handlers can use common code.

...
>> I think that is how software should be done: First have a concept, them 
> implement it, the revalidate the concept, maybe just to decide whether the 
> concept has a flaw or the implementation of the concept. Possibly NTP 
> developement worked the other direction in the past (first implement, then 
> specify).
> 
> I don't understand.

Did you try?

...
> What I've seen on NTPv5 is "design by committee" and no code.

Design is not complete yet, so why do you expect code now?

...

>> The control protocol _is_ important for remote monitoring. I guess that is 
> why it was designed and implemented (even if "ad hoc").
> 
> I'm not sure I agree about the ad hoc part.  See my points above.

Formatting the text lines in the server (including line breaks) for the variable list was a bad idea.

> 
> Otherwise, I hear you.  And my points remain:
> 
> - it's mostly useful for monitoring local servers

Why "local"? Maybe "site".

> - nobody has bitten the bullet and made this easier to use.
> 
> And I don't see how the mode 6 plays in to the status of 
> draft-ietf-ntp-update-registries, unless it shows that the proposed 
> document does not address mode 6.
> 
...

Regards,
Ulrich