Re: [6lowapp] Where does TCP not work
"Don Sturek" <d.sturek@att.net> Tue, 03 November 2009 13:59 UTC
Return-Path: <d.sturek@att.net>
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 8DADC3A67FD for <6lowapp@core3.amsl.com>;
Tue, 3 Nov 2009 05:59:43 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.128
X-Spam-Level:
X-Spam-Status: No, score=-0.128 tagged_above=-999 required=5 tests=[AWL=0.687,
BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334, MSGID_MULTIPLE_AT=1.449,
UNPARSEABLE_RELAY=0.001]
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 ojH18gMMDBkz for
<6lowapp@core3.amsl.com>; Tue, 3 Nov 2009 05:59:42 -0800 (PST)
Received: from smtp110.sbc.mail.gq1.yahoo.com (smtp110.sbc.mail.gq1.yahoo.com
[67.195.14.95]) by core3.amsl.com (Postfix) with SMTP id E79053A693B for
<6lowapp@ietf.org>; Tue, 3 Nov 2009 05:59:41 -0800 (PST)
Received: (qmail 66226 invoked from network); 3 Nov 2009 14:00:02 -0000
Received: from adsl-69-225-120-110.dsl.sndg02.pacbell.net
(d.sturek@69.225.120.110 with login) by smtp110.sbc.mail.gq1.yahoo.com with
SMTP; 03 Nov 2009 06:00:02 -0800 PST
X-Yahoo-SMTP: fvjol_aswBAraSJvMLe2r1XTzhBhbFxY8q8c3jo-
X-YMail-OSG: 2QqlhrUVM1mgRsZLx4qZmILvLitFWvDVyLUxKreEN78bLxPi9Zlq4BzR8Q2AuLGB2hAhKc0dXoo7JJK9LP0DyPHvme7SciQzC4uIIPFpBUcwp42DfjuYTltSfLPzRBpH3HQKAWiBebZb3PCKFCXNhCGQcMEw5cb.OtcNeG2PPn013amXbMWeMfMRf.Hm2sek8fW0CkDncaW6hQLSr9QO4pqG98ZGU9pgZ1dju4BQPTNOAnKucA8WSQftZcUpOEDjpvlbrdxS2_8eM0RkX4WsXzV5VxEste6T4AAUAVOo8ZTTwHbTdw--
X-Yahoo-Newman-Property: ymail-3
From: "Don Sturek" <d.sturek@att.net>
To: "'Kris Pister'" <pister@eecs.berkeley.edu>
References: <5A85AE5A-4C5D-4A0F-8CDF-BEB4C69FF002@cisco.com>
<005c01ca5a86$9a3f2ef0$cebd8cd0$%sturek@att.net>
<4AF011B4.6070602@eecs.berkeley.edu>
In-Reply-To: <4AF011B4.6070602@eecs.berkeley.edu>
Date: Tue, 3 Nov 2009 05:59:59 -0800
Message-ID: <01d201ca5c8d$ef1d7630$cd586290$@sturek@att.net>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 12.0
Thread-Index: Acpcd39LhiMMdiLDTFqOVYz1TEvq4AAFVlsw
Content-Language: en-us
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
Reply-To: d.sturek@att.net
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 13:59:43 -0000
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] 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)