Re: [6lowapp] Where does TCP not work

Lars Eggert <lars.eggert@nokia.com> Tue, 03 November 2009 01:40 UTC

Return-Path: <lars.eggert@nokia.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 4797E3A6886 for <6lowapp@core3.amsl.com>; Mon, 2 Nov 2009 17:40:58 -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 sgu4at0zMqiT for <6lowapp@core3.amsl.com>; Mon, 2 Nov 2009 17:40:57 -0800 (PST)
Received: from mail.fit.nokia.com (mail.fit.nokia.com [195.148.124.195]) by core3.amsl.com (Postfix) with ESMTP id AEDD93A6882 for <6lowapp@ietf.org>; Mon, 2 Nov 2009 17:40:56 -0800 (PST)
Received: from [10.48.43.142] ([67.98.70.2]) (authenticated bits=0) by mail.fit.nokia.com (8.14.3/8.14.3) with ESMTP id nA31eY9Q076633 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Tue, 3 Nov 2009 03:40:36 +0200 (EET) (envelope-from lars.eggert@nokia.com)
Mime-Version: 1.0 (Apple Message framework v1076)
Content-Type: multipart/signed; boundary=Apple-Mail-74--267649933; protocol="application/pkcs7-signature"; micalg=sha1
From: Lars Eggert <lars.eggert@nokia.com>
In-Reply-To: <4AEF832C.9050603@eecs.berkeley.edu>
Date: Mon, 2 Nov 2009 17:40:24 -0800
Message-Id: <3C5BAF7D-CD31-434B-9AE2-BB8ED6C4B0E0@nokia.com>
References: <5A85AE5A-4C5D-4A0F-8CDF-BEB4C69FF002@cisco.com> <5572F86E-C14F-48E6-922D-EABBB957EE22@nokia.com> <4AEF832C.9050603@eecs.berkeley.edu>
To: Kris Pister <pister@eecs.berkeley.edu>
X-Mailer: Apple Mail (2.1076)
X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.3 (mail.fit.nokia.com [195.148.124.194]); Tue, 03 Nov 2009 03:40:37 +0200 (EET)
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 01:40:58 -0000

Hi,

On 2009-11-2, at 17:11, Kris Pister wrote:
> What's the best way to judge if a protocol stack will support TCP? I  
> assume that it's some combination of end-to-end reliability and  
> latency, and the statistics that govern them.

yes.

> In the early days of sensor networks it was not uncommon to see end- 
> to-end best-effort loss rates of 10% or more.  I don't think that  
> anyone tolerates that kind of performance anymore.  With link-layer  
> ACKs and path diversity in the routing layer I think that 99.9% for  
> best-effort is now table stakes.

All that certainly helps, but I haven't seen much discussion on  
whether we all agree that we're only going to target scenarios for  
6LOWAPP for which we can make the assumption that such techniques will  
be in use.

>  Is that good enough for TCP?  If it's not, how many nines do I  
> need?  What kind of constraints are there on the latency distribution?

It's really difficult to predict this in general. Basically, the more  
your link/path looks like a wire, the better TCP will do. That means  
you want a relatively stable RTT, relatively stable available capacity  
and not too much (<1%?) loss.

The PILC WG published a bunch of very relevant documents, for example,

Advice for Internet Subnetwork Designers
http://tools.ietf.org/html/rfc3819

End-to-end Performance Implications of Links with Errors
http://tools.ietf.org/html/rfc3155

Advice to link designers on link Automatic Repeat reQuest (ARQ)
http://tools.ietf.org/html/rfc3366

End-to-end Performance Implications of Slow Links
http://tools.ietf.org/html/rfc3150

> Clearly Adam and his students have gotten TCP to work over multi- 
> hop, deeply duty-cycled 15.4 radios.  I think that there are  
> probably several others who have as well.  Any feedback from people  
> who have tried and failed?

I'm not saying that it can't be done in some scenarios - far from it.  
But there clearly are many scenarios where TCP won't work well.

Lars