Re: [core] CoRE v/s Compressed HTTP

"Don Sturek" <d.sturek@att.net> Fri, 02 July 2010 12:50 UTC

Return-Path: <d.sturek@att.net>
X-Original-To: core@core3.amsl.com
Delivered-To: core@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9D3E73A6835 for <core@core3.amsl.com>; Fri, 2 Jul 2010 05:50:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.151
X-Spam-Level:
X-Spam-Status: No, score=0.151 tagged_above=-999 required=5 tests=[AWL=1.300, BAYES_00=-2.599, 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 klUhiYcgLa7I for <core@core3.amsl.com>; Fri, 2 Jul 2010 05:50:46 -0700 (PDT)
Received: from smtp103.sbc.mail.mud.yahoo.com (smtp103.sbc.mail.mud.yahoo.com [68.142.198.202]) by core3.amsl.com (Postfix) with SMTP id 93D963A680F for <core@ietf.org>; Fri, 2 Jul 2010 05:50:46 -0700 (PDT)
Received: (qmail 29289 invoked from network); 2 Jul 2010 12:50:55 -0000
Received: from Studio (d.sturek@69.105.139.124 with login) by smtp103.sbc.mail.mud.yahoo.com with SMTP; 02 Jul 2010 05:50:54 -0700 PDT
X-Yahoo-SMTP: fvjol_aswBAraSJvMLe2r1XTzhBhbFxY8q8c3jo-
X-YMail-OSG: xi4Xk_0VM1n1ZryI6w2BKWX04syESggV4GFRUa7jSggsEfN_BlD7hD2IQCq3aaW_7.VNRq9P8yVv7z33ipQLddpYfKPBKMl3MY4kmkbQiHLEhmzkMQPQmTp4IIXaYtDmBKkfbCfWtTy2Ofr7aLpKANQcc_ox0KYjO9oxFfJotKn4lEL1ciaQ64rE7nZ1nBkYCR7YDx2pPDs0.H6yOwuU9kA382lsCl1c9KhJUI_zKGcjM4y2YTVHfU0MVa0l1VFqiwgwMMcj7GFvOREKS1ywTnAn
X-Yahoo-Newman-Property: ymail-3
From: Don Sturek <d.sturek@att.net>
To: 'Zach Shelby' <zach@sensinode.com>, 'Guido Moritz' <guido.moritz@uni-rostock.de>
References: <8977BB27-E20B-4CA6-BB4A-655984542574@oracle.com> <003001cb19c8$69df0c10$3d9d2430$@moritz@uni-rostock.de> <FD7B10366AE3794AB1EC5DE97A93A37306DCB52C66@EXMB01CMS.surrey.ac.uk> <004301cb19d1$17ae4fb0$470aef10$@moritz@uni-rostock.de> <451C2C3D-2454-47EE-940C-894C4C4CACA9@sensinode.com>
In-Reply-To: <451C2C3D-2454-47EE-940C-894C4C4CACA9@sensinode.com>
Date: Fri, 02 Jul 2010 05:50:46 -0700
Message-ID: <006701cb19e5$316d6850$944838f0$@sturek>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Office Outlook 12.0
Thread-Index: AcsZ1E+ieDLFnwa+TcayI2L9a2FgRAAEIQTw
Content-Language: en-us
Cc: L.Wood@surrey.ac.uk, core@ietf.org
Subject: Re: [core] CoRE v/s Compressed HTTP
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: d.sturek@att.net
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/core>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Jul 2010 12:50:48 -0000

Hi Zach,

I think what you wrote is not quite correct.

I think many solutions will need guaranteed delivery and I think many will
need fragmentation/reassembly.  Only a small subset of solutions will work
with CoAP/UDP and all application messaging fitting into a single packet.

The reason I mention this is that I fully expect to see a need in some of
the features that TCP offers though I agree that congestion control in a
mesh network is not one of them (at least as implemented in TCP).

Don


-----Original Message-----
From: core-bounces@ietf.org [mailto:core-bounces@ietf.org] On Behalf Of Zach
Shelby
Sent: Friday, July 02, 2010 3:50 AM
To: Guido Moritz
Cc: core@ietf.org; L.Wood@surrey.ac.uk
Subject: Re: [core] CoRE v/s Compressed HTTP

Regarding UDP and congestion control, I really think everyone should read
the contribution from Lars:

http://tools.ietf.org/id/draft-eggert-core-congestion-control-00.txt

One main point is that the whole congestion control model of TCP wouldn't
really help us, the flow model is totally different here. The other issue we
have in CoRE is that not all requests even need to be (or should be)
reliable - e.g. multicast or streaming.

The current coap-01 limitation on CoAP message size is that the resulting
datagram must fit into the MTU. For 95% of the cases this payload size is
sufficient. For that 5% (firmware update?), which I am personally not sure
we should optimize for, coap-misc-04 does have a proposed block option to
enabled transferring blocks of a representation. This is something to
experiment with. 

Zach

On Jul 2, 2010, at 1:26 PM, Guido Moritz wrote:

>> "Clearly, some effort at the lower levels to improve network reliability
>> can have a significant effect on
>> application performance."
> Jep, but from the CoAP point of view I would say this is what brings us
> closer to UDP than to TCP. TCP uses ACKs and Retransmissions to get some
> kind of reliability. But keep in mind that CoAP (and I assume it does) has
> no huge packets on application layer.  Of course, if application layer
> packets are much bigger than transport layer packets, the ACK/Retr
mechanism
> on transport layer is a huge advantage concerning performance issues. But
I
> think CoAP is more heading towards smaller packets. So packet size on
> application and transport layer might have the same size and thus an
> application packet fits in one transport packet. So there would be no need
> for the TCP ACK/Retr of stuff TCP and you can do this on application layer
> directly with the same efforts and higher degree of reliability ('Did it'
> vs. 'Got it'). So the main question at this point: which message/packet
> sizes do we assume for a single request/response/transmission/what ever.
> 
> The other side of the coin would the checksum mechanism of TCP. Do we want
> to use this on our nodes or leave this up to other layers?
> 
> The last thing is the flow control/sliding window stuff. I think we will
not
> really need this in CoAP due to quite small receive/send buffers implied
by
> the resource constraints.
> 
> Guido
> 
>> -----Ursprüngliche Nachricht-----
>> Von: L.Wood@surrey.ac.uk [mailto:L.Wood@surrey.ac.uk]
>> Gesendet: Freitag, 2. Juli 2010 11:37
>> An: Guido Moritz
>> Cc: core@ietf.org
>> Betreff: RE: [core] CoRE v/s Compressed HTTP
>> 
>> Yes, only a high-layer check can guarantee that what was sent is what was
>> received, without corruption.
>> But to quote saltzer et al.:
>> "Clearly, some effort at the lower levels to improve network reliability
>> can have a significant effect on
>> application performance."
>> So transport-layer data consistency can benefit implementations.
>> 
>> It's a series of tradeoffs and engineering decisions, not necessarily
>> clear-cut.
>> 
>> L.
>> 
>> There is no end to the end-to-end argument.
>> 
>> -----Original Message-----
>> From: core-bounces@ietf.org [mailto:core-bounces@ietf.org] On Behalf Of
>> Guido Moritz
>> Sent: 02 July 2010 10:25
>> 
>> [..]
>> (2) CoAP want's to use UDP instead of TCP. First I also did not found an
>> obvious reason, until I read Saltzer et al. [1]. As long as we not need
> the
>> flow control mechanisms of TCP and we keep the packet sizes reasonable
>> small enough, the only task of the transport layer is the transport
> itself.
>> Data consistency is not the task of the transport layer. ACK must be done
>> on the application layer if you really want to be sure your message has
>> been processed.
>> [..]
> 
> 
> _______________________________________________
> core mailing list
> core@ietf.org
> https://www.ietf.org/mailman/listinfo/core

-- 
Zach Shelby, Chief Nerd, Sensinode Ltd.
http://zachshelby.org  - My blog "On the Internet of Things"
http://6lowpan.net - My book "6LoWPAN: The Wireless Embedded Internet"
Mobile: +358 40 7796297

_______________________________________________
core mailing list
core@ietf.org
https://www.ietf.org/mailman/listinfo/core