Re: [core] Mirja Kühlewind's Discuss on draft-ietf-core-block-19: (with DISCUSS and COMMENT)

Carsten Bormann <cabo@tzi.org> Fri, 29 April 2016 18:36 UTC

Return-Path: <cabo@tzi.org>
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 51A5512D6AF; Fri, 29 Apr 2016 11:36:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.62
X-Spam-Level:
X-Spam-Status: No, score=-2.62 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01] 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 yE5T5aL5p9AC; Fri, 29 Apr 2016 11:36:05 -0700 (PDT)
Received: from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net [217.70.183.194]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5A9F412D70B; Fri, 29 Apr 2016 11:36:03 -0700 (PDT)
Received: from mfilter37-d.gandi.net (mfilter37-d.gandi.net [217.70.178.168]) by relay2-d.mail.gandi.net (Postfix) with ESMTP id 020B3C5A5A; Fri, 29 Apr 2016 20:36:02 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at mfilter37-d.gandi.net
Received: from relay2-d.mail.gandi.net ([IPv6:::ffff:217.70.183.194]) by mfilter37-d.gandi.net (mfilter37-d.gandi.net [::ffff:10.0.15.180]) (amavisd-new, port 10024) with ESMTP id 5tV4QcQVFWu8; Fri, 29 Apr 2016 20:35:59 +0200 (CEST)
X-Originating-IP: 93.199.242.26
Received: from nar-3.local (p5DC7F21A.dip0.t-ipconnect.de [93.199.242.26]) (Authenticated sender: cabo@cabo.im) by relay2-d.mail.gandi.net (Postfix) with ESMTPSA id 4CAD2C5A70; Fri, 29 Apr 2016 20:35:58 +0200 (CEST)
Message-ID: <5723A98D.2060001@tzi.org>
Date: Fri, 29 Apr 2016 20:35:57 +0200
From: Carsten Bormann <cabo@tzi.org>
User-Agent: Postbox 4.0.8 (Macintosh/20151105)
MIME-Version: 1.0
To: "Mirja Kuehlewind (IETF)" <ietf@kuehlewind.net>
References: <20160420110510.32319.55772.idtracker@ietfa.amsl.com> <57187ABB.7050301@tzi.org> <27FCC29F-4D67-4703-B5FD-DC77F4789634@kuehlewind.net>
In-Reply-To: <27FCC29F-4D67-4703-B5FD-DC77F4789634@kuehlewind.net>
X-Enigmail-Version: 1.2.3
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/core/GQSdcqL3G8M7TdIB3i0-pMxFHi4>
Cc: draft-ietf-core-block@ietf.org, core-chairs@ietf.org, The IESG <iesg@ietf.org>, core@ietf.org
Subject: Re: [core] Mirja Kühlewind's Discuss on draft-ietf-core-block-19: (with DISCUSS and COMMENT)
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.17
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: Fri, 29 Apr 2016 18:36:07 -0000

Hi Mirja,

I believe I have addressed your DISCUSS and COMMENTs in
draft-ietf-core-block-20.

Diff: https://www.ietf.org/rfcdiff?url2=draft-ietf-core-block-20

Specifically:

>>> ----------------------------------------------------------------------
>>> DISCUSS:
>>> ----------------------------------------------------------------------
>>>
>>> This is only a minor point, requesting to spell out implicit assumptions
>>> explicitly. However, I think it's important to address this before
>>> publication.
>>>
>>> It is not clear in the main part of the doc that this extension to does
>>> not change the message transmission method as specified in RFC7252
>>> (Stop-and-wait retransmission). With my initial ready I assumed that this
>>> extension would allow the sending of back-to-back messages. Only by
>>> looking at the examples, it got clear to me that this is not the case. 
>> I'm wondering how we managed to create that expectation.
> 
> I guess by not talking about it at all (and Spencer and me being overly sensitive to this topic) :-)
> 
>> As I said in the response to Spencer's comment, block-wise transfers are
>> strictly layered on top of RFC 7252 CoAP.  Maybe there is some
>> introductory text needed that emphasizes this early on.
> 
> Yes, please add something similar as what you’ve written in your response to Spencer, (early) in the doc. Thanks!
> 
>> Implementations that I know run completely lock-step.  Theoretically, an
>> implementation could pipeline requests for further blocks after the
>> initial exchange (which needs to be lock-step so a common block-size can
>> be determined; also, a Size2 option would be needed to determine the
>> number of requests to be sent).  NSTART (Section 4.7 of RFC 7252) puts a
>> hard limit on the parallelism here, and the default value of NSTART
>> (without advanced congestion control) is 1, so we are back to lock-step.
> 
> Okay, the problem with not talking about this at all is that all these value in rfc7252 are only recommendation. There are no restricting max values which are defined like 'MUST NOT be larger than X'. Therefore my fear would be that people could assume that this extension, as it supports sending or larger data, could provide a reason to increase the default values.
> 
> Would it make sense to say something like: Using this extension MUST NOT lead to changes in the transmission behavior (e.g. other default value than specified in RFC7252).  ?
> 
>>> Further, this document does not say anything about reliability. Do block
>>> message need to be transmitted reliable (as Confirmable)? If not, this
>>> extension could still lead to back-to-back sending and then further
>>> guidance on congestion control would be needed.
>> Block-wise transfers can be sent in NON messages.  That would not be a
>> particularly wise choice in general, as the delivery probability for the
>> whole body decreases exponentially (section 2.8 outlines one specific
>> use case for using NON in the first block only, though).
> 
> Again, I don’t think this is spelled to anywhere and really should.
> 
>> NON messages can not simply be sent back-to-back in CoAP, see section
>> 4.7 of RFC 7252.
> 
> Please correct me if I’m wrong but looking at section 4.7 this might not be well enough defined to be fully applicable and save for a case where you send a large message with several blocks as NON (even though this is in general not recommended). Note, 4.7 is explicitly saying "Further congestion control optimizations and considerations are expected in the future“. Please double-check and consider giving further recommendations in this doc!

All this should be addressed by the new paragraph right in the introduction.

>>> ----------------------------------------------------------------------
>>> COMMENT:
>>> ----------------------------------------------------------------------
>>>
>>> I agree with others that reduncy makes the doc harder to read, especially
>>> regarding SHOULDs and MUSTs. Would it be helpful to have all SHOULDs and
>>> MUST in one section and combine the Usage guidance with the examples?
>> The usage guidance (section 2.5?) is more normative than just an
>> example.  Moving all interoperability requirements into one section
>> might create even more duplication of text.
> 
> Might still be worth trying to remove redundancy where possible and double-check all MUST and SHOULD. Thanks!

Ben identified a particularly atrocious use of SHOULD in Section 2.4, I
have fixed that.  Apart from that, I tried to refrain from major surgery
-- this document has been around for a while, been tested in four
plugtests, etc.  Risks vs. benefit.

>>> Further, please also add a reference for ETag in section 2.4.
>> I have added a reference to Section 5.10.6 of RFC 7252 in the editor's
>> draft.

Done.

Grüße, Carsten