Re: [dtn-interest] Re: comparing protocols for reliability etc.

Lloyd Wood <L.Wood@surrey.ac.uk> Wed, 25 July 2007 23:51 UTC

Received: from ams-iport-1.cisco.com (ams-iport-1.cisco.com [144.254.224.140]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id l6PNpZJ25627 for <dtn-interest@mailman.dtnrg.org>; Wed, 25 Jul 2007 16:51:35 -0700
Received: from ams-dkim-2.cisco.com ([144.254.224.139]) by ams-iport-1.cisco.com with ESMTP; 26 Jul 2007 01:51:30 +0200
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: Ao8CAMN+p0aQ/uCLZmdsb2JhbACPaAsKJA
X-IronPort-AV: i="4.16,581,1175464800"; d="scan'208"; a="149010714:sNHT28217666"
Received: from ams-core-1.cisco.com (ams-core-1.cisco.com [144.254.224.150]) by ams-dkim-2.cisco.com (8.12.11/8.12.11) with ESMTP id l6PNpT2x019071; Thu, 26 Jul 2007 01:51:29 +0200
Received: from cisco.com (mrwint.cisco.com [64.103.71.48]) by ams-core-1.cisco.com (8.12.10/8.12.6) with ESMTP id l6PNpOkt000912; Wed, 25 Jul 2007 23:51:29 GMT
Received: from lwood-wxp01.cisco.com (che-vpn-cluster-1-295.cisco.com [10.86.241.40]) by cisco.com (8.8.8-Cisco List Logging/8.8.8) with ESMTP id AAA12198; Thu, 26 Jul 2007 00:51:09 +0100 (BST)
Message-Id: <200707252351.AAA12198@cisco.com>
X-Mailer: QUALCOMM Windows Eudora Version 7.1.0.9
Date: Thu, 26 Jul 2007 00:50:33 +0100
To: Darren Long <darren.long@virgin.net>, dtn-interest@mailman.dtnrg.org
From: Lloyd Wood <L.Wood@surrey.ac.uk>
Subject: Re: [dtn-interest] Re: comparing protocols for reliability etc.
In-Reply-To: <DB2FCBA0-E83E-4C78-84DB-167883CEEB93@virgin.net>
References: <DB2FCBA0-E83E-4C78-84DB-167883CEEB93@virgin.net>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Authentication-Results: ams-dkim-2; header.From=L.Wood@surrey.ac.uk; dkim=neutral
Sender: dtn-interest-admin@mailman.dtnrg.org
Errors-To: dtn-interest-admin@mailman.dtnrg.org
X-BeenThere: dtn-interest@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-interest>, <mailto:dtn-interest-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: Delay Tolerant Networking Interest List <dtn-interest.mailman.dtnrg.org>
List-Post: <mailto:dtn-interest@mailman.dtnrg.org>
List-Help: <mailto:dtn-interest-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-interest>, <mailto:dtn-interest-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-interest/>

At Thursday 26/07/2007 00:07 +0100, Darren Long wrote:
>Hi all,
>
>I posted a few days ago amongst the turmoil of the recent paper  
>regarding data integrity.  Curiously, there have been no responses.   
>Hasn't anyone any comments?  If I'm very off plot, I'd hope someone  
>would put me straight.  Otherwise, I'm hoping someone might agree.

Darren - you're not off plot. Many of us have travelled to the IETF in Chicago, so the stuff related to in-the-room discussion has taken precedence.

IP fragmentation is unlikely because these convergence layers are usually only supposed to travel one hop across a local link, and in those scenarios they will know and use the local link MTU. (Protecting against errors in lower layers segmenting and reassembling packets is something I would be concerned about.)  For a convergence layer that can traverse the public Internet - TCP has Path MTU discovery to avoid fragmentation. Also, intermediate fragmentation is avoided in the IPv6 design. Weakness of the one's-complement checksum with large MTUs (especially jumbograms) is another issue.

We've spent a lot of time on the list discussing reliability to catch residual errors - I certainly think that if a convergence layer is advertised as "reliable" it should at least make an attempt to catch all errors - and that's why we added the MD5 integrity checksum in Saratoga, to provide an attempt at an e2e checksum to help applications that don't check what they receive. This means that Saratoga can provide a better, more reliable UDP-based convergence layer.

The bundle protocol should imo always be reliable in both framing and payload content, which it currently isn't - something there has been much discussion of here in Chicago, post our payload checksum block draft.

L.

http://www.ee.surrey.ac.uk/Personal/L.Wood/dtn/ 

===
Hi all,

I find this to be an interesting topic of discussion, and I can't  
help but chip in with some comments of my own.

One possible concern that isn't addresses in the paper is the degree  
of error detection capability in the implemented CLs in the DTN2  
reference implementation.  I'm thinking specifically of the TCP and  
UDP CLs.

In the UDP CL implementation, bundles are accepted for transmission  
up to the maximum UDP datagram size (64kB).  With typical link MTU  
sizes, this bundle/datagram would undergo IP fragmentation, which is  
apparently to be considered "very harmful" to data integrity in the  
"right" circumstances.

Is it the intention to resort to bundle protocol extensions to handle  
the detection of residual errors above the CL, or should there be  
strong enough mechanisms in the CL itself?

Similarly, the TCP CL implementation provides no additional error  
detection mechanisms above TCP itself, which suffers from the same  
check-summing weakness as UDP.  My concern with the TCP CL relates to  
TCP operation over routes bisected with TCP PEPs.  There are PILC  
documents that describe the potential impact of TCP PEPs to the
end-to-end assumption of TCP, and coupling this with the additional  
potential for the PEPs to inject errors undetectable by the TCP/IP  
stack suggest to me that additional integrity checking should be  
provided in the CL, where I believe more efficient recovery options  
are available.

I wonder what others think?

Cheers,

Darren