Re: [Ntp] Robert Wilton's Discuss on draft-ietf-ntp-interleaved-modes-05: (with DISCUSS and COMMENT)

Miroslav Lichvar <> Wed, 21 July 2021 12:46 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 6441D3A14D4 for <>; Wed, 21 Jul 2021 05:46:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3.25
X-Spam-Status: No, score=-3.25 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.452, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id SDaXT7MkqDZJ for <>; Wed, 21 Jul 2021 05:46:39 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id B63A73A14D1 for <>; Wed, 21 Jul 2021 05:46:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=mimecast20190719; t=1626871597; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Lf5fa7aVXh61trXedfqVRU6RAf+ZmtRLBnXwDnJWZME=; b=b2tpA5N13AZuplxvM/EgkBe5kQ3y2SRQGyherXEPRXfDzA6OXz63ROQddPSFVIrVZHlP4U OM5Ig9tgKNFS4ZWckSC7rdALRRFXO1/0nvvbbJW8+YqaOZI3XCui/3MRSgxFnXUshwE40V 7WdSN8wqG0w9rd3fQOD+g0Vqd44YOsk=
Received: from ( []) (Using TLS) by with ESMTP id us-mta-336-tZ-8jK7PMZeyPyhe4j_98A-1; Wed, 21 Jul 2021 08:45:30 -0400
X-MC-Unique: tZ-8jK7PMZeyPyhe4j_98A-1
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 7830492506; Wed, 21 Jul 2021 12:45:29 +0000 (UTC)
Received: from localhost ( []) by (Postfix) with ESMTPS id D548710016DB; Wed, 21 Jul 2021 12:45:26 +0000 (UTC)
Date: Wed, 21 Jul 2021 14:45:25 +0200
From: Miroslav Lichvar <>
To: "Rob Wilton (rwilton)" <>
Cc: "" <>, "Eric Vyncke (evyncke)" <>, Warren Kumari <>, The IESG <>, "" <>, "" <>, "" <>
Message-ID: <YPgW5fUg1frOh6N7@localhost>
References: <YNw9fHMijDFIW9B4@localhost> <YNrbjCDF4/609dg/@localhost> <> <YN3ZzPN5LOsAjmz6@localhost> <> <YPfmUK889qx7r5x2@localhost> <>
MIME-Version: 1.0
In-Reply-To: <>
X-Scanned-By: MIMEDefang 2.84 on
Authentication-Results:; auth=pass smtp.auth=CUSA124A263
X-Mimecast-Spam-Score: 0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
Archived-At: <>
Subject: Re: [Ntp] Robert Wilton's Discuss on draft-ietf-ntp-interleaved-modes-05: (with DISCUSS and COMMENT)
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Network Time Protocol <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 21 Jul 2021 12:46:41 -0000

On Wed, Jul 21, 2021 at 11:19:39AM +0000, Rob Wilton (rwilton) wrote:
> > Could you please clarify why you don't see the proposal as the right
> > way?
> I think that my objections really come down to two points:
> (1) The protocol has an extension mechanism, but the solution is choosing not to use it.

My view is that the fact that the protocol supports extension fields
doesn't necessarily mean they should be used for all extensions of the
protocol. So far, all specified extension fields provided additional
information that is not in the header.

With the interleaved mode we don't add information, we only switch the
reference of the transmit timestamp to correspond to the previous
packet instead of the packet in which the timestamp is contained. To
clearly indicate that we extend the protocol to allow the origin
timestamp to have a value that is not allowed by RFC5905 (in the
strict interpretation).

> I appreciate that the extension mechanism is deemed to be broken and NTPv5 is meant to fix it, but then I question why standardize this particular extension now, 10 years after NTPv4 was standardized.  I.e., presumably you could bake this enhancement into NTPv5 in a very clean way.

The interleaved mode was already included in the reference
implementation of RFC5905 when it was finalized. I wasn't following
the work of the WG at the time. I guess it was too late for the
addition. My understanding is that the WG was expected to provide a
specification for it at some point. Yes, it took a long time.

We are working on NTPv5. That may take many years. FWIW, one of the
current NTPv5 proposals has an interleaved mode. It doesn't use an
extension field for it. There is a flag in the header to select the
reference of the transmit timestamp.

> (2) It seems to be redefining the meaning of some of the protocol fields, not in a small way, and I'm not really sure that this is the right thing to be endorsing.  I.e., balloting "No objection" wouldn't really be right, because I do have an objection to what is being done here.

Ok, fair enough.

I don't view it as redefining the meaning, but rather as adding new
meanings, similarly to a field which has reserved values and their
meaning is defined only later in an extension.

Per RFC5905 the origin timestamp can be either zero (meaning unknown
or unsynchronized), or a copy of the transmit timestamp from the
received packet.

In this document we add a new possibility. It can be a copy of the
receive timestamp from the received packet.

> > Do you agree with the RFC5905 interpretation that Daniel Franke
> > pointed out in his objection, that SNTP clients are free to put
> > anything in the origin timestamp because the "An SNTP client can
> > operate with any subset of the NTP on-wire protocol" doesn't have
> > a MUST?
> I really don't know the protocol, and I think that I would need to have a much better understanding of RFC5905 to give a properly meaningful answer here.  Looking back at Daniel's comments, I am somewhat persuaded that RFC5905 states that these fields can be ignored, and doesn't say what value field must contain if they are 'ignored'.  But equally, if the field had a non-zero value then would that not also mean that field is being used, assuming that there are no other bits in the packet to indicate whether the field has meaning?  Hopefully, clarifying this is in the plan for the next version of NTP ...

Generally, if some field is ignored by server, does it mean that the
client is free to set it to whatever it likes? I suspect many other
protocols would be difficult to extend if that was the case.


Miroslav Lichvar