Re: [6lowapp] Where does TCP not work

"Pascal Thubert (pthubert)" <pthubert@cisco.com> Wed, 04 November 2009 10:51 UTC

Return-Path: <pthubert@cisco.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 CDDA83A683A for <6lowapp@core3.amsl.com>; Wed, 4 Nov 2009 02:51:29 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.73
X-Spam-Level:
X-Spam-Status: No, score=-7.73 tagged_above=-999 required=5 tests=[AWL=-1.131, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 jn+JpL+Dh06A for <6lowapp@core3.amsl.com>; Wed, 4 Nov 2009 02:51:29 -0800 (PST)
Received: from sj-iport-6.cisco.com (sj-iport-6.cisco.com [171.71.176.117]) by core3.amsl.com (Postfix) with ESMTP id EC1A63A66B4 for <6lowapp@ietf.org>; Wed, 4 Nov 2009 02:51:28 -0800 (PST)
Authentication-Results: sj-iport-6.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: ApoEACfr8EqrR7Ht/2dsb2JhbADFEZg9hD0EgWWKAw
X-IronPort-AV: E=Sophos;i="4.44,679,1249257600"; d="scan'208";a="424494414"
Received: from sj-core-1.cisco.com ([171.71.177.237]) by sj-iport-6.cisco.com with ESMTP; 04 Nov 2009 10:51:50 +0000
Received: from xbh-ams-101.cisco.com (xbh-ams-101.cisco.com [144.254.74.71]) by sj-core-1.cisco.com (8.13.8/8.14.3) with ESMTP id nA4ApAqs019114; Wed, 4 Nov 2009 10:51:50 GMT
Received: from xmb-ams-107.cisco.com ([144.254.74.82]) by xbh-ams-101.cisco.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 4 Nov 2009 11:51:25 +0100
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Date: Wed, 4 Nov 2009 11:51:20 +0100
Message-ID: <6A2A459175DABE4BB11DE2026AA50A5D8E04E6@XMB-AMS-107.cisco.com>
In-Reply-To: <4AF11C63.7080807@eecs.berkeley.edu>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [6lowapp] Where does TCP not work
Thread-Index: AcpdFosm/ihWeR0CRHGdW+bGZGjuewAIs0zg
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> <6A2A459175DABE4BB11DE2026AA50A5D8E01D2@XMB-AMS-107.cisco.com> <4AF11C63.7080807@eecs.berkeley.edu>
From: "Pascal Thubert (pthubert)" <pthubert@cisco.com>
To: "Kris Pister" <pister@eecs.berkeley.edu>
X-OriginalArrivalTime: 04 Nov 2009 10:51:25.0314 (UTC) FILETIME=[C1221E20:01CA5D3C]
Cc: 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: Wed, 04 Nov 2009 10:51:29 -0000

Hi Kris:

The long and correct answer is in RFC 5681 section 3.2. 

The short and partial one is that packets arriving out of order cause
additional churn (acks). 3 duplicate acks (still waiting for a same
delayed segment) will trigger a fast retransmission of that delayed
segment and temporarily reduce the number of outstanding segments
(congestion window).

TCP can live with long latencies but what it will not like too much is
if we spread packets over paths of different latencies for the reasons
above. I'm not so anxious about the effect on the congestion window as I
am about the energy and bandwidth cost from the additional acks and
retries being generated for nothing.

At the core, the problem goes beyond this.

I think that our buffers cannot properly accommodate a window-based
mechanism. The large TAT that we experience in those networks only makes
things worse. All this calls for rate-based, something like a SARATOGA,
with a Committed Information Rate mechanism that would use IP ECN bit
the way FR uses FECNs and BECNs, and some reservation/CAC mechanism in
the radio fringe to proactively obtain the required resources.

Cheers,

Pascal

>-----Original Message-----
>From: Kris Pister [mailto:pister@eecs.berkeley.edu]
>Sent: mercredi 4 novembre 2009 07:17
>To: Pascal Thubert (pthubert)
>Cc: Lars Eggert; 6lowapp@ietf.org
>Subject: Re: [6lowapp] Where does TCP not work
>
>Pascal - I assume that we would only have path diversity inside the
>WPAN, and that the purpose of diversity would be to reduce latency,
>rather than increase it (e.g. RoLL, siblings when parents are having
>problems, etc.).  If you can't get the packet through to your preferred
>parent in a timely way, you try someone else in the hopes that you can
>still hit your latency target.  Yes?
>
>Anyway, the goal of my original question was to understand what kinds
of
>latency distributions would work.  I agree that it is easy to find
>distributions that will bring TCP to it's knees.  I'm hopeful that we
>can find some ways to make our meshes TCP-friendly under those
>circumstances when it is advantageous.  Under other circumstances (e.g.
>the ISA100 use cases that you presented) it's neither necessary nor
>efficient.
>
>ksjp
>
>Pascal Thubert (pthubert) wrote:
>> Hi Lars and Kris:
>>
>>
>>>> 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.
>>
>> And path diversity when applied to TCP flows can have very adverse
>> effects, if the packets are actually balanced over paths of very
>> different latencies. A packet that is not lost but delayed in an
>> alternate path will trigger fast recovery and cause the congestion
>> window to drop.
>>
>> Add a very long TTL to the mixture and you get a recipe for a very
low
>> throughput with packet duplication.
>>
>> MPTCP might offer some benefits if the subflows were routed on a
given
>> path each, but that's not what we are doing here so I'm not too
hopeful
>> though I'd like to dig more.
>>
>>
>> Pascal
>>