Re: [6lowapp] Where does TCP not work
"Pascal Thubert (pthubert)" <pthubert@cisco.com> Tue, 03 November 2009 15:44 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 315AA3A67E4 for <6lowapp@core3.amsl.com>;
Tue, 3 Nov 2009 07:44:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.672
X-Spam-Level:
X-Spam-Status: No, score=-9.672 tagged_above=-999 required=5 tests=[AWL=0.927,
BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
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 PxmlRHPeuHBY for
<6lowapp@core3.amsl.com>; Tue, 3 Nov 2009 07:44:20 -0800 (PST)
Received: from ams-iport-1.cisco.com (ams-iport-1.cisco.com [144.254.224.140])
by core3.amsl.com (Postfix) with ESMTP id 37F693A68FB for <6lowapp@ietf.org>;
Tue, 3 Nov 2009 07:44:20 -0800 (PST)
Authentication-Results: ams-iport-1.cisco.com;
dkim=neutral (message not signed) header.i=none
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AjcAAFTe70qQ/uCWe2dsb2JhbACbVQEBFiQGqnSYBYQ9BItm
X-IronPort-AV: E=Sophos;i="4.44,674,1249257600"; d="scan'208";a="53516030"
Received: from ams-core-1.cisco.com ([144.254.224.150]) by
ams-iport-1.cisco.com with ESMTP; 03 Nov 2009 15:44:39 +0000
Received: from xbh-ams-102.cisco.com (xbh-ams-102.cisco.com [144.254.73.132])
by ams-core-1.cisco.com (8.13.8/8.14.3) with ESMTP id nA3FidUE012761;
Tue, 3 Nov 2009 15:44:39 GMT
Received: from xmb-ams-107.cisco.com ([144.254.74.82]) by
xbh-ams-102.cisco.com with Microsoft SMTPSVC(6.0.3790.3959);
Tue, 3 Nov 2009 16:44:39 +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: Tue, 3 Nov 2009 16:44:39 +0100
Message-ID: <6A2A459175DABE4BB11DE2026AA50A5D8E00E3@XMB-AMS-107.cisco.com>
In-Reply-To: <01d201ca5c8d$ef1d7630$cd586290$@sturek@att.net>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [6lowapp] Where does TCP not work
Thread-Index: Acpcd39LhiMMdiLDTFqOVYz1TEvq4AAFVlswAAEkXoA=
References: <5A85AE5A-4C5D-4A0F-8CDF-BEB4C69FF002@cisco.com><005c01ca5a86$9a3f2ef0$cebd8cd0$%sturek@att.net><4AF011B4.6070602@eecs.berkeley.edu>
<01d201ca5c8d$ef1d7630$cd586290$@sturek@att.net>
From: "Pascal Thubert (pthubert)" <pthubert@cisco.com>
To: <d.sturek@att.net>, "Kris Pister" <pister@eecs.berkeley.edu>
X-OriginalArrivalTime: 03 Nov 2009 15:44:39.0701 (UTC)
FILETIME=[8DCAC450:01CA5C9C]
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: Tue, 03 Nov 2009 15:44:22 -0000
Hi Don: Another aspect of this is that there little room in the LoWPAN for queuing packets so congestion should be avoided proactively when possible; one way of doing that is to model the sensor data the way voice calls are in larger network and perform some call admission control / reservation. This is fine for regular sensor output but falls short for file transfers, unless the transport is able to control its output rate. There has been interesting protocols that used a rate-based flow control, for instance IBM's RTP (HPR). Rate-based outperforms window-based when dealing with very large TTL / very large network countenance, such as deep space... and sensor networks. But like Cullen said, we might need a 6Lowtrans or something to work that out :) Pascal >-----Original Message----- >From: 6lowapp-bounces@ietf.org [mailto:6lowapp-bounces@ietf.org] On Behalf Of Don Sturek >Sent: mardi 3 novembre 2009 15:00 >To: 'Kris Pister' >Cc: 6lowapp@ietf.org >Subject: Re: [6lowapp] Where does TCP not work > >Hi Kris, > >Yes, there is a fundamental reason WiFi works well with TCP and other >wireless links don't: the architecture of WiFi has been to have an access >point with a set of single wireless hops where data link acknowledges and >retries are employed AND where these operations can occur, where needed, >within the congestion time window TCP uses. > >Have a look at an old RFC called TCP-SAT for an example where that time >window is violated. > >Also, I think many of the references Lars supplied are good as well. > >As you can tell, I agree with Lars on this (having worked with TCP over many >data link medium dating from the 1980's to present): If you run TCP over >small networks or in very short time windows where the wireless link >exhibits behavior consistent with TCPs operating assumptions, you won't see >any issues. If you operate TCP over a wireless link where the timeout >windows in TCP are invoked, you will see a slow degradation of operation >over time to where TCP is nearly unusable (all due to assumptions in TCP >around retry, in general.....) > >Don > > >-----Original Message----- >From: Kris Pister [mailto:pister@eecs.berkeley.edu] >Sent: Tuesday, November 03, 2009 3:19 AM >To: d.sturek@att.net >Cc: 'Cullen Jennings'; 6lowapp@ietf.org >Subject: Re: [6lowapp] Where does TCP not work > >Don - I like the WiFi example. Clearly it's possible to make TCP work >over wireless links. >If there had been a separate industry consortium based on 802.11 pushing >DumbFi, a standard that didn't use L2 ARQ, then there would have been a >group in the IETF trying to figure out a new transport protocol to use >for these lossy links. > >Do you believe that there is a fundamental reason why WiFi can work and >15.4 radios can't? I don't see any evidence that this is true. Some of >the early protocols in sensor networks were not well thought out, and >the result is that there's a perception that 15.4 can't be as reliable >as WiFi. The reality is that 15.4 can be quite a bit *more* reliable >than WiFi. > > >> The trouble with mesh links is that link errors are not propagated >and, even if they are, > >> result in route re-establishment which violates the TCP timeout on >the far end >This remains the case with naive routing protocols, but it is *not* a >general truth about mesh links. > >ksjp > >Don Sturek wrote: >> Hi Cullen, >> >> Sorry, I meant to provide some references on this issue. Basically, here >is >> the problem: >> 1) TCP was written back in the day when Ethernet was the primary >transport. >> One key assumption made in TCP was that packet timeout was related to >> congestion. TCP reacts to packet timeouts by adjusting the transmit >timing >> and using back off. >> 2) Wireless networks (especially mesh topologies) experience packet loss >as >> a result of failure of the RF link. Note that IEEE 802.11 does not >> typically exhibit this type of loss. The reason is that for IEEE 802.11 >> (actually WiFi) the last hop wireless link from the AP can be guaranteed >via >> MAC level acknowledges and retries. The trouble with mesh links is that >> link errors are not propagated and, even if they are, result in route >> re-establishment which violates the TCP timeout on the far end and starts >> the "congestion management" procedure in TCP (which actually makes the >> problem worse as some of the links below indicate). >> >> I am not saying categorically that TCP does not work for wireless links. >I >> am saying that for many wireless links, TCP does not work well (and in >some >> extreme cases, at all). Here are some examples from the IETF archives and >> other industry trials...... >> >> http://www.rfc-editor.org/rfc/rfc4653.txt >> http://www.sics.se/~adam/ewsn2004.pdf >> http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=686057 >> >> I used to have a more exhaustive reference list but I think if you do a >> search you will see this is a long standing problem.... >> >> Don >> >> >> -----Original Message----- >> From: 6lowapp-bounces@ietf.org [mailto:6lowapp-bounces@ietf.org] On Behalf >> Of Cullen Jennings >> Sent: Saturday, October 31, 2009 10:33 AM >> To: 6lowapp@ietf.org >> Subject: [6lowapp] Where does TCP not work >> >> >> Multiple people have told me that TCP won't work on some of the types >> of networks we want to run on. Anyway I'd like to understand a bit >> more on why this is. >> >> I could go dig a 9600 baud modem out of my closet, set the MTU at 100, >> and emulate 10% packet loss on server side and go try some things. I'm >> relatively confidently TCP, HTTP, pop, imap, SSH, and TLS will all >> work just fine. >> >> So, what are the network conditions that we think are going to cause a >> problem for TCP? and, what might one do to make something that worked >> better than TCP in these cases. >> >> Thanks, Cullen >> >> _______________________________________________ >> 6lowapp mailing list >> 6lowapp@ietf.org >> https://www.ietf.org/mailman/listinfo/6lowapp >> >> _______________________________________________ >> 6lowapp mailing list >> 6lowapp@ietf.org >> https://www.ietf.org/mailman/listinfo/6lowapp >> > >_______________________________________________ >6lowapp mailing list >6lowapp@ietf.org >https://www.ietf.org/mailman/listinfo/6lowapp
- [6lowapp] Where does TCP not work Cullen Jennings
- Re: [6lowapp] Where does TCP not work Don Sturek
- Re: [6lowapp] Where does TCP not work Lars Eggert
- Re: [6lowapp] Where does TCP not work Kris Pister
- Re: [6lowapp] Where does TCP not work Lars Eggert
- Re: [6lowapp] Where does TCP not work Jonathan Hui
- Re: [6lowapp] Where does TCP not work Lars Eggert
- Re: [6lowapp] Where does TCP not work Jonathan Hui
- Re: [6lowapp] Where does TCP not work Lars Eggert
- Re: [6lowapp] Where does TCP not work Jonathan Hui
- Re: [6lowapp] Where does TCP not work Cullen Jennings
- Re: [6lowapp] Charter and transports Zach Shelby
- Re: [6lowapp] Where does TCP not work Pascal Thubert (pthubert)
- Re: [6lowapp] Where does TCP not work Kris Pister
- Re: [6lowapp] Where does TCP not work Kris Pister
- Re: [6lowapp] Where does TCP not work Don Sturek
- Re: [6lowapp] Charter and transports Don Sturek
- Re: [6lowapp] Where does TCP not work Don Sturek
- Re: [6lowapp] Where does TCP not work Richard Kelsey
- Re: [6lowapp] Where does TCP not work Pascal Thubert (pthubert)
- Re: [6lowapp] Charter and transports Lisa Dusseault
- Re: [6lowapp] Charter and transports Don Sturek
- Re: [6lowapp] Charter and transports Lloyd Wood
- Re: [6lowapp] Where does TCP not work Pascal Thubert (pthubert)
- Re: [6lowapp] Charter and transports Pascal Thubert (pthubert)
- Re: [6lowapp] Charter and transports Lloyd Wood
- Re: [6lowapp] Charter and transports Zach Shelby
- Re: [6lowapp] Charter and transports Don Sturek
- Re: [6lowapp] Where does TCP not work Lars Eggert
- Re: [6lowapp] Where does TCP not work Don Sturek
- Re: [6lowapp] Where does TCP not work Kris Pister
- Re: [6lowapp] Where does TCP not work Kris Pister
- Re: [6lowapp] Where does TCP not work Pascal Thubert (pthubert)
- Re: [6lowapp] Where does TCP not work Pascal Thubert (pthubert)