Re: [dtn] [EXTERNAL] draft-ietf-dtn-bibect-03 issues

Felix.Flentge@esa.int Tue, 08 June 2021 08:07 UTC

Return-Path: <felix.flentge@esa.int>
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 F0CFB3A272B for <dtn@ietfa.amsl.com>; Tue, 8 Jun 2021 01:07:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level:
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, 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 bu7djgxXoRTY for <dtn@ietfa.amsl.com>; Tue, 8 Jun 2021 01:07:28 -0700 (PDT)
Received: from esrutmmgwext.esa.int (esrutmmgwext.esa.int [131.176.154.65]) (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 B11323A2728 for <dtn@ietf.org>; Tue, 8 Jun 2021 01:07:27 -0700 (PDT)
Received: from [172.18.96.7] (port=45470 helo=esrlnxmtaelb02.esrin.esa.int) by esrutmmgwext.esa.int with esmtp (Exim 4.82_1-5b7a7c0-XX) (envelope-from <Felix.Flentge@esa.int>) id 1lqWlb-0005Su-20 for dtn@ietf.org; Tue, 08 Jun 2021 10:07:19 +0200
Received: from esrlnxsemxgwn01.esrin.esa.int (esrlnxmtaelb01-mgt.esrin.esa.int [172.18.28.24]) by esrlnxmtaelb02.esrin.esa.int (Postfix) with ESMTP id 8B00030A8FFC for <dtn@ietf.org>; Tue, 8 Jun 2021 10:07:19 +0200 (CEST)
Received: from esrlnxsemxgwn01.esrin.esa.int (localhost [127.0.0.1]) by localhost (Postfix) with SMTP id 66A6A801DC for <dtn@ietf.org>; Tue, 8 Jun 2021 10:07:19 +0200 (CEST)
Received: from esclnxsimxgwn01.esoc.esa.int (esclnxmtaelb01-dmz.esoc.esa.int [172.18.144.7]) by esrlnxsemxgwn01.esrin.esa.int (Postfix) with ESMTP id 0F2E280233 for <dtn@ietf.org>; Tue, 8 Jun 2021 10:07:19 +0200 (CEST)
Received: from esclnxsimxgwn01.esoc.esa.int (localhost [127.0.0.1]) by localhost (Postfix) with SMTP id C842180064 for <dtn@ietf.org>; Tue, 8 Jun 2021 10:07:18 +0200 (CEST)
Received: from PMSGIMTA1A.esa-ad.esa.int (unknown [10.17.12.150]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by esclnxsimxgwn01.esoc.esa.int (Postfix) with ESMTPS id 642A080061 for <dtn@ietf.org>; Tue, 8 Jun 2021 10:07:18 +0200 (CEST)
X-CTCH-RefID: str=0001.0A782F1F.60BF2537.00AA, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0
In-Reply-To: <f4f3e6fe71a24066bcd75b471d1e7903@jpl.nasa.gov>
References: <36198_1621587275_60A7754B_36198_1601_1_OF73EFFF9B.4F542D9B-ONC12586DC.001DD087-C12586DC.0030F0EA@esa.int> <f4f3e6fe71a24066bcd75b471d1e7903@jpl.nasa.gov>
To: "Burleigh, Scott C (US 312B)" <scott.c.burleigh@jpl.nasa.gov>
Cc: "dtn@ietf.org" <dtn@ietf.org>
MIME-Version: 1.0
X-KeepSent: 1BAFD40D:088B02BC-C12586EE:00229940; type=4; name=$KeepSent
X-Mailer: IBM Notes Release 9.0.1FP10 SHF380 June 07, 2019
From: Felix.Flentge@esa.int
X-MIMETrack: S/MIME Sign by NLNOTES.EXE on Felix Flentge/esoc/ESA(Release 9.0.1FP10 SHF380|June 07, 2019) at 08/06/2021 10:07:13, Serialize by NLNOTES.EXE on Felix Flentge/esoc/ESA(Release 9.0.1FP10 SHF380|June 07, 2019) at 08/06/2021 10:07:13, Serialize complete at 08/06/2021 10:07:13, Itemize by NLNOTES.EXE on Felix Flentge/esoc/ESA(Release 9.0.1FP10 SHF380|June 07, 2019) at 08/06/2021 10:07:13, S/MIME Sign failed at 08/06/2021 10:07:13: Senders' signing certificate is expired, S/MIME Sign by ntaskldr.EXE on Felix Flentge/esoc/ESA(Release 9.0.1FP10 SHF380|June 07, 2019) at 08/06/2021 10:07:16, S/MIME Sign complete at 08/06/2021 10:07:16, Serialize by Router on smtpmta1a/esrin/ESA at 06/08/2021 10:07:18 AM, Serialize complete at 06/08/2021 10:07:18 AM
Message-ID: <OF1BAFD40D.088B02BC-ONC12586EE.00229940-C12586EE.002C9C70@esa.int>
Date: Tue, 08 Jun 2021 10:07:16 +0200
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="sha-256"; boundary="-------z29138_boundary_sign"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dtn/KJH26OODMtPJNoQ79xxO96qZWZQ>
Subject: Re: [dtn] [EXTERNAL] draft-ietf-dtn-bibect-03 issues
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: Tue, 08 Jun 2021 08:07:33 -0000

Scott, two thoughts on this:

1) Actually, the term "instantiation" might not be precise enough. I have 
checked the BPv7 specification and found:

In the most familiar case, a bundle node is instantiated as a single
process running on a general-purpose computer, but in general the
definition is meant to be broader: a bundle node might alternatively
be a thread, an object in an object-oriented operating system, a
special-purpose hardware device, etc.

>From that I understood "instantiation" as "creation of an instance of a 
process/thread/object/etc". 
So, restarting a bundle node process would count as 'instantiation of the 
local node' (a new process is created) and I would have to reset the CTC 
to zero. 

2) If we cannot resume from the 'current value', re-starting from zero 
might be the best option in most cases. However, there may be some cases 
where we would like to initiatialise the CTC differently, eg:
- we can use DTN Time mod x in cases where we know to have low bundle 
rates (ie less then 1 bundle/second)
- if we receive a custody signal for a bundle which we don't have in our 
CTDB (because we reset to zero), we might want to set the CTC to the 
largest Transmission ID in the scope of the report plus some offset

