Re: [Ntp] WGLC: draft-ietf-ntp-interleaved-modes

Harlan Stenn <stenn@nwtime.org> Fri, 07 December 2018 21:36 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 308DF130E68 for <ntp@ietfa.amsl.com>; Fri, 7 Dec 2018 13:36:50 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-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 JtBcbjO5qr95 for <ntp@ietfa.amsl.com>; Fri, 7 Dec 2018 13:36:47 -0800 (PST)
Received: from chessie.everett.org (chessie.everett.org [IPv6:2001:470:1:205::234]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9B050126CC7 for <ntp@ietf.org>; Fri, 7 Dec 2018 13:36:47 -0800 (PST)
Received: from hms-mbp11.pfcs.com (75-139-194-196.dhcp.knwc.wa.charter.com [75.139.194.196]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by chessie.everett.org (Postfix) with ESMTPSA id 43BQlf377bzL7K; Fri, 7 Dec 2018 21:36:46 +0000 (UTC)
To: ntp@ietf.org
References: <2C2DBD6F-727F-48DB-BB48-14CE7F7F8B95@isoc.org> <A113A752-6CDA-4772-9720-A0AABFD9B450@isoc.org> <AM0PR0602MB373031DC961E9B4E10F07C38FFA90@AM0PR0602MB3730.eurprd06.prod.outlook.com>
From: Harlan Stenn <stenn@nwtime.org>
Openpgp: preference=signencrypt
Autocrypt: addr=stenn@nwtime.org; prefer-encrypt=mutual; keydata= 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 tWnIAjJPCwmSgQ8Kl0UJ
Message-ID: <7b7402ee-8e6b-1e3e-ea18-6d2f689318fd@nwtime.org>
Date: Fri, 07 Dec 2018 13:36:45 -0800
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.3.2
MIME-Version: 1.0
In-Reply-To: <AM0PR0602MB373031DC961E9B4E10F07C38FFA90@AM0PR0602MB3730.eurprd06.prod.outlook.com>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/ntp/8as-6HGQ1tVW7vc-89qwH7qmF5k>
Subject: Re: [Ntp] WGLC: draft-ietf-ntp-interleaved-modes
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: Fri, 07 Dec 2018 21:36:50 -0000

While I am supportive of the goals of this document, I am opposed to its
acceptance as a standards-track document with the document's current
language.

The following are the items I can find immediately.

1: Requiring an interleaved client/server mode places an unacceptable
burden on servers that have a lot of client traffic.  Specifically,
requiring a server to save date is too often Bad/onerous.

2: I would like to see demonstrated testing and test results that show
that for interleaved client/server mode, the specification behaves as
expected in both hostile and "dirty" environments, and does a thorough
job of demonstrating that there are no unintended consequences.  Has the
solid engineering been don?

On the first point I see two ways to advance this document "now".

One is to remove the language around the interleaved client/server mode,
and continue this work in a new document.  Not my favorite idea.  But as
I re-read my points below, it seems much safer at this time.

The other is to change the following and then re-evaluate the results:

The 4th paragraph of 2. begins with:

  A server which supports the interleaved mode needs to save
  pairs of local receive and transmit timestamps.

I recommend the following instead:

  A server which supports interleaved mode for the client needs to save
  pairs of local receive and transmit timestamps.

This is because a server may decide to support interleave mode for a
subset of clients.

The 4th paragraph of 2. ends with:

  The server MAY separate the timestamps by IP addresses, but
  it SHOULD NOT separate them by port numbers, i.e.  clients
  are allowed to change their source port between requests.

Has this been thoroughly tested?  I am specifically concerned about
multiple clients behind a NAT device, where the server will (almost?)
certainly see different port numbers for each client.  How well does
this work when there are multiple interleaved clients using different
ports from the same IP?  Is it sufficient that the server would compare
the incoming origin(?) timestamp to identify which (interleave response)
transmit timestamp should be sent back?  Given that UDP packets may be
lost in transit, how does the protocol behave in this case of a lost
client request?  How long should the server keep an interleaved transmit
timestamp, especially if we are not using the port number to help
identify responses?  This also goes to the case where an interleaved
client "stops" - how long should the server retain the information about
the last transmit timestamp for an "association" that is now gone?
Should the client/server interleaved mode store the client's poll
interval and use that information for this decision?

Paragraph 6 of 2. begins with:

  When the server receives a request from a client, it SHOULD respond
  in the interleaved mode if the following conditions are met:

I think this is too strong, and doesn't clearly allow for the situation
where a server may only offer interleaved client/server mode to a subset
of clients.  I wonder if:

  When the server receives a request from a client and is willing to
  offer an interleaved client/server association, it SHOULD respond
  in the interleaved mode if the following conditions are met:

is sufficiently "better".

To be clear, I'd like this proposal to show exactly how it behaves in
the face of:

- dropped client requests
- multiple clients using different ports from the same IP
- a client association that "just stops"

"Behavior" includes the behavior (including the amount and longevity of
saved state) of the server.

In the case of a NAT proxy in between the clients and the server, it is
possible that two, and possibly more, clients will send packets with the
same transmit timestamp.  As the number of clients behind the NAT proxy
increases, the possibility of identical transmit timestamps also increases.

I am also very concerned about this paragraph in 2.:

  The client SHOULD NOT update its NTP state when an invalid response
  is received to not lose the timestamps which will be needed to
  complete a measurement when the following response in the interleaved
  mode is received.

There are intricate and critical reasons why NTP updates various aspects
of its state depending on how far along packet validation and processing
occurs.  I would want to see a detailed and specific analysis of the
complete effects of the proposed sentence on the protocol machinery.
The primary goal is that the protocol be robust.  The secondary goal is
that interleave mode works.  I am concerned that the identified sentence
above switches these priorities.

As a general question, exactly how much benefit is seen when using
client/server interleaved mode?

As another general "question", how does this proposal operate in the
face of data-minimization?  Should this be stated in the document?

Aside from the above, I'm still recovering from the cold I've had for
over 2 weeks' time and I need to spend more time to study some of the
intricacies of the interleaved client/server mode in particular, and
this proposal in general.
-- 
Harlan Stenn <stenn@nwtime.org>
http://networktimefoundation.org - be a member!