Re: [core] Comments and questions on draft-jarvinen-core-fasor-02

Carsten Bormann <cabo@tzi.org> Wed, 20 November 2019 11:18 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 9A0BE1208A0 for <core@ietfa.amsl.com>; Wed, 20 Nov 2019 03:18:05 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level:
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, 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 5d2EuwnMzhBe for <core@ietfa.amsl.com>; Wed, 20 Nov 2019 03:18:03 -0800 (PST)
Received: from gabriel-vm-2.zfn.uni-bremen.de (gabriel-vm-2.zfn.uni-bremen.de [134.102.50.17]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0DDC1120043 for <core@ietf.org>; Wed, 20 Nov 2019 03:18:03 -0800 (PST)
Received: from dhcp-9c88.meeting.ietf.org (dhcp-9c88.meeting.ietf.org [31.133.156.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by gabriel-vm-2.zfn.uni-bremen.de (Postfix) with ESMTPSA id 47J0Y45sXTzyT5; Wed, 20 Nov 2019 12:18:00 +0100 (CET)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
From: Carsten Bormann <cabo@tzi.org>
In-Reply-To: <18122668-6F48-4508-A53C-DC80723B8ED3@ericsson.com>
Date: Wed, 20 Nov 2019 19:17:58 +0800
Cc: "core@ietf.org" <core@ietf.org>
X-Mao-Original-Outgoing-Id: 595941473.3014539-f78608cc649aa21e7d8ac1c85714ee62
Content-Transfer-Encoding: quoted-printable
Message-Id: <2CE089EB-D1C9-4692-BC72-309A37551685@tzi.org>
References: <9917155C-DBA2-43F7-B14C-3B778B27E96F@ericsson.com> <976DBC2F-20DE-4E4F-BB45-BB1C24027AE0@tzi.org> <18122668-6F48-4508-A53C-DC80723B8ED3@ericsson.com>
To: Christer Holmberg <christer.holmberg@ericsson.com>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/XbbJjqpTLkHsfdxVVK5GxNol_Uw>
Subject: Re: [core] Comments and questions on draft-jarvinen-core-fasor-02
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.29
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: Wed, 20 Nov 2019 11:18:05 -0000

> On Nov 20, 2019, at 14:03, Christer Holmberg <christer.holmberg@ericsson.com> wrote:
> 
> Hi,
> 
>>> - Does CoAP allow changing option values in retransmissions? 
>> 
>> Yes, it actually encourages that, e.g.:
>> 
>>   The value is intended to be current at the time of transmission.
>>   Servers that provide resources with strict tolerances on the value of
>>   Max-Age SHOULD update the value before each retransmission.[…]
>> 
>> https://tools.ietf.org/html/rfc7252#section-5.10.5
> 
>   So, that means that implementations will have to perform a full parse of received retransmissions, instead of only parsing enough in order to detect a retransmission?

I don’t think that is the intention.
If the message-id of a received message is the same as the one the server just processed, just discard.
(On the other hand, for safe, idempotent methods, the server might well decide to indeed process the request again instead of de-duplicating it.)

(And I hope nobody tries this trick with non-safe methods.  Please make three coffees. <timeout waiting for ack>.  Please make two coffees.)

> In addition, if a retransmission contains updated information, retransmissions will have to be exposed to the application, rather than being handled by the protocol stack.

Right.  That is not the intention.

>> (The interesting part here is eventual consistency — you can’t be sure that the acknowledgement you get is actually for the most recent retransmission.)
> 
>    Retransmissions can also be received out of order, and if they contain different information the receiver may not necessarily know which is the most recent.

Indeed.  The problem with max-age is, of course, that the receiver (here: the client) does not know how long the packet needed to transit the network, so reordering does not really add to that ambiguity.

Grüße, Carsten