Re: [Ntp] comments on draft-mlichvar-ntp-ntpv5-03 / Message Format

Dan Drown <dan-ntp@drown.org> Fri, 26 November 2021 03:16 UTC

Return-Path: <dan-ntp@drown.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 3DA3A3A073E for <ntp@ietfa.amsl.com>; Thu, 25 Nov 2021 19:16:20 -0800 (PST)
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, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham 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 QxpxYTVylOJl for <ntp@ietfa.amsl.com>; Thu, 25 Nov 2021 19:16:15 -0800 (PST)
Received: from vps3.drown.org (vps3.drown.org [96.126.122.39]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CD9523A0765 for <ntp@ietf.org>; Thu, 25 Nov 2021 19:16:15 -0800 (PST)
Received: by vps3.drown.org (Postfix, from userid 48) id 7B18E2FC66A; Thu, 25 Nov 2021 21:16:13 -0600 (CST)
Received: from 2603-8080-2709-c400-e1af-bf84-8740-1498.res6.spectrum.com (2603-8080-2709-c400-e1af-bf84-8740-1498.res6.spectrum.com [2603:8080:2709:c400:e1af:bf84:8740:1498]) by mail.drown.org (Horde Framework) with HTTPS; Thu, 25 Nov 2021 21:16:13 -0600
Date: Thu, 25 Nov 2021 21:16:13 -0600
Message-ID: <20211125211613.Horde.jeWpAeJe6Hhtq0cDnSaC6-y@mail.drown.org>
From: Dan Drown <dan-ntp@drown.org>
To: ntp@ietf.org
References: <20211124223810.Horde.KKjrsykVQUMJgW4WVO5ZZmt@mail.drown.org> <f423daea-93f4-4dd8-9ee6-d654e8e566db@nwtime.org>
In-Reply-To: <f423daea-93f4-4dd8-9ee6-d654e8e566db@nwtime.org>
User-Agent: Horde Application Framework 5
Content-Type: text/plain; charset="utf-8"; format="flowed"; DelSp="Yes"
MIME-Version: 1.0
Content-Disposition: inline
Archived-At: <https://mailarchive.ietf.org/arch/msg/ntp/BVAiKRXIgTk6OldUCyqReMuCDeM>
Subject: Re: [Ntp] comments on draft-mlichvar-ntp-ntpv5-03 / Message Format
X-BeenThere: ntp@ietf.org
X-Mailman-Version: 2.1.29
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, 26 Nov 2021 03:16:20 -0000

Quoting Harlan Stenn <stenn@nwtime.org>:
> This is what happens when the choice is made to ignore the design of  
> NTP packet version "evolution".
>
> The original design is that the packet format to the length of a  
> version N packet is ALWAYS the same.  This is why ntpd will respond  
> to a "higher" version number packet with the requested newer version  
> but with a packet length of the responding ntpd's version.
>
> If a v4 NTP packet is 48 bytes, the design and expectation has been  
> that if v5 wants any different data then the packet is made longer  
> and the new data lives AFTER the v4 data.
>
> Assume, for purposes of this thread, that an NTPv5 packet format is  
> now 64 bytes.
>
> Should a v5 client send a request to a v4 server, the v5 client  
> sends a 64-byte v5 request, and assuming the v4 server responds, it  
> will do so with a 48-byte v5 response that is effectively a v4  
> response packet. The client will see this, note that the packet is  
> short, and be in a position to understand that the target server is  
> a v4 server, not a v5 server.
>
> Should a v4 client send a request to a v5 server, the v5 server  
> should respond with a 48-byte v4 response.

The v4 client with a v3/v4/v5 server seems to be a pretty easy case.  
And I agree that the server should respond with the same version that  
it received.

The v4/v5 client with an unknown version server does have challenges,  
and is covered in section 9, "NTPv5 Negotiation in NTPv4"

Sending a v5 packet to a v4-only server is likely going to be dropped.  
It might be nice to document how the most popular NTP server software  
handles this somewhere.