Re: [Gen-art] Genart last call review of draft-ietf-lpwan-coap-static-context-hc-12

Theresa Enghardt <ietf@tenghardt.net> Mon, 02 March 2020 13:10 UTC

Return-Path: <ietf@tenghardt.net>
X-Original-To: gen-art@ietfa.amsl.com
Delivered-To: gen-art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 228163A0B21; Mon, 2 Mar 2020 05:10:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=tenghardt.net
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 xLozYNzZ7CYS; Mon, 2 Mar 2020 05:10:19 -0800 (PST)
Received: from mail.hemio.de (mail.hemio.de [136.243.12.180]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 935A93A0B1E; Mon, 2 Mar 2020 05:10:19 -0800 (PST)
Received: from user.client.invalid (localhost [136.243.12.180]) by mail.hemio.de (Postfix) with ESMTPSA id 488AAB8; Mon, 2 Mar 2020 14:10:12 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tenghardt.net; s=20170414; t=1583154617; bh=7XgdYednL5FO5oLwNd0hKtOms6LqqTDzwbVDeScLlio=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=twCEHsNlZjXMY2pOrK6hILejgyl3ilMvf0EOOPke4cN6Ltot0cF7PPEQnAvWOU9cX +Y4fJY6O92K1qfgaJcSSdxJUEa0IL0uXthsI2JT6m5RM+dREy0KgvWGmaKf4r6wpJo obQL1ulqUQGygNlc6c+JcgdXVF1/q/9mGQ3O4ojo2Y7XhlFTWvnh7zjM3m1X9esAlq wC81HQ6cRmGBYwwGPwmMaWaiNFOT5LJ5H41NwKoN7eZWc1w8eAlCEyB3JraWSuWUZT 5qR2nXEFnsCBD1BFh51eQ+8Bw7eiSAW4iqsa1fWKUgQiNp2I6ezmzji9mhbbMIl6+O UESrQ7TDisuVw==
To: Ana Minaburo <ana@ackl.io>
Cc: gen-art@ietf.org, lp-wan <lp-wan@ietf.org>, last-call@ietf.org, draft-ietf-lpwan-coap-static-context-hc.all@ietf.org, Laurent Toutain <laurent.toutain@imt-atlantique.fr>, lpwan-chairs@ietf.org, randreasen@fi.uba.ar
References: <158134757509.4049.18293449395965880444@ietfa.amsl.com> <CAAbr+nSgQjD1o==i5rPQgAv7mA8buWueCUMkHnt=Ls=s09QXwQ@mail.gmail.com>
From: Theresa Enghardt <ietf@tenghardt.net>
Message-ID: <f63d996b-f13f-e574-65f0-fdd091b1c5fb@tenghardt.net>
Date: Mon, 02 Mar 2020 14:10:10 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0
MIME-Version: 1.0
In-Reply-To: <CAAbr+nSgQjD1o==i5rPQgAv7mA8buWueCUMkHnt=Ls=s09QXwQ@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------270B889FD734BCE01C7F10A2"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/gen-art/srLp7euDzSsUL1cGSnDjTXfMWOA>
Subject: Re: [Gen-art] Genart last call review of draft-ietf-lpwan-coap-static-context-hc-12
X-BeenThere: gen-art@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "GEN-ART: General Area Review Team" <gen-art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/gen-art>, <mailto:gen-art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/gen-art/>
List-Post: <mailto:gen-art@ietf.org>
List-Help: <mailto:gen-art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/gen-art>, <mailto:gen-art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 02 Mar 2020 13:10:22 -0000

Dear Ana,

Thank you for the responses to my comments and for the improvements to
the document.

Please find responses to some of your points and some suggestions inline:

On 25.02.20 23:26, Ana Minaburo wrote:
>
>     Minor issues:
>
>     Abstract
>     To make the abstract more self-contained, I suggest adding a brief
>     description
>     of what SCHC is, then stating explicitly that so far SCHC has been
>     defined for
>     UDP and IPv6, and this document defines it for CoAP. Then the
>     abstract can keep
>     the two examples of how CoAP presents some unique challenges for
>     using SCHC,
>     but it should clearly say that these are examples, as Section 3
>     later lists
>     more differences. Finally, perhaps it's worth making the last
>     sentence more
>     concrete to say how the document addresses these challenges. Maybe
>     something
>     like: The document gives guidance on how to apply SCHC to flexible
>     headers and
>     how to leverage the asymmetry for more efficient compression rules.
>
> Ana: Thanks for this input, the new version of the abstract is:
>
> "This draft defines the way SCHC (Static Context Header Compression)
> header compression can be applied to CoAP protocol. SCHC is a header
> compression mechanism adapted for constrained devices. SCHC uses a
> static description of the header to reduce the redundancy and the size
> of the information in the header. While the RFC8724 describes the SCHC
> compression and fragmentation framework, and its application for
> IPv6/UDP headers, this document applies the use of SCHC for CoAP
> headers. The CoAP header structure differs from IPv6 and UDP one since
> CoAP uses a flexible header with a variable number of options,
> themselves of variable length. The CoAP protocol messages format is
> asymmetric: the request messages have a header format different from
> the one in the response messages. This specification gives guidance on
> how to apply SCHC to flexible headers and how to leverage the
> asymmetry for more efficient compression Rules."

TE: Thanks, this makes the abstract much more self-contained. Some
suggested nits here:
"can be applied to CoAP protocol" --> "can be applied to the CoAP protocol"
"While the RFC8724 describes" --> "While RFC8724 describes"
"differs from IPv6 and UDP one" --> "differs from IPv6 and UDP" or
"differs from the IPv6 and UDP one"


>
>     "The context(s) is(are) known by both ends before transmission." -
>     As someone
>     not yet familiar with SCHC, it would be really helpful to have one
>     or two
>     sentences here explaining how this usually works. Are the contexts
>     typically
>     configured on the devices when installing the application? Are
>     contexts
>     exchanged out of band and/or using some kind of protocol exchange?
>
> Ana: The way the context is configured or exchanged is out of the
> scope of this document because we are trying to explain the problem of
> CoAP header compression.

TE: I see. Could you briefly point this out in the document, i.e., say
"The way the context is configured or exchanged is out of the scope for
this document", please?


>
>     "[I-D.ietf-lpwan-ipv6-static-context-hc] defines the use of a
>     message direction
>     (DI) in the Field Description, which allows a single Rule to
>     process message
>     headers differently depending of the direction." - I think here it
>     makes sense
>     to say how this point relates to the point before, that CoAP is
>     asymmetric. Is
>     this in conflict, so it makes SCHC more difficult to use for CoAP?
>     Or does this
>     just mean that the SCHC rules have to be different for CoAP?
>
> Ana: It is not a conflict neither more difficult nor different, as
> SCHC includes the DI in the Rule the CoAP asymmetric problem is
> solved. Because the value in DI will be used to define which fields
> are in which direction in the same Rule. So instead of describing two
> Rules, one for each direction, we only have to define one Rule for
> both directions, paying attention to give the correct field description.

TE: Thanks for the explanation. Maybe here it's worth rephrasing "which
allows a single Rule to process message headers differently depending of
the direction" to make this more explicit.


>  
>
>     "The direction allows splitting in two parts the possible values
>     for each
>     direction in the same Rule." - Sentence is hard to parse. What
>     does "the
>     direction" refer to here - a part of the rule? the direction the
>     packet is sent?
>
> Ana: Direction is the Request or Response format (up, down,
> bidirectional). Yes is part of the Rule and yes 
> it describes the direction the packet is sent from client to server or
> from server to client, request/response format headers

TE: I see. Suggested new phrasing:
"The direction allows splitting the range of values in two parts, one
for each direction, and allows the same rule to handle traffic in both
directions."


>  
>
>     "In IPv6 and UDP, header fields have a fixed size and it is not
>     sent." - What
>     does "it" refer to here? The size?
>
> Ana: Yes, each field in the header has a length in bits or bytes; when
> a field in the header format has a fixed length, you know it, and it
> has been defined in the protocol document. 
> Example: The IPv6 version is 4-bit length and the value is 6, so in
> SCHC field description this field will have a size of 4 bits and the
> target value will be 6

TE: I see. Suggested new phrasing:
"In IPv6 and UDP, header fields have a fixed size, which is not sent."


>  
>
>     Section 4.5
>     "Token Value size cannot be defined directly in the rule in the
>     Field Length
>     (FL).  Instead, a specific function designated as "TKL" MUST be
>     used and length
>     does not have to be sent with the residue. During the
>     decompression, this
>     function returns the value contained in the Token Length field." -
>     Why can the
>     Token Value size (is this the length of this header field?) not be
>     defined
>     directly? And what is this specific function "TKL" supposed to do?
>     Is there a
>     reference for it? From this sentence, it's also not clear why
>     length does have
>     to be sent.
>
> Ana: Token is defined through two CoAP fields, Token-Length in the
> mandatory header and Token-Value directly following the mandatory CoAP
> header.
> Token Length is processed as any protocol field. If the value does not
> change, the size can be stored in the TV and elided during the
> transmission. Otherwise, it will have to be sent in the compression
> residue.
> Token Value MUST not be sent as a variable-length residue to avoid
> ambiguity with Token Length. Therefore, Token Length value MUST be
> used to define the size of the residue. 
> A specific function designated as "TKL" MUST be used in the Rule.
> During the decompression, this function returns the value contained in
> the Token Length field.

TE: Makes sense. I suggest adding this explanation to the document.


I'm looking forward to the next revision.

Best,
Theresa