Re: [6lowapp] Where does TCP not work
Kris Pister <pister@eecs.berkeley.edu> Tue, 03 November 2009 11:19 UTC
Return-Path: <pister@eecs.berkeley.edu>
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 4775328C0D8 for <6lowapp@core3.amsl.com>;
Tue, 3 Nov 2009 03:19:46 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level:
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5
tests=[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 3+Ob0bwyysSs for
<6lowapp@core3.amsl.com>; Tue, 3 Nov 2009 03:19:45 -0800 (PST)
Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU
[169.229.60.87]) by core3.amsl.com (Postfix) with ESMTP id 317693A69F6 for
<6lowapp@ietf.org>; Tue, 3 Nov 2009 03:19:45 -0800 (PST)
Received: from [192.168.1.100] (c-24-4-148-227.hsd1.ca.comcast.net
[24.4.148.227]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU
(8.14.3/8.13.5) with ESMTP id nA3BJLwe009733 (version=TLSv1/SSLv3
cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT);
Tue, 3 Nov 2009 03:19:23 -0800 (PST)
Message-ID: <4AF011B4.6070602@eecs.berkeley.edu>
Date: Tue, 03 Nov 2009 03:19:16 -0800
From: Kris Pister <pister@eecs.berkeley.edu>
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
MIME-Version: 1.0
To: d.sturek@att.net
References: <5A85AE5A-4C5D-4A0F-8CDF-BEB4C69FF002@cisco.com>
<005c01ca5a86$9a3f2ef0$cebd8cd0$%sturek@att.net>
In-Reply-To: <005c01ca5a86$9a3f2ef0$cebd8cd0$%sturek@att.net>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
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 11:19:46 -0000
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] 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)