Maybe we should clearly separate between the CTC as a counter and the 
Transmission ID. The Transmission ID shall be unique per destination node 
for the lifetime of the encapsulating bundle (there are cases where this 
cannot be guaranteed). I think we might not even have to require that it 
is always increased by one. It's just that the whole custody signalling 
would become less efficient. Also, I might jut want to maintain a single 
transmission ID counter if I know I will be only communication to a single 
destination entity for some time and then to another one. So, these 
entities might see 'gaps' in the Transmission IDs but that would be fine.

Felix



From:   "Burleigh, Scott C (US 312B)" <scott.c.burleigh@jpl.nasa.gov>
To:     "Felix.Flentge@esa.int" <Felix.Flentge@esa.int>, "dtn@ietf.org" 
<dtn@ietf.org>
Date:   04/06/2021 16:52
Subject:        RE: [EXTERNAL] [dtn] draft-ietf-dtn-bibect-03 issues



Felix, thanks for these.  I?m working on the next edition of this draft 
and have modified it per your points 1(b) and 2.
 
I think the language you object to in 1(a) is pretty close to correct, 
though.  ?Instantiation? is the construction of the node?s initial state. 
The state of the node might or might not reside in some genuinely 
non-volatile medium, such as disk storage.  If it does, then restarting 
the node would mean resuming operation of the node starting from its 
current state as retrieved from that non-volatile medium; in this case, 
the CTCs would be elements of node state and custodial transmission 
counting would correctly resume from the current value.  If not ? that is, 
if the node is truly re-instantiated ? then there is no way to retain the 
values of the CTCs from the moment at which the node was stopped; the 
counts must be initialized to zero.  Do you see an alternative?
 
Scott
 
From: dtn <dtn-bounces@ietf.org> On Behalf Of Felix.Flentge@esa.int
Sent: Friday, May 21, 2021 1:55 AM
To: dtn@ietf.org
Subject: [EXTERNAL] [dtn] draft-ietf-dtn-bibect-03 issues
 
Hi, 

I have spotted two issues in draft 3 of the Bundle-In-Bundle 
Encapsulation: 

1)  Custodial Transmission Count 

The CTC is defined in 3.2 as: 

     1. A "custodial transmission count" (CTC).  A CTC is a 
        monotonically increasing integer indicating the number of 
        custodial BPDUs that have been issued to this BIBE node by the 
        local node since instantiation of the local node. 

a) To have the CTC as the number of BPDUs since the instantiation of the 
local node might be problematic in cases where the local node is 
re-started because the CTC is later used as 'Transmission ID' which should 
be unique over some time frame. 

b) In the definition above, the CTC is defined per custodial node. 
However, later it is stated: 

"The transmission ID for a BPDU for which custody transfer IS 
   requested SHALL be the current value of the local node's custodial 
   transmission count, plus 1." 

To me, this seems to indicate a single CTC per local node. 

Scott confirmed that the first interpretation is correct (one CTC per 
custodial node), so this text should be updated. It may still make sense 
to require increasing of the transmission id by 'plus 1' only as this 
allows more efficient custody signals. 

2) Section 3.4 defines: 

A  "custody transfer status report" is a bundle status report with the 
"reporting node attempted custody transfer" flag set to 1. 

This flag and issuing this status report is described nowhere. I assume 
this section should be removed. 

Regards, 
Felix 

_________________________________________ 
ESA - European Space Agency 
Dr. Felix Flentge 
Software Engineer, OPS-GSB 
Ground Systems Engineering Department 
Directorate of Operations 
ESA - ESOC 
Robert-Bosch-Str.5, D-64293 Darmstadt, Germany 
Phone: +49 6151 90 4075 | Email: Felix.Flentge@esa.int
This message is intended only for the recipient(s) named above. It may 
contain proprietary information and/or
protected content. Any unauthorised disclosure, use, retention or 
dissemination is prohibited. If you have received
this e-mail in error, please notify the sender immediately. ESA applies 
appropriate organisational measures to protect
personal data, in case of data privacy queries, please contact the ESA 
Data Protection Officer (dpo@esa.int).