Re: [dtn] New Custody Transfer Spec
Keith Scott <kscott.mitre@gmail.com> Tue, 11 April 2017 11:53 UTC
Return-Path: <kscott.mitre@gmail.com>
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 8870312945B for <dtn@ietfa.amsl.com>; Tue, 11 Apr 2017 04:53:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.698
X-Spam-Level:
X-Spam-Status: No, score=-2.698 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 3eQ2fmLaoej8 for <dtn@ietfa.amsl.com>; Tue, 11 Apr 2017 04:53:34 -0700 (PDT)
Received: from mail-wm0-x234.google.com (mail-wm0-x234.google.com [IPv6:2a00:1450:400c:c09::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 14DF5129468 for <dtn@ietf.org>; Tue, 11 Apr 2017 04:53:34 -0700 (PDT)
Received: by mail-wm0-x234.google.com with SMTP id u2so59021355wmu.0 for <dtn@ietf.org>; Tue, 11 Apr 2017 04:53:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=4H0yJ+XAvhIOHZY7xhmFNBqXI+EOT4IG9mon4yZEwPE=; b=OT9mHsuntayu857l9fIBcaAdl0sPXTK0KGnBkPQIPceUapj0pT+k8oCCRooaMr3aj2 qxsplsj4TQGecQHw4WehltNoWpTo5htkIuG6hRO5aORUj46nM3AxFl3VZ79o991qmLkX tqfZ/gyIZTN9qp4FGsDkdMQZK3lzAu/cYxSdNYeg/+sPO4B+8aAbcUMCu2HcQcRarSbo VMVDrHUh7Mw8Sl7QF2RMC7HHfE66gL+jLNtsMxs6M9vGk3EVjmjoemqNmfaAAK5qff8T S2rmjLjIcmYC+GhmrK9uUJKgVcgehnvTc8NNTI5FSY9XcVo9r5lSMmkNccQVN7sGoLg9 C9UA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=4H0yJ+XAvhIOHZY7xhmFNBqXI+EOT4IG9mon4yZEwPE=; b=OVcJPWkTPzIpA3XfzHwciwHMQs63BsKen4XNkvMFGbm8Aixt09Q9ROHQtOyeHhOpje sPfzOd93oTDhxkEVAPm/CSuDRFXU/0N0OIlADR0EtnmU7lCT5hn0qYbYKMFN6SsXWWxP 3jTkSqkbHW+gc0/3DlWLldG6Gryd6dTKA5pAi5pxOHAnz6mdSPAead+DzehpxuynwBMt t7IYTIvYBW+eUllGs6U3atWsAQvtn7JAZjzCnH1sPaxeXbeCmpY9PKkZ22y36r3n1q4q sEr9NHSSEP1olSD5ZsWezNlW/OVJDAE062kP6KrlS4f5xB2NhhcUB4IttE3liBu24cb9 lkqg==
X-Gm-Message-State: AN3rC/4nzuzff4AnSVuSxYoKqCaqitnbHlLfJUO8BShjb8FctoXoe5pMRl4AOPgxrxQ2oHER2GQDoh+vdhQmrQ==
X-Received: by 10.28.24.79 with SMTP id 76mr13868623wmy.111.1491911612608; Tue, 11 Apr 2017 04:53:32 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.28.236.70 with HTTP; Tue, 11 Apr 2017 04:53:32 -0700 (PDT)
In-Reply-To: <A5BEAD028815CB40A32A5669CF737C3B8A3D5C10@ap-embx-sp10.RES.AD.JPL>
References: <CAMXgdkRdQFWZLLOferBTXcepr9fvFKhLknWw51tJfO+8U4DKhA@mail.gmail.com> <c7aba84553a54f43b762d32b7383ea9a@E13-MBX4-DR.personale.dir.unibo.it> <A5BEAD028815CB40A32A5669CF737C3B8A3D5C10@ap-embx-sp10.RES.AD.JPL>
From: Keith Scott <kscott.mitre@gmail.com>
Date: Tue, 11 Apr 2017 07:53:32 -0400
Message-ID: <CAMXgdkRMdeX0RphDDO=uBT=bW=+9+JxK3rn2vhkXsWo3J-9AkA@mail.gmail.com>
To: "Burleigh, Scott C (312B)" <scott.c.burleigh@jpl.nasa.gov>
Cc: Carlo Caini <carlo.caini@unibo.it>, "dtn@ietf.org" <dtn@ietf.org>
Content-Type: multipart/alternative; boundary="001a11469e06b4b6c1054ce2bd68"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dtn/268rysZdGl94JTuPnoY-cx8YTDY>
Subject: Re: [dtn] New Custody Transfer Spec
X-BeenThere: dtn@ietf.org
X-Mailman-Version: 2.1.22
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, 11 Apr 2017 11:53:38 -0000
Scott, Yes, I concur that the current definition of 'bundle' as (source EID, sending timestamp [, fragment offset, fragment length]) is wrong, and that the unique identifier should go back to (source EID, sending timestamp)*. I *believe* this was the original notion but at some point in the past we made the switch and I don't think it has served us well. If one equates (source EID, sending timestamp) to 'IPID' for IP, then we have a unique token that identifies 'the bundle' to which the fragment(s) apply, and can manage custody accordingly. Since what you describe is what I proposed in my email of April 3, I'm for it. --keith On Fri, Apr 7, 2017 at 5:37 PM, Burleigh, Scott C (312B) < scott.c.burleigh@jpl.nasa.gov> wrote: > I started on another iteration of the CT book but on reflection I think I > want to hold off on that for a moment and spend some time talking about the > new stuff. > > The fundamental problem, as I understand it, is that a non-custodial node > - possibly even a non-CT-aware node, whose implementation does not conform > to any of the CT specification requirements at all (as in fact any node > might be) - might fragment a bundle for which an upstream node has taken > custody. > > Currently, a custody signal is applied only to the bundle that it pertains > to, as identified by source node, creation timestamp, and the offset and > length of the payload (within the application data unit that formed the > payload of the original bundle before initial fragmentation). > > Since in this case none of the fragments will have the same offset and > length as the bundle for which custody was taken, no downstream node that > accepts (or refuses) custody of any such fragment can cause the custodian > to release custody of (or retransmit) the bundle of which it has custody. > All such custody signals have to be ignored and discarded. > > So that bundle's retransmission timer will eventually expire and that > (unfragmented) bundle will be retransmitted, perhaps unnecessarily, perhaps > back to the same fragmenting non-CT node. Custody transfer for that > unfragmented bundle is no longer working properly. > > Given this, I don't think the ETOOBIG concept helps: the node that > fragments the bundle might not conform to the CT spec and therefore might > not know about sending ETOOBIG. > > In which case I am beginning to think that the only solution is to relax > the principle that a custody signal is applied only to the identified > bundle. Instead, a custody signal is applied to the bundle(s) for which > the receiving node has taken custody, for which source node and creation > timestamp match those specified in the custody signal. > > If the custody signal is Acceptance then all bytes in the intersections of > the payload ranges of the custody signal and each such custodial bundle > must be considered payload for which custody transfer has succeeded. > > If the custody signal is Refusal then all bytes in the intersections of > the payload ranges of the custody signal and each such custodial bundle > must be considered payload for which custody transfer has failed. > > When custody transfer has succeeded for ALL bytes in the payload range of > a custodial bundle then we can process custody transfer success for that > bundle. > > When custody transfer has failed for ALL bytes in the payload range of a > custodial bundle then we can process custody transfer failure for that > bundle. > > For each custodial bundle whose retransmission timer expires prior to > either of those two outcomes, we retransmit the bundle. Maybe fragment it > and retransmit only the portions for which custody has not yet been > accepted? > > And maybe do a similar thing when it has been determined that, for each > byte in the payload range of a given custodial bundle, custody has been > either accepted or refused. That is, fragment the bundle appropriately and > release custody of the accepted portion(s) but retransmit the refused > portion(s). > > The bookkeeping is a little complex, but I don't see a good alternative. > Any ideas? > > Scott > > -----Original Message----- > From: Carlo Caini [mailto:carlo.caini@unibo.it] > Sent: Tuesday, April 4, 2017 3:28 AM > To: Keith Scott <kscott.mitre@gmail.com>; Burleigh, Scott C (312B) < > scott.c.burleigh@jpl.nasa.gov>; dtn@ietf.org > Subject: Re: [dtn] New Custody Transfer Spec > > Dear Keith and Scott, > I have added a few comments to the document in attachment, essentially > to stress that there are now 3 options: acceptance, refusal and delegation. > I hope they may be of some help, but feel absolutely free of dropping them. > Yours, > Carlo > > At 22:32 03/04/2017, Keith Scott wrote: > >[Changing subject to better match thread.] > > > >Scott, > > > >Thanks for your comments on my proposed methods. I think I've > >addressed these in the attached document, with the differences summarized > as: > > > > * Changed 'cover' to 'include' for payload ranges. In cases where > >set theoretic A covers B was needed, I use text like "the union of all > >payload ranges meeting criteria XYZ includes range B'. > > * I originally removed the encapsulation text, but added back a > >version that references the note in section 3.2 of BPBIS -- not sure > >if the NOTE is 'spec-y' enough to reference or not -- what do you think? > > * Changed all the 'custody signal information associated with a > >bundle' to the simpler: Store all received custody signals that are > >applicable to custodially-held bundles (where 'applicable to' is add > >to the definitions). It's not as clean from the standpoint of how I'd > >want to implement things, but its easier to describe. > >The main difference between these and your original proposed text is > >that these allow for a node to fragment a bundle that requests custody > >without taking custody of it. I think that would be very useful in > >situations where nodes do not know the 'CL MTUs' of all links that a > >bundle might traverse. Without these mechanisms, if a node takes > >custody of a bundle and all the next hops through which the bundle > >might travel would need to fragment it, the bundle will be stuck and > >have to expire at the custodian. > > > >An alternative mechanism might be the CT equivalent of ETOOBIG -- a > >signal sent to the current custodian that a bundle needs to be > >fragmented to size X before it can be forwarded. That would have the > >advantage of reducing complexity and processing at the expense of > >efficiency (since the entire bundle WOULD have to be fragmented by the > >current custodian(s?) and re-forwarded. > > > >Anyone have comments on an ETOOBIG equivalent vs. being able to > >fragment bundles without taking custody of them? > > > > --keith > > > >Content-Type: > >application/vnd.openxmlformats-officedocument.wordprocessingml.document; > > name="draft-ietf-dtn-bpct-00_fragEnabled.SB1_KLS2.docx" > >Content-Disposition: attachment; > > filename="draft-ietf-dtn-bpct-00_fragEnabled.SB1_KLS2.docx" > >X-Attachment-Id: f_j12kno700 > > > >_______________________________________________ > >dtn mailing list > >dtn@ietf.org > >https://www.ietf.org/mailman/listinfo/dtn >
- Re: [dtn] New Custody Transfer Spec Burleigh, Scott C (312B)
- Re: [dtn] New Custody Transfer Spec Keith Scott
- Re: [dtn] New Custody Transfer Spec Burleigh, Scott C (312B)
- Re: [dtn] New Custody Transfer Spec Stephen Farrell
- [dtn] New Custody Transfer Spec Keith Scott
- Re: [dtn] New Custody Transfer Spec Burleigh, Scott C (312B)
- Re: [dtn] New Custody Transfer Spec Carlo Caini