Re: [dtn] [EXTERNAL] Re: [Last-Call] Genart last call review of draft-ietf-dtn-bpbis-17

Carsten Bormann <cabo@tzi.org> Sat, 09 November 2019 08:30 UTC

Return-Path: <cabo@tzi.org>
X-Original-To: dtn@ietfa.amsl.com
Delivered-To: dtn@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1053B12088A; Sat, 9 Nov 2019 00:30:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, 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 Bf_RDpvFcxZf; Sat, 9 Nov 2019 00:30:49 -0800 (PST)
Received: from gabriel-vm-2.zfn.uni-bremen.de (gabriel-vm-2.zfn.uni-bremen.de [134.102.50.17]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 18CA21200FA; Sat, 9 Nov 2019 00:30:49 -0800 (PST)
Received: from [192.168.217.102] (p548DC893.dip0.t-ipconnect.de [84.141.200.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by gabriel-vm-2.zfn.uni-bremen.de (Postfix) with ESMTPSA id 4799MC0t2mzysX; Sat, 9 Nov 2019 09:30:47 +0100 (CET)
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
From: Carsten Bormann <cabo@tzi.org>
In-Reply-To: <17ed0ca2fddc42c5bec46925d10a0458@jpl.nasa.gov>
Date: Sat, 9 Nov 2019 09:30:46 +0100
Cc: "gen-art@ietf.org" <gen-art@ietf.org>, "draft-ietf-dtn-bpbis.all@ietf.org" <draft-ietf-dtn-bpbis.all@ietf.org>, "dtn@ietf.org" <dtn@ietf.org>, "last-call@ietf.org" <last-call@ietf.org>
X-Mao-Original-Outgoing-Id: 594981044.2082011-b7b461e73be2be06e532ae044af2f721
Content-Transfer-Encoding: quoted-printable
Message-Id: <09400E15-F35D-4746-903B-23203C49EB82@tzi.org>
References: <157306815414.27362.18239257168598208900@ietfa.amsl.com> <65cb92a64e5e6d5010392ad33d70be44c8abc962.camel@ericsson.com> <A75165E4-126B-4791-9A6D-7CDF555A431C@gmail.com> <430992730.1235576.1573218197349@mail.yahoo.com> <EFC9E9F1-D43C-46B4-A38B-53EB76E1D3AD@gmail.com> <17ed0ca2fddc42c5bec46925d10a0458@jpl.nasa.gov>
To: "Burleigh, Scott C (US 312B)" <scott.c.burleigh=40jpl.nasa.gov@dmarc.ietf.org>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/dtn/u8m3mt0vrlmknwRWBDcSirv5MV8>
Subject: Re: [dtn] [EXTERNAL] Re: [Last-Call] Genart last call review of draft-ietf-dtn-bpbis-17
X-BeenThere: dtn@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Delay Tolerant Networking \(DTN\) discussion list at the IETF." <dtn.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dtn>, <mailto:dtn-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dtn/>
List-Post: <mailto:dtn@ietf.org>
List-Help: <mailto:dtn-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dtn>, <mailto:dtn-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 09 Nov 2019 08:30:52 -0000

On Nov 8, 2019, at 16:34, Burleigh, Scott C (US 312B) <scott.c.burleigh=40jpl.nasa.gov@dmarc.ietf.org>; wrote:
> 
> I disagree.  From Wikipedia:
>  
> Unix time (also known as Epoch time, POSIX time,[1] seconds since the Epoch,[2] or UNIX Epoch time[3]) is a system for describing a point in time. It is the number of seconds that have elapsed since the Unix epoch, that is the time 00:00:00 UTC on 1 January 1970, minus leap seconds. Leap seconds are ignored,[4] 

There is a problem with this phrase.
You cannot “ignore” leap seconds if you want Posix time.
To the contrary, you need to subtract every single one of them from the number of seconds you count from the Epoch.

Leap seconds are actively *not counted*, not “ignored”.
Of course, if you think “ignore” means “not count”, you will think the sentence makes sense.
There are time scales that don’t know about leap seconds, such as TAI or GPS (*).
Posix time does know about leap seconds, it needs them to be mostly compatible with civil time (UTC).

(*) The GPS signal indicates the accumulated number of leap seconds since GPS epoch *along with* the monotonic time in GPS time scale (that “ignores” the fact that there are leap seconds).

Sorry for overstressing the semantics here, but from teaching I know that half of the people understand “ignore” as “do not take any notice of”, as TAI does, and only the other half understands that you mean “do not count” as an explicit act of “ignoring”, as in Posix time.

> For example, “The Open Group Base Specifications Issue 7, Rationale: Base Definitions”, section A.4 (General Concepts) says “Coordinated Universal Time (UTC) includes leap seconds. However, in POSIX time (seconds since the Epoch), leap seconds are ignored (not applied) to provide an easy and compatible method of computing time differences.”

“Not applied” has the same problem, maybe slightly less so.

You “apply” leap seconds to Posix time by *not counting* them.

> I am happy to agree that an operating system’s implementation of the time() function may typically obtain accurate UTC time (from GPS or NTP) and subtract the leap seconds out of that value to obtain Epoch time, and in this sense the implementation of the time() function is typically dependent on information about leap seconds.
>  
> But that is an implementation expedient, which BP does not care about.  What BP cares about is expressing time as a number of seconds that have elapsed since the Epoch (minus an offset, the number of seconds elapsed from the Epoch to midnight 1 January 2000 UTC).  The manner in which that value is generated doesn’t matter to the protocol.

That is correct, but it means you can’t have a BP node that doesn’t know about leap seconds (either explicitly or by periodically resetting its clock to the Posix representation of civil time, which in many cases you do anyway because of clock drift).

Grüße, Carsten