Re: [dtn] custody transfer I-D

Marius Feldmann <marius.feldmann@tu-dresden.de> Fri, 23 June 2017 14:46 UTC

Return-Path: <marius.feldmann@tu-dresden.de>
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 9FC0212954D for <dtn@ietfa.amsl.com>; Fri, 23 Jun 2017 07:46:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.589
X-Spam-Level:
X-Spam-Status: No, score=-2.589 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-0.001, T_KAM_HTML_FONT_INVALID=0.01, 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 nVHyqzqViQvL for <dtn@ietfa.amsl.com>; Fri, 23 Jun 2017 07:46:37 -0700 (PDT)
Received: from mailout5.zih.tu-dresden.de (mailout5.zih.tu-dresden.de [141.30.67.74]) (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 74E96129540 for <dtn@ietf.org>; Fri, 23 Jun 2017 07:46:31 -0700 (PDT)
Received: from mail.zih.tu-dresden.de ([141.76.14.4]) by mailout5.zih.tu-dresden.de with esmtps (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.84_2) (envelope-from <marius.feldmann@tu-dresden.de>) id 1dOPqv-0003z5-8r for dtn@ietf.org; Fri, 23 Jun 2017 16:46:29 +0200
Received: from aginor.inf.tu-dresden.de ([141.76.41.48]) by server-50.mailclusterdns.zih.tu-dresden.de with esmtpsa (TLSv1.2:DHE-RSA-AES128-SHA:128) (envelope-from <marius.feldmann@tu-dresden.de>) id 1dOPqv-0008K3-5s for dtn@ietf.org; Fri, 23 Jun 2017 16:46:29 +0200
To: dtn@ietf.org
References: <A5BEAD028815CB40A32A5669CF737C3B8AF03E12@ap-embx-sp40.RES.AD.JPL> <6b091c81-7efe-52b2-905e-eb108eb718e0@tu-dresden.de> <A5BEAD028815CB40A32A5669CF737C3B8AF04227@ap-embx-sp40.RES.AD.JPL>
From: Marius Feldmann <marius.feldmann@tu-dresden.de>
Message-ID: <3270cbd0-e387-0869-d9b6-dc13dbf516c9@tu-dresden.de>
Date: Fri, 23 Jun 2017 16:46:29 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1
MIME-Version: 1.0
In-Reply-To: <A5BEAD028815CB40A32A5669CF737C3B8AF04227@ap-embx-sp40.RES.AD.JPL>
Content-Type: multipart/alternative; boundary="------------02CB741986F52593C97887E4"
Content-Language: en-US
X-TUD-Original-From: marius.feldmann@tu-dresden.de
X-TUD-Virus-Scanned: mailout5.zih.tu-dresden.de
Archived-At: <https://mailarchive.ietf.org/arch/msg/dtn/MVWZsWGHzfbnM51fT7f0L7M2Ij8>
Subject: Re: [dtn] custody transfer I-D
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: Fri, 23 Jun 2017 14:46:42 -0000

Yes, for sure this could be also realized as a separate mechanism (e.g.
extension block described in a separate document). To keep things
simple, in my opinion that should be the way to go.

The sketched scenario should be quite popular in opportunistic ad-hoc
networks in which the topology is not known in advance.

If we do not go for a solution, custody transfer is removed from all use
cases mentioned in [1] lacking apriori topological knowledge (e.g.
Vehicular Delay Tolerant Network, Disaster Response, ...).

Marius

[1] https://trac.ietf.org/trac/dtn/wiki/DtnUseCases


On 23.06.2017 16:18, Burleigh, Scott C (312B) wrote:
>
> You’re right, Marius, this approach excludes the option of saying
> “Please, anybody on the path, take custody of part or all of this
> bundle.”  If we need that capability, then we would need a different –
> or additional – protocol to make that happen.
>
>  
>
> That is by design, though.  If you don’t know who’s going to take
> custody then you don’t know when custody will be taken, and in that
> case you don’t have any way of knowing that custody has not been
> taken, so there is no efficient way of triggering retransmission of
> the bundle from the current custodian.  So I think requiring that
> capability excludes the efficient discharge of custodial responsibility.
>
>  
>
> I have not yet heard of use cases that require custody transfer –
> including custodial retransmission – in operational scenarios where
> the current custodian forwards the bundle without knowing who the next
> custodian should be.  Are there any?
>
>  
>
> Scott
>
>  
>
> *From:*dtn [mailto:dtn-bounces@ietf.org] *On Behalf Of *Marius Feldmann
> *Sent:* Friday, June 23, 2017 1:02 AM
> *To:* dtn@ietf.org
> *Subject:* Re: [dtn] custody transfer I-D
>
>  
>
> Hi Scott,
>
> with your approach we can state that a specific node on the path
> should take the custody for a specific bundle (not just fragments
> created from it). Thus, it renders it possible to define well-known
> nodes that guarantee to take the original bundle (even if it has been
> fragmented between the sender and this well-known node) and confirm
> custody for it. As far as I get it, that is the basic point.
>
> Let us assume we only have the proposed option available. How do we
> transfer custody to an unknown node on the path? Thus, to transmit a
> bundle with the requirement "Please, anybody on the path, take custody
> for this bundle." or maybe even an extended variant: "Please, anybody
> on the path, take custody for the whole or partial data encapsulated
> in this bundle.".
>
> I guess we need - at least additionally to the approach proposed by
> you - protocol support to cover this case.
>
> Marius
>
>  
>
> On 23.06.2017 02:04, Burleigh, Scott C (312B) wrote:
>
>     Hi.  A few minutes ago I posted an Internet Draft
>     (https://datatracker.ietf.org/doc/draft-burleigh-dtn-bibect/)
>     presenting an idea I had a couple of months ago for cleanly
>     breaking the Custody Transfer procedures out of BP and into a
>     separate document.
>
>      
>
>     In a nutshell, I suggest that we standardize the Bundle-in-Bundle
>     Encapsulation (BIBE) convergence-layer protocol and build Custody
>     Transfer into it, making BIBE a reliable CL.
>
>      
>
>     I am confident that this sounds insane to most people who are
>     reading this email.  But I think I can actually make a fairly
>     strong case for it.
>
>      
>
>     I’ve been claiming for some time that reliable convergence-layer
>     protocols (TCP, LTP) are the best way to provide end-to-end
>     delivery reliability in DTN.  Custody transfer is not as good
>     because (a) there are no partial NAKs, so the only option on any
>     data loss, no matter how small, is to re-send the entire bundle
>     (which may be hundreds of megabytes); (b) there are no negative
>     ACKs that indicate data loss (custody refusal actually indicates
>     successful data arrival, just at an incapable forwarding point),
>     so recovery from data loss happens only when a timer expires at
>     the current custodian; (c) but it is in the general case
>     impossible to set the timeout value for that timer because no node
>     is ever required to take custody.  You never know (in the general
>     case) who the next custodian will be, so you have no idea what the
>     round-trip time to the next custodian is.
>
>      
>
>     At the same time, Keith Scott has been saying that some important
>     use cases need custody transfer instead of reliable CLAs because
>     no suitable reliable convergence-layer protocol exists: the
>     forward path is unidirectional, the return path is very different,
>     and delay-tolerant hop-by-hop forwarding is needed in one or both.
>
>      
>
>     Suppose we are both exactly right.  Let’s make custodial
>     retransmission a property of a (now reliable) convergence-layer
>     protocol that performs delay-tolerant hop-by-hop forwarding,
>     because the CL’s protocol data units are bundles.  Like BIBE.
>
>      
>
>     In the specification I just posted, BIBE CT works in much the same
>     way that CT works in RFC 5050, only a little simpler.  The
>     outbound bundle forms the payload of an encapsulating bundle
>     destined for the next custodian, which might – but would not have
>     to – be the next BP node on the end-to-end path.  On arrival of
>     the encapsulating bundle at the destination node, the CLA at that
>     node extracts the payload (the original bundle) and decides
>     whether or not to accept custody.  It sends a custody signal back
>     to the sending CLA, either accepting or refusing custody, and on
>     acceptance it passes the payload bundle up to the BPA for
>     processing as usual (forwarding, delivery, etc.).  The sending CLA
>     receives and processes custody signals, destroys its copy of the
>     cited original bundle upon custody acceptance, and re-encapsulates
>     and re-transmits the original bundle upon either custody refusal
>     or timer expiration prior to receipt of a responding custody signal.
>
>      
>
>     I think this formulation offers a lot of advantages:
>
>     ·        The problem of custodial bundle fragmentation by a
>     non-custodial forwarding node goes away: no node other than the
>     next custodian ever sees the encapsulated bundle, therefore cannot
>     fragment it.  The encapsulating (BIBE) bundle might get
>     fragmented, absolutely, but it gets reassembled at the destination
>     (the next custodian) before any CT processing occurs.  So all of
>     the complexity of fragmentary custody transfer disappears.
>
>     ·        Custody transfer suddenly becomes compatible with
>     multi-point delivery.  If you use bundle multicast as prototyped
>     in ION, then each copy of the bundle that is forwarded through the
>     multicast tree is (naturally) conveyed using a point-to-point
>     convergence-layer transfer – which could easily be a BIBE transfer
>     with CT requested.
>
>     ·        Looking out a little further, knowing the identity of the
>     next custodian means that CT can take advantage of bundle delivery
>     time estimation mechanisms (which we prototyped a few years ago)
>     to compute custodial retransmission timeout intervals.  So CT
>     becomes more accurate and efficient as well.
>
>     ·        The relationship of CT to the rest of BP becomes an
>     extremely clean and simple interface, which can easily be added on
>     to any BP implementation.  Implementation of CT becomes simple and
>     self-contained.
>
>     ·        Building CT into BIBE gives us a single CL protocol that
>     can provide cross-domain security solutions, provide reliable
>     disruption-tolerant forwarding over unidirectional links, or
>     both.  And yet the protocol is extremely simple, only 13 pages.
>
>      
>
>     It’s radical, but I don’t think it’s wrong.
>
>      
>
>     Scott
>
>
>
>
>     _______________________________________________
>
>     dtn mailing list
>
>     dtn@ietf.org <mailto:dtn@ietf.org>
>
>     https://www.ietf.org/mailman/listinfo/dtn
>
>  
>
>
>
> _______________________________________________
> dtn mailing list
> dtn@ietf.org
> https://www.ietf.org/mailman/listinfo/dtn