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

Harlan Stenn <stenn@nwtime.org> Tue, 09 August 2022 01:46 UTC

Return-Path: <stenn@nwtime.org>
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 6E100C157B4B for <ntp@ietfa.amsl.com>; Mon, 8 Aug 2022 18:46:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.908
X-Spam-Level:
X-Spam-Status: No, score=-1.908 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=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 bDYf4_LEFTps for <ntp@ietfa.amsl.com>; Mon, 8 Aug 2022 18:46:22 -0700 (PDT)
Received: from chessie.everett.org (chessie.everett.org [66.220.13.234]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8B8B7C14F747 for <ntp@ietf.org>; Mon, 8 Aug 2022 18:46:19 -0700 (PDT)
Received: from [10.208.75.149] (071-084-168-128.res.spectrum.com [71.84.168.128]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by chessie.everett.org (Postfix) with ESMTPSA id 4M1ws32snnzMP5L; Tue, 9 Aug 2022 01:46:15 +0000 (UTC)
Message-ID: <b64c6a0a-ea2e-0a19-4bb9-38bfaa2e5032@nwtime.org>
Date: Mon, 08 Aug 2022 18:46:13 -0700
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0
Content-Language: en-US
To: Miroslav Lichvar <mlichvar@redhat.com>
Cc: ntp@ietf.org
References: <PH0PR06MB7061FA7A5B338D262B3A2963C2999@PH0PR06MB7061.namprd06.prod.outlook.com> <6a187a2f-9883-2fb5-1f51-1593591ddebb@nwtime.org> <PH0PR06MB706126984E4442EF32F8242AC2999@PH0PR06MB7061.namprd06.prod.outlook.com> <da155c84-2c70-2e3b-59eb-03e380806cf2@nwtime.org> <PH0PR06MB70611F2331D8255F7E2B6604C2999@PH0PR06MB7061.namprd06.prod.outlook.com> <0b4c7efa-3977-b588-0974-33b6a9437e52@nwtime.org> <YvDWC27qKnODlD52@localhost> <0b57b7db-772e-f5e6-e6a0-a433673f3d77@nwtime.org> <YvED7T5R0UsRWbv3@localhost>
From: Harlan Stenn <stenn@nwtime.org>
In-Reply-To: <YvED7T5R0UsRWbv3@localhost>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/ntp/t9vnwwu4rhIKZizoxTG1qg9D19k>
Subject: Re: [Ntp] 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: Tue, 09 Aug 2022 01:46:26 -0000

On 8/8/2022 5:39 AM, Miroslav Lichvar wrote:
> On Mon, Aug 08, 2022 at 03:35:40AM -0700, Harlan Stenn wrote:
>> While re-reading to find my answer, I note 4.3 says that Field Types from
>> 0xF000 through 0XFFFF are reserved for experimentation and development.
>>
>> This makes no sense to me.
>>
>> If this experimental/development work is done "privately" then nobody cares
>> what value is used.
> 
> It avoids conflicts with properly specified extension fields. With an
> experimental extension field the user is responsible to enable it only
> if the server is known to support it.

Sorry, this still makes no sense to me.

Before I go on, what are the "conflicts with properly specified 
extension fields"?

It makes more sense to me to use the existing model.  If somebody wants 
to experiment, assign them the next unused number in the registry, say, 
0x**0A,  That give them plenty of (sub)code bits (up to 6, and to date 
no proposal has used more than 4 bits) for whatever purpose they want.

If they decide to go thru with them, they can either publish the 
specific code(s) (n) and use the existing 0x*n0A numbers in the wild, or 
ask for the next allocation.

>> Next, if this experimental/development work gets turned into a Standard,
>> then implementations will likely need to support both the Standard and the
>> experimental versions.  That's needless code bloat.
> 
> No, if it's documented as an experimental feature, it can be dropped
> or changed at any time.

That's still the case.  But as I said before, once something has been 
used it will live on.  The mess remains.

> One use case is testing of some NTPv5 features. We can't use NTPv5 as
> it doesn't exist yet, but we can use an experimental NTPv4 extension
> field that contain the new NTPv5 fields.

OK, that's fine.  So ask for a Type Field for NTPv5 testing, and use the 
code field to specify them.  How many of these fields do you think 
you'll want?  The existing mechanism will give you 64 fields from a 
single allocation.  If you need more, get a 2nd allocation.

>> I'll also point out that, as noted in draft-stenn-ntp-extension fields, a
>> number of 0xFxFF values are being used for the I-DO extension field
>> proposal, as documented in draft-stenn-ntp-i-do.
> 
> The draft expired long time ago. If you decide to resubmit it, I'm
> sure you can change it to another value.

Karen told me the WG consensus was to drop all my proposals, and further 
informed me that future submissions from me would not be considered.

I have no plans to pursue my proposals via the Standards track of the 
WG, or perhaps thru the WG at all.

> But I don't think the I-DO EF is a good solution to the issue with
> ambiguous parsing. It assumes the server doesn't change since the
> support was negotiated. NTP is (mostly) stateless. The client cannot
> be sure it's talking to the same server from which it received the
> last response. A server can be changed, upgraded, or redirected in
> network.

What is this "ambiguous parsing" you describe?

How is this relevant to draft-ietf-ntp-update-registries?

I understand your concerns, and in the general case I don't see it as a 
problem.  I also see easy ways for a server that understands I-DO to 
tell a client to renegotiate.

>> Also, as I'm more carefully reading the proposal, I find it curious that you
>> are are not objecting to its citing of 5906. I recall that you have
>> explicitly ignored that document when writing chrony, at least around the
>> numeric range of keyIDs, because 5906 was "informational" and not listed as
>> an optional Standard.
> 
> chrony does not support Autokey. It doesn't care that keys with some
> specific IDs are generated automatically. It cannot authenticate as an
> Autokey server and will not accept a response from an Autokey server.

Sure.  And if chrony tries to use a KeyID that is "out of range" with 
ntpd, what happens?  My point is that you chose to ignore some of the 
behavioral restrictions of 5906 because (as I recall) late in that 
process, it changed from Standards track to informational, and arguably, 
some 2nd (or 3rd) order effects of that change were not ... appreciated.

>>> The Checksum Complement EF (0x2005) is present in the table 1, but it
>>> is incorrectly described as "Reserved for historic reasons". That
>>> should be changed to refer to RFC 7821. Only the Autokey-related
>>> entries should be "Reserved for historic reasons".
>>
>> I do not believe there is *any* reason that the V1 EF format values
>> (assuming that is what the "Reserved for historic reasons" is referring to)
>> cannot be used by the current/V2 handlers.
> 
> V1 and V2 is specific to Autokey. There is a specification which
> nobody follows. There is an implementation that uses unspecified
> values. The table is trying to cover all values. I don't think it
> matters which one is marked as "reserved for historic reasons". What
> is important is that nothing else will be using them. We already had a
> collision with one of the NTS extension fields. That must be
> prevented.

That's your opinion.  The spec has been there.  The spec was clearly 
followed for checksup complement and for NTS.  Therefore, it's arguable 
that your opinion is demonstrably incorrect.

There is NO REASON the "reserved for historic reasons" items cannot be 
used in the V2 packet format, as I have already said.

I'm curious about the collision with an NTS extension field.  I suspect 
that was simply a result of poor programming on the implementor's side, 
but I could be wrong.

Earlier you wrote:

 > With an
 > experimental extension field the user is responsible to enable it only
 > if the server is known to support it.

If that statement from you is correct, then was the collision with an 
NTS EF the result of responsible or irresponsible user behavior?

-- 
Harlan Stenn <stenn@nwtime.org>
http://networktimefoundation.org - be a member!