Re: [Ntp] [EXT] Re: The bump, or why NTP v5 must specify impulse response

"David L. Mills" <Mills@Udel.edu> Tue, 12 May 2020 17:53 UTC

Return-Path: <Mills@Udel.edu>
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 E6B4B3A086B for <ntp@ietfa.amsl.com>; Tue, 12 May 2020 10:53:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.104
X-Spam-Level:
X-Spam-Status: No, score=0.104 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, STOX_BOUND_090909_B=2.002, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fvhDfcAZGGEG for <ntp@ietfa.amsl.com>; Tue, 12 May 2020 10:53:02 -0700 (PDT)
Received: from whimsy.udel.edu (whimsy.udel.edu [128.4.24.99]) by ietfa.amsl.com (Postfix) with ESMTP id 3724C3A085B for <ntp@ietf.org>; Tue, 12 May 2020 10:53:01 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by whimsy.udel.edu (Postfix) with ESMTP id 5D3EDA5220; Tue, 12 May 2020 13:53:01 -0400 (EDT)
X-Virus-Scanned: amavisd-new at whimsy.udel.edu
Received: from whimsy.udel.edu ([127.0.0.1]) by localhost (whimsy.udel.edu [127.0.0.1]) (amavisd-new, port 10024) with LMTP id Wc-LSuAe_Tbf; Tue, 12 May 2020 13:52:10 -0400 (EDT)
Received: from [128.4.2.6] (backroom.udel.edu [128.4.2.6]) (Authenticated sender: mills) by whimsy.udel.edu (Postfix) with ESMTPSA id CE95CA5423; Tue, 12 May 2020 13:52:09 -0400 (EDT)
Message-ID: <5EBAE24A.8050503@Udel.edu>
Date: Tue, 12 May 2020 13:52:10 -0400
From: "David L. Mills" <Mills@Udel.edu>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.2; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Ulrich Windl <Ulrich.Windl@rz.uni-regensburg.de>
CC: ntp@ietf.org, stenn@nwtime.org
References: <CACsn0cm3jpKZTUQ=novTgVaFhc1xCJgmUF3oOgdrzQa-HgOCUQ@mail.gmail.com> <DB8PR02MB56111CCA23CDCF97A3C9F3E8CFDD0@DB8PR02MB5611.eurprd02.prod.outlook.com> <F7E5836A-4C7A-4A1A-B769-65EADE2C8F5C@gmail.com> <7d909ae3-a830-1270-6920-fa088a56525e@nwtime.org> <6C9832A9-E18B-4DE2-934F-9E471FC22F7B@akamai.com> <bc7920e2-dc81-ba7f-ec24-7926cda8589d@nwtime.org> <alpine.DEB.2.20.2004161430210.5561@grey.csi.cam.ac.uk> <93795d4a-25e7-c918-47d4-44aa6d92ee5e@nwtime.org> <20200416135547.GF412294@roeckx.be> <2d483354-a707-fbca-e914-cbe1479a4c25@nwtime.org> <CAJm83bAMxGrx_PSPQUjERzT2TT_0Tiutx=R0LRF2m9bY4QTj4w@mail.gmail.com> <39a14fe5-845d-aa3a-f236-5e767b6cce95@nwtime.org> <2A6E880D-C467-4AC5-A8C2-F3C61B323A53@redfish-solutions.com> <DB8PR02MB56110A4D1FB7871594CBB990CFD50@DB8PR02MB5611.eurprd02.prod.outlook.com> <6331_1587511442_5E9F8090_6331_681_1_2af92133-5ca6-e56e-5f25-8ab37b794290@nwtime.org> <5E9F8552020000A1000387B9@gwsmtp.uni-regensburg.de>
In-Reply-To: <5E9F8552020000A1000387B9@gwsmtp.uni-regensburg.de>
Content-Type: multipart/alternative; boundary="------------080308070005030109050600"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ntp/nwW9tODiNe2vbyXF7XT_wJyEEZY>
Subject: Re: [Ntp] [EXT] Re: The bump, or why NTP v5 must specify impulse response
X-BeenThere: ntp@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <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, 12 May 2020 17:53:05 -0000

Ulrich Windl wrote:

