Re: [Ntp] Antw: [EXT] NTPv5 modular architecture

Doug Arnold <doug.arnold@meinberg-usa.com> Thu, 23 July 2020 13:51 UTC

Return-Path: <doug.arnold@meinberg-usa.com>
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 6AB1C3A00B0 for <ntp@ietfa.amsl.com>; Thu, 23 Jul 2020 06:51:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=meinbergfunkuhren.onmicrosoft.com
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 9kdgEY76qSsp for <ntp@ietfa.amsl.com>; Thu, 23 Jul 2020 06:51:08 -0700 (PDT)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60086.outbound.protection.outlook.com [40.107.6.86]) (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 078503A00D6 for <ntp@ietf.org>; Thu, 23 Jul 2020 06:51:07 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dVpaxthrwd3Jlg5qKqD3NU2Z04/FRIhNsZHmkoniioRQpZWyyNOyxebJZte+BIPRYexK9fG5U7q76F+zb1CJ22OzU3zuhze2KxFVW1nR6xuhOFoCU553Tr2MCA2DDGPMqSCH3vWMI8MLo3ZzeFd1QnfBZYRTVrH6eOyaO4cNXODQQ2wNtJJ6eAipoHA1P7VgAzlMO2lAnraKw/+f6LSD0MeIsbpHrkYLAWddvhCFGa64z46EGIX5Enj4ilMcYoIOVCdf2sWFEMkYyynwcUze1KJLtVFS4wk8uqfeKtPIWy37njXQ3Vp2r8xpSFKJTqUmLyMOnd2ClFAHpD1g+xKiZg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WJv3OifMo0hMdnkDLxsKegqyeXmofRXlSa3iBXaGv+4=; b=HIh9sHcp2z/0usoQ/3GxuC39wPpz+3bBRJfDq6fNADti5au9SsBU95FEobbiQ4qtuqG5tB0gGvkUVyzO/OPaOpk0FjfolwpGXxC7wCjzaY1+JFkIfrIjLZ7KwP23jul9dqcm1fyhRU3oGCKgwA1pUPq/NAMxBzpqvRl1RBfXbx8TVivLJkn9AxlY/R3aF7x+r/DkJn9F+15RBEbzuGEECcANF/r9/haMFUAtn5TyaHUmq3cTklKmCN8ez4VYSus/uueJk33qw3KarS2oicBQhJPaZ9tKdBsBzi9pJUml/4+fhvNCgcDs8fw00CqAlyOip+r9O0H3jb4sefjzIJQRaA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=meinberg-usa.com; dmarc=pass action=none header.from=meinberg-usa.com; dkim=pass header.d=meinberg-usa.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=meinbergfunkuhren.onmicrosoft.com; s=selector1-meinbergfunkuhren-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WJv3OifMo0hMdnkDLxsKegqyeXmofRXlSa3iBXaGv+4=; b=obdVvPjs2Uneg0EUzx5f6DBRnkUOOnvmDmThPwBZgNtAMHxBL6TspPdLLNLjXnvzb3UHHVeAi9dIxLlr7qjfHJxQu1yNL2U/+xvx2eDb5uwuGJZjiOPEXSi5U7ANcQKFgTv67E57ABUGgvLzmKkzYnAXxO76KjIrHpkMQGuOUuI=
Received: from DB8PR02MB5481.eurprd02.prod.outlook.com (2603:10a6:10:e1::31) by DB6PR0201MB2453.eurprd02.prod.outlook.com (2603:10a6:4:30::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.20; Thu, 23 Jul 2020 13:51:04 +0000
Received: from DB8PR02MB5481.eurprd02.prod.outlook.com ([fe80::918f:bf57:32a8:834]) by DB8PR02MB5481.eurprd02.prod.outlook.com ([fe80::918f:bf57:32a8:834%5]) with mapi id 15.20.3216.020; Thu, 23 Jul 2020 13:51:04 +0000
From: Doug Arnold <doug.arnold@meinberg-usa.com>
To: Ulrich Windl <Ulrich.Windl@rz.uni-regensburg.de>, "ntp@ietf.org" <ntp@ietf.org>
CC: "odonoghue@isoc.org" <odonoghue@isoc.org>
Thread-Topic: Antw: [EXT] [Ntp] NTPv5 modular architecture
Thread-Index: AQHWYDbjFv7JUWCufU62W+9ThLfqEakUsGgAgABxtF8=
Date: Thu, 23 Jul 2020 13:51:04 +0000
Message-ID: <DB8PR02MB54817168C5DA3448E5FFE4B8CF760@DB8PR02MB5481.eurprd02.prod.outlook.com>
References: <DB8PR02MB5481403697054ED8A622E8B7CF790@DB8PR02MB5481.eurprd02.prod.outlook.com>, <5F192A98020000A10003A37E@gwsmtp.uni-regensburg.de>
In-Reply-To: <5F192A98020000A10003A37E@gwsmtp.uni-regensburg.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: rz.uni-regensburg.de; dkim=none (message not signed) header.d=none;rz.uni-regensburg.de; dmarc=none action=none header.from=meinberg-usa.com;
x-originating-ip: [64.30.82.72]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: b91e79bc-37c0-4ed3-a41d-08d82f0f7169
x-ms-traffictypediagnostic: DB6PR0201MB2453:
x-microsoft-antispam-prvs: <DB6PR0201MB2453EBCEEAB7964BAEA35438CF760@DB6PR0201MB2453.eurprd02.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8273;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 3SPw5W4MUbYLivOreuHofTwbzgYcZ14/llxXA47GXROVQ1XNpTeRMAKQYvV6baZmTUyfgAfA9bXXEma4189F4id1DaPYVQpWRl0fClAcrRn+CbEVEufCisSvHyg7Z6TwlN67kSngff/VlSLbRUTqy+9jaUXElHVqvpB+D3NpGggWFT2itP0E+U09CaNGZEA4zmjIgdRFkFnPV62SmCyiIMkaLrEScTo4LhV+S4AUBcreDq0ofAQL7cv2m2Kw+ehMpacjre2tnObzQIf7Emw2zbgbUjSVDbPFrs6OhoczK2t4bkwZZrZuseJWvGRLLVrZ069gbzYIj7h8dzEFV0uAxg==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB8PR02MB5481.eurprd02.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(366004)(376002)(39830400003)(396003)(346002)(136003)(2906002)(7696005)(5660300002)(45080400002)(33656002)(6506007)(53546011)(19627405001)(71200400001)(83380400001)(508600001)(52536014)(91956017)(64756008)(66476007)(9686003)(8936002)(66446008)(66556008)(8676002)(316002)(76116006)(26005)(44832011)(66946007)(186003)(4326008)(86362001)(110136005)(55016002); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: gdGTO8ZCZi1B7j9Gw2bhpC0fxJ+naoToQ491ugKcwH/zbthG7OY6otYLbcHPfovOiMATGpwxa8tJYq6UO/Vt7alRamEf7NDowtXpVh+60MF2WOtHPw/AYgSXvwi4R7nPVPCOGWUBsWu8/+MjzvWDB7KTUHXsIsWn4M8bETfxXL4sAUwpYtlr75UqNK+M99Aeyl7LoSQilnot9bvkrnodD1JBoEiLdMFl0yJurBWON/E1IF1YU4Tq5LWi4NrsZDd7ScQQmzplIZ/FXEVNr3u3kgXJt0QHa8bw3BT5XjbFY5EJaZcW7gJePunSAlqXHqibvhBcxCRmTw3aM7GV4BovENHgvCaDTQUHlqb+dgSs9WE7D5kjxlSW96x4D50mq1ARw+6CdALk8D+WWWDPxwQK/ibDH1dJB5vRQ6ozscP9pCP9FEcdY6/PkTDSZF8bWcHdx5egvu1PGceGhao0f5zmnZctT1PhRkBeuADidpbJ7cE=
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_DB8PR02MB54817168C5DA3448E5FFE4B8CF760DB8PR02MB5481eurp_"
MIME-Version: 1.0
X-OriginatorOrg: meinberg-usa.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB8PR02MB5481.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b91e79bc-37c0-4ed3-a41d-08d82f0f7169
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Jul 2020 13:51:04.6458 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: d59904cd-769f-4368-8bd0-f5f435893a38
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: wYMRnCBaH0mbTGBnmCcVqJ+VO8EHyGZ1XETJIPydi6d/ujdqWDpmBftz4PidONIEAdPSAGKmjqfwDyx/3Rn0iuIZcboolsIh4h0Iyiv3MBs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0201MB2453
Archived-At: <https://mailarchive.ietf.org/arch/msg/ntp/7LpxnAAJfy3VLItQJrH1PebXzgk>
Subject: Re: [Ntp] Antw: [EXT] NTPv5 modular architecture
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: Thu, 23 Jul 2020 13:51:10 -0000

Hello Ulrich,

Thanks for the observations and insights.

The presentation definitely needs more work on the management interfaces.  I was envisioning the timing engine and protocol engine reading a configuration file.   However, you are right, that for every SET there should be a GET, so that the management interface can query or verify the configuration.  The arrows should be bidirectional.

Yes, the (bidiretional) arrow between timing engine and protocol engine was inadvertently left off the diagram.

In practice the management interface might have its own stack or share one with the protocol engine, but it should be indicated on the diagram.

On the protocol engine:
Deciding when to send packets is definitely something a PTP client does.  They way I have divided things up the timing engine picks an average packet interval and the packet engine sets timers to make that happen either with constant or randomized intervals depending on what ntpv5 calls for.

Since the client timing engine is picking the servers, it needs to know if the servers are not responding.  It could infer that when no information from those servers are delivered by the protocol engine, but it might be helpful for the protocol  engine to say explicitly that I send a packet and didn't get a response within the response time out interval.

On the timing engine:
Since the timing engine is analyzing the timing data, including things like identifying false tickers, then it should pick the servers

Provides performance numbers is better than report statistics, as it is a little more general and flexible.  As long as the timing engine is the one selecting servers and packet rates, than the protocol engine does not need to know the performance.

Doug




________________________________
From: Ulrich Windl <Ulrich.Windl@rz.uni-regensburg.de>
Sent: Thursday, July 23, 2020 2:13 AM
To: ntp@ietf.org <ntp@ietf.org>; Doug Arnold <doug.arnold@meinberg-usa.com>
Cc: odonoghue@isoc.org <odonoghue@isoc.org>
Subject: Antw: [EXT] [Ntp] NTPv5 modular architecture

Hi!

A few random notes on the block diagram:

* the "config" arrows to management should be bidirectional IMHO, unless the management keeps the complete config (so that it is readable)

* shouldn't there be an arrow between protocol engine and timing engine?

* I feel unsure about hw timestamps being derived from the system clock; wouldn't that be software time stamps then?

* Doesn't the timing engine have to read the system clock as well?

* I'm missing to "external" arrows: That to the network for both, management and network stack. So to say: Will there be another network stack for management, or will it be the same?

On


On protocol engine:

* I'd delete "for transmission", as it's more the task of the network stack, I guess

* "building packets (to send)" and "determines when to send packets" is basically the same for me, assuming a packet is sent as soon as possible after being handed to the network stack

* Does the timing engine really care about messages not received? IMHO it's part of the protocol engine. Likewise security and message status. In my view the timing engine is fed with timing information only, and maybe it has to handle the fact when it does not receive any.

On timing engine:

* Does the timing engine really select the servers? Isn't that the protocol engine (with information from the timing engine)?

* I'd replace "report statistics to management interface" with "provides performance numbers for protocol engine and management interface"

Regards,
Ulrich

>>> Doug Arnold <doug.arnold@meinberg-usa.com> schrieb am 22.07.2020 um 16:48 in
Nachricht
<DB8PR02MB5481403697054ED8A622E8B7CF790@DB8PR02MB5481.eurprd02.prod.outlook.com>

> Here is a slightly expanded version of the modular architecture concept for
> NTPv5.  Feedback welcome.
>
> Doug