Re: [dtn] custody transfer I-D

Lloyd Wood <lloyd.wood@yahoo.co.uk> Fri, 23 June 2017 01:14 UTC

Return-Path: <lloyd.wood@yahoo.co.uk>
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 3F114129BDA for <dtn@ietfa.amsl.com>; Thu, 22 Jun 2017 18:14:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.49
X-Spam-Level:
X-Spam-Status: No, score=-2.49 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FORGED_MUA_MOZILLA=2.309, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-2.8, 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=yahoo.co.uk
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 MI9pGyhYUzfO for <dtn@ietfa.amsl.com>; Thu, 22 Jun 2017 18:14:05 -0700 (PDT)
Received: from sonic304-25.consmr.mail.ir2.yahoo.com (sonic304-25.consmr.mail.ir2.yahoo.com [77.238.179.150]) (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 6F244129BBD for <dtn@ietf.org>; Thu, 22 Jun 2017 18:14:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.co.uk; s=s2048; t=1498180443; bh=blFUu3TW8W3zGumtXGmgBgh0B5F3BRmMf6BlZBCzQI8=; h=Date:From:Reply-To:To:In-Reply-To:References:Subject:From:Subject; b=HVDC4E4TGSn68AcsvwcnIcahtaasQ0EWXQsM/NGCntIPuaAdFz8woIqfG5//Ow6OaeywVw/KO8hiEDIuVNHgBxDcFfvMFRsD9Wxunr2XAzwKELojBMe/GDExD1+FjAnw6GLxD198JSS9cVNmDxBZ6x2RI5QvCAwvYR5yw406wh4jllAwBvIe+XO/TGSYgmBwJ40KlQJWC8T1rd94R/8Xa+PgFm3f4mwYSmoEe8Hj0Ol8FnkRClBJhJaAEnQrzR3Ah44H0XKau5/b1iD5c+oTzeFb1YTD+9pG17ONn64+xJTHw7B2HjHrGlHK5x8NI7Y3Ov3eQoUA6Chke91wAuH0Dg==
X-YMail-OSG: MkCf74MVM1kbikcHPRzGe.2cahUgkul6r3._f.2mFbjp1ZNHxUYjEpTJkziX8bx uVa8_kbKa1Y_X.8pyxndHrdXi7kWLBXhss_.Mdu_2NSHaqu7kXfLBC_xv7ZXeZCO8QobtPPIfgQt cTVYWkNio33eBokdaXD9eHlTeAIg9xJx8yMEwGVcOkOZ6mh547FUV2GrKLUJv8J3qxWRxIgXOX4p AwtQRZEULunzYPlO8NC5SRmrGYWCfiVT4oMLRwq_JiHoYSSA4gFTtGwuJzPEkLjQB1Z.YbOaBpdt PJvxDh_quCNM7Vu1OH5B9q.zcthbIx3E9yeiLFtqY__mzs962yIAln5TTm06zEDnW_unrCHt7XyE B6g.K..MVooJp3XxbNj8fmrwpV65VpTeHFyGZR.bHJPoAqo1ROI7I10bESX05aT3h9dbhEmDYcT9 CmGRahc9LVNlelAiGoEzrMUqKjJxCt.QXz0ZPdVBo6ELZ0QKcFxZTyg69bMN624uCpxJQ5zROp01 6bIy2PbPMEvoVCJgVYhSa8xAWCyNPaQc6o2TH2NMiQwInRhJJ.y0ahWIWI3U-
Received: from sonic.gate.mail.ne1.yahoo.com by sonic304.consmr.mail.ir2.yahoo.com with HTTP; Fri, 23 Jun 2017 01:14:03 +0000
Date: Fri, 23 Jun 2017 01:13:35 +0000
From: Lloyd Wood <lloyd.wood@yahoo.co.uk>
Reply-To: Lloyd Wood <lloyd.wood@yahoo.co.uk>
To: "Burleigh, Scott C (312B)" <scott.c.burleigh@jpl.nasa.gov>, "dtn@ietf.org" <dtn@ietf.org>
Message-ID: <1790492564.51223.1498180416006@mail.yahoo.com>
In-Reply-To: <A5BEAD028815CB40A32A5669CF737C3B8AF03E6C@ap-embx-sp40.RES.AD.JPL>
References: <A5BEAD028815CB40A32A5669CF737C3B8AF03E12@ap-embx-sp40.RES.AD.JPL> <1290964186.2627.1498177321503@mail.yahoo.com> <A5BEAD028815CB40A32A5669CF737C3B8AF03E6C@ap-embx-sp40.RES.AD.JPL>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Mailer: WebService/1.1.9948 YahooMailNeo Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.109 Safari/537.36
Archived-At: <https://mailarchive.ietf.org/arch/msg/dtn/FDiSycefq8Z7Q1P5jMMwnCYQWpg>
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 01:14:08 -0000

Scott,

you can nest encapsulations recursively, not just once. BIBE in BE in BE... at each hop, a decap leads to a bundle specifying the next immediate custody destination. A route is, after all, just a concatenated series of next hops, or in this case of decapped bundles specifying new custody destinations, which the sender can specify by building bundle headers.

Incidentally, being able to do this kind of thing is a massive security concern, which is why source routing keeps getting rediscovered and then abandoned really quickly. Added fun with multicast destinations, too - see e.g. RFC5095 or RFC6554 section 5.

Are you going to say 'we can only tunnel once' or something, and actually expect people to obey that? Do try to think this through.

regards 

Lloyd Wood
http://sat-net.com/L.Wood/dtn

the perpetual motion machine is still broken, I see.
________________________________
From: "Burleigh, Scott C (312B)" <scott.c.burleigh@jpl.nasa.gov>
To: Lloyd Wood <lloyd.wood@yahoo.co.uk>; "dtn@ietf.org" <dtn@ietf.org> 
Sent: Friday, 23 June 2017, 10:38
Subject: Re: [dtn] custody transfer I-D



Thanks for crediting me with such a useful invention!  But actually no I haven't, since the sender doesn't specify the route that the bundle takes through the network -- it only specifies the next-hop proximate destination node, just as with any convergence-layer protocol.


-----Original Message-----
From: Lloyd Wood [mailto:lloyd.wood@yahoo.co.uk] 
Sent: Thursday, June 22, 2017 5:22 PM
To: Burleigh, Scott C (312B) <scott.c.burleigh@jpl.nasa.gov>; dtn@ietf.org
Subject: Re: [dtn] custody transfer I-D

Hi Scott,

You've just reinvented source routing, with added tunnelling overhead for each specified relay/custodian.

https://en.wikipedia.org/wiki/Source_routing

Congratulations! 
Lloyd Wood
http://sat-net.com/L.Wood/dtn


________________________________
From: "Burleigh, Scott C (312B)" <scott.c.burleigh@jpl.nasa.gov>
To: "dtn@ietf.org" <dtn@ietf.org> 
Sent: Friday, 23 June 2017, 10:05
Subject: [dtn] custody transfer I-D




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
https://www.ietf.org/mailman/listinfo/dtn