Re: [core] Head of line message blocking?

Hannes Tschofenig <hannes.tschofenig@gmx.net> Mon, 20 November 2017 12:49 UTC

Return-Path: <hannes.tschofenig@gmx.net>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B1201126D3F; Mon, 20 Nov 2017 04:49:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.899
X-Spam-Level:
X-Spam-Status: No, score=-4.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-2.8, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8eR78NtPvQ5d; Mon, 20 Nov 2017 04:49:07 -0800 (PST)
Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B1FF91201F8; Mon, 20 Nov 2017 04:49:06 -0800 (PST)
Received: from [192.168.91.210] ([80.92.119.33]) by mail.gmx.com (mrgmx002 [212.227.17.190]) with ESMTPSA (Nemesis) id 0LnwxU-1endPp47RI-00fys9; Mon, 20 Nov 2017 13:48:46 +0100
To: Carsten Bormann <cabo@tzi.org>, Jim Schaad <ietf@augustcellars.com>
Cc: draft-ietf-core-coap-tcp-tls@ietf.org, core <core@ietf.org>
References: <040301d35f36$2ef6b830$8ce42890$@augustcellars.com> <97B706B3-B7AA-423B-A025-25369C6D8CA1@tzi.org>
From: Hannes Tschofenig <hannes.tschofenig@gmx.net>
Openpgp: id=071A97A9ECBADCA8E31E678554D9CEEF4D776BC9
Message-ID: <d7eabadf-4e34-6136-0389-9579d31f6b40@gmx.net>
Date: Mon, 20 Nov 2017 13:48:26 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0
MIME-Version: 1.0
In-Reply-To: <97B706B3-B7AA-423B-A025-25369C6D8CA1@tzi.org>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-Provags-ID: V03:K0:E099ay29fpeWOU8rLoiudOO1JSexWqW/k1/XVtyQ1zr8trlE+9K orQdQBsHMtTMSXD00IPXkqxJRa1lkYazaONBqPTwv1nQ6b64IhMGjfUhUIND3vXWyaxU2OF ZLriySQPwrsHyxc+RFAa41PRZjxYXbBIw+XqfhmBnaCMluQimpKBIRZhZwe1impIprWzW4r QL6ViGu0L9AAJNsudniPA==
X-UI-Out-Filterresults: notjunk:1;V01:K0:NoA+mzJRvfI=:7MXIe+p8S74w6ymYRfZmjm AUHIxBVH5VgZUcCz1glH96dMrvpI4Bz+fmjxtsoR31JIf1p0g9DWuYbYafwhQy13j0TAIQdDA QTohkfk5DYPc3a29Wvr+DTqrJlUoBWPQN68dwbMScwjrawHJGReKz3wQMv3dk/wwytqX53ovJ jAblh4Ymg3UvCL+Lrswi0D3VN45KPn5Z+RXUkcwbqBQKuB2O7FVGKY0eDlTyvH9YsNDRlMvDw JIXHiOMi1RmCjFVI70PbzL5IkXjKvGCJG3lT2tk1Q8E6Dne5SVKYnO9z6T1XhenfUSRoqpi6F fZqIoTq7bZ0tTF9reax6OyD8N95T9C62RGpr8JusRBQa2lRmDAg1jomS6H8sCdsHG0hAkelf4 2SSrmftxurtDPw8nrvYv4pskqkg1ol9e6HdEfROstxYkeX47X/EMJ8XHGro7M9ZHcYC7TudKi LkIeJsJvukD5t3yAWK1l3ajWahQdjzoEG+mc62UlXNQHOes/LDoCBD2MsbehEYjDkv4Ihx34W 8W9Es2GYHkz1BIgxOKZEk0T/t5SUMCyQadEJvjj9cAGlymqgH5BZF/i9k9/OKL8hDXC68SfeR HVimUN2iV+vzMr+AvlbhK8HHlTtx+w6tAwvKhP6RbvycRQiAE56a7yh+6CZA2++qR5jeyp9bi bWM36F8f9//B+1FmBT7Ch0/wLFpIzc33cryZS0MsX/RRpwIlPK9F3seW4jaRHrF2k9doKCZ1g NiTZ65n78Qp+O9o/D0mD/iL3rMAJ/c3+Zkh47wOA1e8vLCMLd+JQC4ayx/8dGQiSOaUmUBEwr Yfa9IfZvdgPXSaQMe3ZTh6fNLcBK7mNm8MX4JCsIPbFu6scgkRcc/bLabpXrJGmIQoau0Mz
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/Z8N9OxwJTlW4RuNni_OjHMKogoI>
Subject: Re: [core] Head of line message blocking?
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/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: Mon, 20 Nov 2017 12:49:09 -0000

I agree with the response Carsten provided.

Note: We do touch on the head-of-line blocking issue in TCP, which may
occur when large payloads (such as firmware images) are transported over
TCP and if you only use one TCP connection.

See https://tools.ietf.org/html/draft-ietf-core-coap-tcp-tls-10#section-6

Ciao
Hannes

On 11/17/2017 12:57 AM, Carsten Bormann wrote:
> 
>> On Nov 17, 2017, at 07:53, Jim Schaad <ietf@augustcellars.com> wrote:
>>
>> In UDP there is a vague requirement that a client should only have one message in transit to any given server at a time.  This means that it is up to the client, if it wants to break this rule, to ensure that a response to message A has been received before sending message B if there is going to be a dependency between them.  This is needed because UDP does not do ordered delivery among other things.
>>  
>> TCP however does have ordered delivery.  Thus the question is does the same rule still exist for a client when using a TCP channel.  
> 
> No.  Congestion control in CoAP-TCP is entirely handled by TCP.
> Fire away your requests at will.
> 
>> In theory, it would be possible to send message A and then send message B before getting the answer back and have an assumption that message A would complete before message B starts.  
> 
> There is no implied ordering of the responses as in HTTP/1.1 pipelining.
> The token provides the link between request and response, so that ordering is simply not needed.
> 
>> This implies that the server would need to have an enforcement of such a rule.  My server currently does parallel processing of requests and thus would not do this unless it was enforced by the transport.  Should such enforcement be done?  I see nothing about this in the document so I assume that the UDP rules would still apply.
> 
> Maybe the document should state explicitly why it is silent about this: It does not impose any rule on this.
> 
> Grüße, Carsten
> 
> _______________________________________________
> core mailing list
> core@ietf.org
> https://www.ietf.org/mailman/listinfo/core
>