Re: [dtn-interest] What's the actual effect of using custody transfer?
ccaini <ccaini@arces.unibo.it> Wed, 14 May 2014 18:16 UTC
Return-Path: <ccaini@arces.unibo.it>
X-Original-To: dtn-interest@ietfa.amsl.com
Delivered-To: dtn-interest@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 12E2F1A0332 for <dtn-interest@ietfa.amsl.com>; Wed, 14 May 2014 11:16:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.671
X-Spam-Level:
X-Spam-Status: No, score=-0.671 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_IT=0.635, HOST_EQ_IT=1.245, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-0.651] autolearn=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 hp1P4tWZJmk9 for <dtn-interest@ietfa.amsl.com>; Wed, 14 May 2014 11:16:16 -0700 (PDT)
Received: from mail.arces.unibo.it (mail.arces.unibo.it [137.204.143.6]) by ietfa.amsl.com (Postfix) with ESMTP id C42B11A014D for <dtn-interest@irtf.org>; Wed, 14 May 2014 11:16:11 -0700 (PDT)
Received: from webmail.arces.unibo.it (web.arces.unibo.it [137.204.143.9]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.arces.unibo.it (Postfix) with ESMTP id BDBC9414A896; Wed, 14 May 2014 20:15:54 +0200 (CEST)
MIME-Version: 1.0
Date: Wed, 14 May 2014 20:15:54 +0200
From: ccaini <ccaini@arces.unibo.it>
To: Martin Galvan <omgalvan.86@gmail.com>
In-Reply-To: <CAN19L9ET7GjmZPOiusUFqdCch-q3DQPp2MN5m9s-Fs6pWTuhww@mail.gmail.com>
References: <CAN19L9F2kg4qj-3-Oa=yU_vRMdgQP5nw-XNBNFvzSkV4FkQecA@mail.gmail.com> <CAN19L9ET7GjmZPOiusUFqdCch-q3DQPp2MN5m9s-Fs6pWTuhww@mail.gmail.com>
Message-ID: <11675e91a8e02204073979b93710501a@arces.unibo.it>
X-Sender: ccaini@arces.unibo.it
User-Agent: RoundCube Webmail/0.2
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="UTF-8"
X-Arces-MailScanner-Information: Please contact the ISP for more information
X-Arces-MailScanner-ID: BDBC9414A896.DAA3C
X-Arces-MailScanner: Found to be clean
X-Arces-MailScanner-From: ccaini@arces.unibo.it
Archived-At: http://mailarchive.ietf.org/arch/msg/dtn-interest/CuAgU7MX2ZJsPDJZZwhagWDNuME
Cc: dtn-interest@irtf.org
Subject: Re: [dtn-interest] What's the actual effect of using custody transfer?
X-BeenThere: dtn-interest@irtf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "The Delay-Tolerant Networking Research Group \(DTNRG\) - Announce." <dtn-interest.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/dtn-interest>, <mailto:dtn-interest-request@irtf.org?subject=unsubscribe>
List-Archive: <http://www.irtf.org/mail-archive/web/dtn-interest/>
List-Post: <mailto:dtn-interest@irtf.org>
List-Help: <mailto:dtn-interest-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/dtn-interest>, <mailto:dtn-interest-request@irtf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 May 2014 18:16:18 -0000
Dear Martin, Let me highlight out a few points regarding custody: 1) A does not ask B or any other specific node in the path to destination to accept the custody; the DTN application on the node A (not the BP on A) sets a flag in the bundle primary block (a sort of bundle header); then all BP in the path to destination (including the BP of the source itself) may (or may not) accept the custody. This is to say that nodes are free to accept or not the request. E.g. in the A-B-C-D-E path, B could just forward the bundle, while C could accept the custody and become the new custodian. 2) If the BP of the current custodian does not receive a custody acceptance by another node on the path to destination it will resend the bundle after a time out expires. E.g. C will resend the bundle to destination if it will not receive in time any custody acceptance signal. 3) The custodian is basically the node that is in charge of retransmitting (at BP layer) the bundle. In the example, the advantage is that retransmission is performed by C which is closer to destination than A. 4) Let me stress oncer again that the custody transfer is a retransmission at BP layer, i.e. performed by BP voluntarily. Vice versa, without the custody the bundle has to be retransmitted by the node A at application layer, if necessary. I.e. it is the application on A, and not the BP on A that has the burden to retransmit. If A is willing to leave the DTN network, or to delete the bundle just sent as soon as possible, the custody mechanism allows it to do that. 5) Concerning your question on unidirectional links, it is a very good question. You could have an unidirectional link along the path, e.g. between B and C in your example, and thus C could have difficulty in informing B that it has accepted the custody. More precisely, the custody acceptance signal is a bundle. As that it could reach B through a different path (e.g. C-E-B) and this could resolve the problem if the additional delay is not too large. If there are not alternate paths, there will be spurious retransmissions from B to C. They will finish either when the bundle expires (remember that bundles have a limited time to live), or maybe when the retransmissions have reached a given number (I am not sure on this point, which I suppose is implementation dependent). Note that there is a mechanism to inform the "report to:" node that the bundle has been transmitted on an unidirectional link (see below). As the "report to:" could be whatever node, and not necessarily the source, this mechanism seems to me weak. I will report below what is stated in RFC 4838 concerning unidirectional links for the sake of completeness. By the way, all custody mechanism is very well explained in details in RFC4838. I would suggest that you read it: implications of custody are interesting and subtle at the same time. Yours, Carlo Caini >From RFC4838 In a DTN network where one or more custodian-to-custodian hops are strictly one directional (and cannot be reversed), the DTN custody transfer mechanism will be affected over such hops due to the lack of any way to receive a custody signal (or any other information) back across the path, resulting in the expiration of the bundle at the ingress to the one-way hop. This situation does not necessarily mean the bundle has been lost; nodes on the other side of the hop may continue to transfer custody, and the bundle may be delivered successfully to its destination(s). However, in this circumstance a source that has requested to receive expiration BSRs for this bundle will receive an expiration report for the bundle, and possibly conclude (incorrectly) that the bundle has been discarded and not delivered. Although this problem cannot be fully solved in this situation, a mechanism is provided to help ameliorate the seemingly incorrect information that may be reported when the bundle expires after having been transferred over a one-way hop. This is accomplished by the node at the ingress to the one-way hop reporting the existence of a known one-way path using a variant of a bundle status report. These types of reports are provided if the subject bundle requests the report using the 'Report When Bundle Forwarded' delivery option. >From RFC 5050 If the "request reporting of bundle forwarding" flag in the bundle's status report request field is set to 1, then a bundle forwarding status report should be generated, destined for the bundle's report-to endpoint ID. If the bundle has the retention constraint "custody accepted" and all of the nodes in the minimum reception group of the endpoint selected for forwarding are known to be unable to send bundles back to this node, then the reason code on this bundle forwarding status report must be "forwarded over unidirectional link"; otherwise, the reason code must be "no additional information". On Wed, 14 May 2014 12:56:08 -0300, Martin Galvan <omgalvan.86@gmail.com> wrote: > Thanks a lot guys! So basically, the difference is that the sender has to > keep its copy of the bundle until it receives an acknowledgement from the > destination node, while in custody transfer it's the custodian node that > has to keep its copy? What if C receives the bundle, but there's no link > for it to send its acknowledgement back to A? Will A (or B, if it accepted > custody) have to keep its copy of the bundle indefinitely in storage? > > > 2014-05-14 12:20 GMT-03:00 Martin Galvan <omgalvan.86@gmail.com>: > >> Hi everybody! I'm reading a bit on DTN and I have a doubt about what >> custody transfer actually does. From what I've read, a node that accepts >> custody of a bundle promises it won't delete the bundle until it can >> forward the bundle to either its destination or another node that accepts >> its custody. However, I don't see what would be the difference between >> doing that and not using custody transfer. Isn't the whole purpose of a >> store-and-forward mechanism to do just that? >> >> For example, let's assume we have three nodes, A, B and C. There's no >> end-to-end path from A to C, and A is directly connected to B. >> >> A----->B C >> >> If I understood custody transfer right, if A wants to send C a bundle >> using custody transfer, it will request B to accept custody of the >> bundle; >> if B accepts it will store the bundle until a link to C can be >> established. >> Once that happens, B will then forward the bundle to C and delete it once >> it's reached its destination. >> >> What would happen if A didn't want to use custody transfer? >> >> Thanks a lot! >>
- [dtn-interest] What's the actual effect of using … Martin Galvan
- Re: [dtn-interest] What's the actual effect of us… Vint Cerf
- Re: [dtn-interest] What's the actual effect of us… Martin Galvan
- Re: [dtn-interest] What's the actual effect of us… ccaini
- Re: [dtn-interest] What's the actual effect of us… Moore, Brad
- Re: [dtn-interest] What's the actual effect of us… Ivancic, William D. (GRC-RHN0)