>Hi!
>
>But maybe let's try to structure v5 better than the versions before.
>I could imagine like specifying packet formats and packet flows for one major
>part, while other parts treat specific algorithms. Maybe even there could be
>more than one for each category.
>And I think the algorithms should not just be given as code (specification by
>implementation), but also as some high-level description. That alone could help
>to find flaws in the code. I think in the past there was a lot of "magic math"
>in the algorithms, claiming "don't ever change this, or the world will fall
>apart" ;-)
>I had several cases where the specs did not help me, so I had to read the code
>of the implementation. Having to do that is a clear sign that the specification
>is incomplete.
>In a perfect world the specification says what is allowed, and everything that
>is not allowed is forbidden. Mayb specification use both worlds: Some things
>are allowed, some things are forbidden, and there is a gray zone that is to be
>avoided ("neither allowed or forbidden").
>
>Regards,
>Ulrich
>
>  
>
>>>>Harlan Stenn 22.04.2020, 01:24 >>>
>>>>        
>>>>
>I still disagree here, for whatever that's worth.
>Splitting the documents is great *when it's appropriate*. In this case,
>it will be a *lot* more work to create correct RFCs, there will be way
>more opportunities to confuse things or get them wrong, and the people
>who specify conformance stuff will have a lot more work to do, too.
>A case in point is 5905 and 5906 and the keyIDs: Miroslav saw that 5906
>was optional and since he wasn't planning on implementing Autokey he
>ignored it. But 5906 had critical, required information in it that
>*should* have been in 5905, and since the reference implementation did
>both of them and that's what folks were looking at when the RFCs were
>drafted folks didn't notice the fencepost problems.
>When people pay attention to something, they often do not pay attention
>to stuff they consider "out of scope".
>NTP has been a carefully designed system, that includes the protocol,
>its operating environments (conditions and constraints), and some
>behavioral requirements.
>Splitting the document up into different parts is an invitation for
>things to be "missed".
>H
>On 4/21/2020 11:59 AM, Doug Arnold wrote:
>  
>
>>I agree with Philip. And I also like the terms protocol and policy. In
>>my mind the protocol is what has to be the same for implementations to
>>communicate and the policy is what allows a specific node to make use of
>>information received via the protocol. It is possible to have nodes in
>>the same network using the same protocol, but with different policies.
>>
>>There could be a generic NTPv5 which works for 90% or more of the users,
>>but a modular architecture which allows for some alternative policies
>>for niche uses. People are already doing this for NTPv4, its just that
>>its proprietary.
>>
>>A little reminder of history: an early draft of NTPv4 was based on a
>>modular approach, but was later revised to be a monolithic complete
>>solution. The monolithic solution works very well for setting clocks in
>>servers and routers for general IT purposes. However, the collapse of
>>the modular approach drove the telecom timing community out of the NTP
>>working group and into the IEEE 1588, where we ended up defining unicast
>>PTP. Unicast PTP is incompatible with traditional multicast PTP and in
>>some ways is more like NTP than it is like multicast PTP. So we created
>>a new find or PTP to fit an application which could have been served by
>>a more flexible NTPv4.
>>
>>Now the same thing is happening in data centers. People are installing
>>PTP. Many of these people tell me they would prefer to install a high
>>precision variant of NTP. They keep asking me to change PTP to be more
>>like NTP. It might be better to make NTP a little more flexible than to
>>create more incompatible flavors of PTP.
>>
>>Doug
>>
>>------------------------------------------------------------------------
>>*From:* ntp <ntp-bounces@ietf.org> on behalf of Philip Prindeville
>>    
>>
>>>*To:* Harlan Stenn <stenn@nwtime.org>
>>>      
>>>
>>*Cc:* ntp@ietf.org <ntp@ietf.org>
>>*Subject:* Re: [Ntp] The bump, or why NTP v5 must specify impulse response
>>
>>
>>
>>    
>>
>>>On Apr 17, 2020, at 4:48 AM, Harlan Stenn <stenn@nwtime.org> wrote:
>>>
>>>[snip]
>>>
>>>More to the point, NTPv4 and all of its predecessors specified:
>>>
>>>- the packet format
>>>- the algorithms
>>>- a set of behavioral limits and specifications
>>>
>>>This means others were allowed to write specifications (regulations)
>>>assuming and/or relying on "NTP" - the packet format, algorithms, and
>>>behavior.
>>>
>>>Removing or separating the algorithmic and behavioral specifications
>>>from the NTP specification at best cost-shifts that discussion
>>>elsewhere, and I submit it does this to groups that are likely
>>>completely unaware that they can no longer rely on behavior that they
>>>had no idea they previously relied on.
>>>
>>>Are you planning to just do a protocol spec and "do the algorithms and
>>>behavior spec later", or worse yet, let others do that if they think
>>>it's important?
>>>      
>>>
>>Not to throw gasoline on the fire, but Postel told me decades ago,
>>“don’t confuse protocol and policy” (he was [ahem] encouraging me to
>>drop 3 paragraphs from the draft of RFC 1048). It was good advice then
>>and it holds.
>>
>>Algorithms are, in essence, a “policy” for disciplining a clock.
>>
>>A compromise might be to define requirements for the protocol
>>parametrically, in terms of drift, jitter, etc. while not defining the
>>algorithms to do that.
>>
>>This opens the field up to more active research in ways to improve the
>>protocol and the use of clocks without tying anyone’s hands.
>>
>>The protocol could provide a “reference algorithm” that’s used as a
>>baseline and as an example of a certain performance “envelope” under
>>well-defined circumstances.
>>
>>Given how long NTPv4 has been around (for both right and wrong reasons),
>>it’s reasonable to expect NTPv5 to live at least half as long. A lot of
>>technology can potentially emerge during that time and we should have
>>the flexibility to incorporate it as it develops.
>>
>>Look how far we’ve come since Cesium ovens as reference clocks.
>>
>>-Philip
>>
>>_______________________________________________
>>ntp mailing list
>>ntp@ietf.org
>>https://www.ietf.org/mailman/listinfo/ntp
>>
>>_______________________________________________
>>ntp mailing list
>>ntp@ietf.org
>>https://www.ietf.org/mailman/listinfo/ntp
>>
>>    
>>
>--
>Harlan Stenn <stenn@nwtime.org>
>http://networktimefoundation.org - be a member!
>_______________________________________________
>ntp mailing list
>ntp@ietf.org
>https://www.ietf.org/mailman/listinfo/ntp
>
>_______________________________________________
>ntp mailing list
>ntp@ietf.org
>https://www.ietf.org/mailman/listinfo/ntp
>  
>
Ulrich,

A formal analysis of the feedback loop is contained in my book.  It 
developed the costant for the clock dicipline algorithm, which is often 
implemented in the operating system. 

Dave