Re: [core] draft-ietf-core-cocoa-01

Hannes Tschofenig <hannes.tschofenig@gmx.net> Sun, 03 September 2017 13:00 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 4109B13214D for <core@ietfa.amsl.com>; Sun, 3 Sep 2017 06:00:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-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 hTN1WR-Cv5DE for <core@ietfa.amsl.com>; Sun, 3 Sep 2017 06:00:07 -0700 (PDT)
Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) (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 36DF9126B7E for <core@ietf.org>; Sun, 3 Sep 2017 06:00:06 -0700 (PDT)
Received: from [192.168.91.203] ([80.92.118.205]) by mail.gmx.com (mrgmx101 [212.227.17.168]) with ESMTPSA (Nemesis) id 0MVIva-1dzuQV0L8w-00Yhsy; Sun, 03 Sep 2017 14:59:57 +0200
To: Carsten Bormann <cabo@tzi.org>
Cc: "core@ietf.org WG" <core@ietf.org>
References: <b20bb46a-26a6-9c43-e13f-d970c3095015@gmx.net> <0B85FE69-4036-4FDF-BDB4-37E208440E53@tzi.org>
From: Hannes Tschofenig <hannes.tschofenig@gmx.net>
Openpgp: id=071A97A9ECBADCA8E31E678554D9CEEF4D776BC9
Message-ID: <5f416836-0aa0-bf6d-c1b5-3fce578fc663@gmx.net>
Date: Sun, 03 Sep 2017 14:59:56 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1
MIME-Version: 1.0
In-Reply-To: <0B85FE69-4036-4FDF-BDB4-37E208440E53@tzi.org>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-Provags-ID: V03:K0:hcplU7gIKhhm5F24iO4brWhMzvzvoHeFE8O61x8ovv0K50pIfem cxxNMyCliKMs7KsVciYXytVurJxYjF5fEWpTf33p9r+KpS6YTooG3bxsMla7WmwJPC2j2hP DPDe1jWhSZczKS1l02zya7tcsyT/QAc4U4rKjBMH2njF4MITQAu0yTjqMc1+d4w8gd3pMiZ Ho4wImqYCNoRPfuqAgQxw==
X-UI-Out-Filterresults: notjunk:1;V01:K0:jn81Khx9670=:YlLYQlkzMATg77uFcLlgl0 E40ApqOGrxebPqwwbp9/DzeGSdsC7rSCOhyCN6uYLYnXOXd9W25CD+w6713YCniKKdcKGUd4P KgMSlf1vEj2tREWh2Ke9clpHQ3G2BM9ND7LgeOykBNfeWtBXFzUZjb9Kpl/exRgGQzFovjmkd cd2KCAyBUoFCfIwTP5y0RyKaC3YG1Z/DXkYdIKPqX3sq1+u7k/TOwbde8bgEGtoE/DM+Px1QM m9Fupx/tSnnojtMWE+h7vxndoyzhNfrkqaWVkeoPJ1u9eHOQmx8QTjH1V7xeJdI0coQoQ2v7k K/gd4kfpw9zDRCvI+9z6A+Tdz5HkXuFz1UT3kbZSiqCDe7u7hTm+W121u+nRmG82uEML/kgtR dh8y/DcCPAkw/cWEWRs+i3mP5h6/n7iZENX4Wi8nwrQbbdU+x2eVby5y8yH6yxAP3KfAxeWMp OU6hA45GyG0v+CLwH2FbeSVDMByjpPfw5CLsGA4Duu0mZwWlhZnWFFyhqm/qGsIL+P+2YU47F nNfvwgi0GttuYnhDCqOsn4UrVd6TKIN74mT0dEuWAv5dS38w/1oD2risvga8EGhWd/PUtcrHt Zb39U4ZzFwAsDeJzqhGwi17hjN86XcdTrQho5F0kRHEL6Jplw52tmeYb6K59hmenpBEhNwboO t0ky3ySAdTjKM8csxAcBca7hai6gVNOZFSuXgHEWZVJXvqQYALV/yl8JuLNY4V/BjqMLwLF/t 4VPMauXxU+mHtq4z1ddRI/pCmW01xXJ5gxPH6UJHiFCEpz4mjfBB4ZWbf57EiFXmDvFqm95+1 4Bku9siMZz+RxBw1MG2LZ9Cy+gr9hJDtsbhN7KeeYyJH6pKFng=
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/4-ONZbc_2Rn347qgHKfWj5Lj3aQ>
Subject: Re: [core] draft-ietf-core-cocoa-01
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: Sun, 03 Sep 2017 13:00:09 -0000

Hi Carsten,

thanks for the quick response.

> The problem is that the basic congestion control (CC) provided by RFC
> 7252 is adaptive only in a very crude way (counting the number of
> retransmissions of a single message, starting fresh for every new
> message).  It therefore also has to be very conservative, with a
> basic time constant of 2 to 3 seconds (dithered).
> 
> CoCoA provides a more advanced CC, keeping some state at a message
> initiator about the path to the peer.  It is still very conservative,
> but can be less so if the path is consistently good.
> 
> What you get is a faster reaction to packet losses in cases where the
> actual round trip time is lower than the basic CC’s time constant.
> You also get somewhat more (!) conservative behavior in a truly
> deteriorated situation.
The last paragraph provides the information I had been looking for. You
may want to add this to the introduction/abstract of the draft.

The question is, however, whether the slower reaction to packet loss has
been an issue in real-world deployments.

Another related question is whether you can use typical IoT data
communication patterns for reliable RTT computations given that many
devices communicate at a regular interval but with a fair amount of
delay between the individual transmissions. Do the authors have any
traffic data from IoT deployments?

Finally, I was expecting (before reading this document) that a practical
problem is that CoAP limits the number of outstanding responses to a
given client to NSTART (1 by default). This specification does, however,
not aim to target this issue, if I understand the document correctly.

> 
>> * to have enough information to decide whether I want to implement
>> this specification.
> 
> If you have the memory at the message initiator (per peer storage,
> about 4 bytes needed per peer plus the space needed to identify that
> peer) and the space for a few additional lines of code, you want to
> implement this specification. (Note that you always can fall back to
> basic CC if the per-peer storage space runs out.)

I think it would be point this out in the specification in the form of
"here is the cost of the mechanism".

> 
>> Are there answers to these questions?
> 
> There are, but we haven’t spent time on creating WG consensus about
> these answers.
> 

The document hasn't seen a lot of input from the working group at all.
I would say that this is not surprising since the necessary expertise is
certainly not in CORE. Do you see this as a problem?

> 
>> I also believe that many readers are worried that the enhancements
>> to CoAP over UDP quickly turn into CoAP over TCP.
> 
> Moving to TCP is a completely different class of complexity (several
> orders of magnitude more than just adding CoCoA).

Is that really the case? When I read
https://tools.ietf.org/html/draft-ietf-lwig-tcp-constrained-node-networks-00
then I get a different impression. In my review of that document I have
asked the authors of th
draft-ietf-lwig-tcp-constrained-node-networks-00 to provide some of that
data.

Ciao
Hannes

PS: The draft should discuss the difference between the weak and the
strong estimator early in the draft (rather than using the terms and
only in Section 4.2.2 mentioning the motivation). I would also feel
better if this idea of weak and strong estimator is reviewed and agreed
by the transport area directorate since it is in contradiction to what
is said in RFC 8085.

The text in Section 5 "Advanced CoAP Congestion Control:
Non-Confirmables" essentially comes without motivation. The same is true
for the algorithm in Appendix A. Are you expecting that the algorithm in
Appendix A will stay in the draft given that "The mechanism defined in
this appendix has received less research" as the authors correctly point
out?

There are also two reference sections, which is unusual.