Re: [6lowapp] Where does TCP not work

Jonathan Hui <jhui@archrock.com> Tue, 03 November 2009 03:14 UTC

Return-Path: <jhui@archrock.com>
X-Original-To: 6lowapp@core3.amsl.com
Delivered-To: 6lowapp@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 591983A67AA for <6lowapp@core3.amsl.com>; Mon, 2 Nov 2009 19:14:56 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fgtLRYh8MyhB for <6lowapp@core3.amsl.com>; Mon, 2 Nov 2009 19:14:55 -0800 (PST)
Received: from mail.sf.archrock.com (mail.sf.archrock.com [216.121.16.71]) by core3.amsl.com (Postfix) with ESMTP id 677D03A63EC for <6lowapp@ietf.org>; Mon, 2 Nov 2009 19:14:55 -0800 (PST)
Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.sf.archrock.com (Postfix) with ESMTP id D19DEAF849; Mon, 2 Nov 2009 19:15:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at
Received: from mail.sf.archrock.com ([127.0.0.1]) by localhost (mail.sf.archrock.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yNHy8PomrsRm; Mon, 2 Nov 2009 19:15:11 -0800 (PST)
Received: from [10.0.1.199] (adsl-71-142-89-42.dsl.pltn13.pacbell.net [71.142.89.42]) by mail.sf.archrock.com (Postfix) with ESMTP id B9AC1AF836; Mon, 2 Nov 2009 19:15:10 -0800 (PST)
Message-Id: <EB72DA52-70E1-404B-A507-4871720A1FA8@archrock.com>
From: Jonathan Hui <jhui@archrock.com>
To: Lars Eggert <lars.eggert@nokia.com>
In-Reply-To: <72876869-927E-45B6-A9D9-1A7E5A22E196@nokia.com>
Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (Apple Message framework v936)
Date: Mon, 2 Nov 2009 19:15:08 -0800
References: <5A85AE5A-4C5D-4A0F-8CDF-BEB4C69FF002@cisco.com> <5572F86E-C14F-48E6-922D-EABBB957EE22@nokia.com> <4AEF832C.9050603@eecs.berkeley.edu> <3C5BAF7D-CD31-434B-9AE2-BB8ED6C4B0E0@nokia.com> <66D8B4F0-8106-47C2-8CC1-936791195D22@archrock.com> <72876869-927E-45B6-A9D9-1A7E5A22E196@nokia.com>
X-Mailer: Apple Mail (2.936)
Cc: "6lowapp@ietf.org" <6lowapp@ietf.org>
Subject: Re: [6lowapp] Where does TCP not work
X-BeenThere: 6lowapp@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Application protocols for constrained nodes and networks <6lowapp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/6lowapp>, <mailto:6lowapp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/6lowapp>
List-Post: <mailto:6lowapp@ietf.org>
List-Help: <mailto:6lowapp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/6lowapp>, <mailto:6lowapp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 03 Nov 2009 03:14:56 -0000

On Nov 2, 2009, at 6:38 PM, Lars Eggert wrote:

> I also should have mentioned that packet reordering is an issue. TCP  
> basically treats a reordered packet as a loss, so you want that  
> ration to be at most in the same ballpark as your loss ratio.

Of course.  There are ways to manage reordering but, as you said,  
requires making certain assumptions.

>> ... and to decide whether or not TCP will work, we need to flip this
>> thread to a top-down approach and first agree on the application
>> requirements/use cases.
>
> I'm not sure this can work. Sure, we have a set of applications  
> identified now that we can guesstimate the requirements of. But the  
> thing with a network is that once you build it, new apps will come.  
> But there certainly is no harm in thinking about currently  
> identified apps.

In the general sense, I agree.  I was suggesting this as an approach  
to answering this thread's subject line.  Indeed, the question of  
"will TCP work?" is a harder question.

>> I have no doubt we can get TCP to work on a
>> mesh of low-power, lossy links.
>
> I wouldn't agree in to this generic statement. But I do believe that  
> if you make some strong assumptions on radio technologies, routing,  
> etc. that it can be made to work *under those conditions*.

I agree with you from a strict layering perspective with minimal  
assumptions about the lower layers.  I guess I come from a world where  
many of the applicable links (802.15.4, PLC, etc.) are still being  
specified in IEEE (15.4e, 15.4g) and IETF (6lowpan).  Members of those  
groups want to minimize complexity in their respective layers, of  
course.  But some layer has to deal with some of the hard problems.   
If pushing them into the lower layers is the right long term solution,  
then I say we guide the current efforts that way.  But if we're going  
to deal with all the hard problems at higher layers, then there's  
little incentive to do so at the lower layers.

>> But are TCP's services/constraints
>> appropriate for the application?  I can think of a variety of LLN
>> applications that work just fine with TCP and others that could stand
>> to use something else to improve latency, message efficiency, non p2p
>> flows, multihoming, mobility,  etc.
>
> That's another question, yes. But I'd see building new transport  
> layer functions for 6LOWAPPs as an activity that would need some  
> very strong ties to the TSV area, if it wouldn't be hosted there in  
> the first place.

Agreed.  Though the line seems to be a bit blurred because some  
suggest building transport-like mechanisms in whatever "app-level"  
protocol we're working on.

--
Jonathan Hui