Re: [Tsv-art] [lp-wan] Tsvart last call review of draft-ietf-lpwan-coap-static-context-hc-12

dominique.barthel@orange.com Wed, 18 March 2020 00:20 UTC

Return-Path: <dominique.barthel@orange.com>
X-Original-To: tsv-art@ietfa.amsl.com
Delivered-To: tsv-art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5E81C3A0C7C; Tue, 17 Mar 2020 17:20:38 -0700 (PDT)
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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=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=orange.com
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 xXwM2CQhFSGR; Tue, 17 Mar 2020 17:20:35 -0700 (PDT)
Received: from relais-inet.orange.com (relais-inet.orange.com [80.12.66.39]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F0B963A0C5F; Tue, 17 Mar 2020 17:20:34 -0700 (PDT)
Received: from opfedar02.francetelecom.fr (unknown [xx.xx.xx.4]) by opfedar21.francetelecom.fr (ESMTP service) with ESMTP id 48hrKY1Nz0z7twV; Wed, 18 Mar 2020 01:20:33 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=orange.com; s=ORANGE001; t=1584490833; bh=5hlbuF5uTutToFop83cCQY0grMq9ZWWy34JM8kB5Q8o=; h=From:To:Subject:Date:Message-ID:Content-Type: Content-Transfer-Encoding:MIME-Version; b=mqMeW2iGt+RVlCr9Cv7pF6HUZazj9fEN2eUBPNsRPHQ+pPgVMPxIGwaZxwqMk1i46 MNhscA/c3mOKbL06kgl8/FQWiQY2PZ8x7Og+Yf5v3WbtydIyOSpY6BBMtDYVn11BlK 8ZECM6fUVLbhqPAhnpIDOsX43bmYior+M+MLlrP049P0GvK4j0PJtP/vpwu5Zpp++j kZU2CP26F3uv7lyeZep/61SzawUdg3ZX7AOXzMPc1CRe2GZqPKNfrN7vP2nQlxEIHy +vwtIFthSeZ8gVObENnRvSulCCXmbvxZPUYjzPA/TcXyoplcr8L5t7kXdmUilFrKLg CoQXwduIprptg==
Received: from Exchangemail-eme6.itn.ftgroup (unknown [xx.xx.13.51]) by opfedar02.francetelecom.fr (ESMTP service) with ESMTP id 48hrKX476wzCqkN; Wed, 18 Mar 2020 01:20:32 +0100 (CET)
From: dominique.barthel@orange.com
To: Joseph Touch <touch@strayalpha.com>
CC: "tsv-art@ietf.org" <tsv-art@ietf.org>, Suresh Krishnan <Suresh@kaloom.com>, "draft-ietf-lpwan-ipv6-static-context-hc@ietf.org" <draft-ietf-lpwan-ipv6-static-context-hc@ietf.org>
Thread-Topic: [Tsv-art] [lp-wan] Tsvart last call review of draft-ietf-lpwan-coap-static-context-hc-12
Thread-Index: AQHV/LmsmKwrzJzqqU6XSx9/T0NJ/ahNfJuA
Date: Wed, 18 Mar 2020 00:20:32 +0000
Message-ID: <14147_1584490832_5E716950_14147_78_1_DA97272C.7215F%dominique.barthel@orange.com>
References: <158152010913.17982.18347318138768196852@ietfa.amsl.com> <340_1584143298_5E6C1BC2_340_169_1_DA91D669.71EAC%dominique.barthel@orange.com> <32170_1584485182_5E71533E_32170_159_1_DA9701E5.7204F%dominique.barthel@orange.com> <B0375E01-4715-4116-B1DA-16FCFCCBD3B9@strayalpha.com>
In-Reply-To: <B0375E01-4715-4116-B1DA-16FCFCCBD3B9@strayalpha.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/14.7.3.170325
x-originating-ip: [10.114.13.245]
Content-Type: text/plain; charset="utf-8"
Content-ID: <6D15AF0478686A48BED4AFAAD5CE5E93@adroot.infra.ftgroup>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsv-art/I7rZvnYqx8mAuqINeuo1CoRfjdU>
Subject: Re: [Tsv-art] [lp-wan] Tsvart last call review of draft-ietf-lpwan-coap-static-context-hc-12
X-BeenThere: tsv-art@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Review Team <tsv-art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsv-art>, <mailto:tsv-art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsv-art/>
List-Post: <mailto:tsv-art@ietf.org>
List-Help: <mailto:tsv-art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsv-art>, <mailto:tsv-art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 18 Mar 2020 00:20:59 -0000

The default rule is to send the packet uncompressed.
There is no default rule that says that the UDP length can be recomputed.
There are specific rules that say that the length can be recomputed, and
each one knows how the length can be computed.
And you are right, the UDP length has to be checked before the
corresponding rule can be applied.
This is outside the scope of this draft.
I'm happy to add a warning "This system should not allow a rule that
indicates that UDP length can be ‘recomputed’ if it isn’t also checked as
such beforehand." to this draft
Would that work?

Dominique

Le 18/03/20 01:10, « Joseph Touch » <touch@strayalpha.com> a écrit :

>The problem is with the any default rule that indicates that UDP length
>can be computed. That is the flaw. It can only be computed if the UDP
>length matches the end of packet indicated by the IP header.
>
>This system should not allow a rule that indicates that UDP length can be
>‘recomputed’ if it isn’t also checked as such beforehand.
>
>That is the flaw. It is with the system not checking, not merely the rule.
>
>Joe
>
>> On Mar 17, 2020, at 3:46 PM, dominique.barthel@orange.com wrote:
>> 
>> Hello all,
>> 
>> Here are some examples to illustrate my answer in the mail below.
>> 
>> We have the following processing chain:
>> - protocol parser: breaks the headers of incoming packet into itemised
>> fields, each with an identifier that tells what they are. Hands this set
>> of fields to the SCHC compressor.
>> - SCHC compressor: browses the Rule set to find a Rule that matches the
>> set of fields. Compresses each field per the Rule, sends RuleID +
>> compression residues + payload.
>> - SCHC decompressor: based on the received RuleID and residues, rebuilds
>> the itemised fields, hands the set of fields to the protocol
>>reconstructor.
>> - protocol reconstructor: concatenates the itemised fields into protocol
>> headers, concatenates the payload. Hands to the upper layer.
>> 
>> Here, let's assume we intend to compress the UDP/IPv6 headers. The upper
>> layers headers are considered "payload" in our discussion.
>> For this discussion, I will only consider the Length field of IPv6,
>> ignoring all other IPv6 fields.
>> Therefore, I will say an old-style UDP/IPv6 packet only has 5 fields:
>> - IPv6.Length
>> - UDP.Length
>> - UDP.Checksum
>> - UDP.SourcePort
>> - UDP.DestPort
>> While a post draft-tsvwg-udp-options UDP/IPv6 packet may have more
>>fields
>> - UDP.Option1
>> - UDP.Option2
>> - etc.
>> 
>> Let's assume ProtocolParserA does not understand
>>draft-tsvwg-udp-options.
>> Let's assume ProtocolParserB does understand draft-tsvwg-udp-options.
>> Let's assume PacketU is a well formed old-style UPD/IPv6 packet.
>> Let's assume PacketV is a post draft-tsvwg-udp-options UPD/IPv6 packet,
>> that includes UDP.Option1 and UDP.Option2.
>> Let's assume Rule1 only has the old-style 5 field descriptors. In its
>> CDAs, the UDP length is elided at the compressor and reconstructed out
>>of
>> IPv6.Length at the decompressor.
>> Let's assume Rule2 has the 5 old-style field descriptors plus
>>UDP.Option1
>> and UDP.Option2. In its CDAs, the UDP length is sent in extenso as a
>> compression residue.
>> 
>> When PacketU or PacketV is submitted to SystemA, which includes
>> ProtocolParserA, or to SystemB, which includes ProtocolParserB, the
>> outcome is described in the following table.
>> 
>>                      PacketU                      PacketV
>> 
>>-------------------------------------------------------------------------
>>--
>> --------------------
>>     | PPA parser   | 5 itemised fields          | incorrect UDP length,
>> nothing handed to SCHC
>>     | SCHC comp    | Matches Rule1              |
>> SystA|              | UDP.Length elided          |
>>     | SCHC decomp  | UDP.Length recomputed      |
>>     | PPA reconstr | correct UDP header         |
>> 
>>-------------------------------------------------------------------------
>>--
>> --------------------
>>     | PPB parser   | 5 itemised fields          | 7 itemised fields
>>     | SCHC comp    | Matches Rule1              | Matches Rule2
>> SystB|              | UDP.Length elided          | UDP.Length sent as a
>> compression residue
>>     | SCHC decomp  | UDP.Length recomputed      | UDP.Length retrieved
>> from residue
>>     | PPB reconstr | correct UDP header         | correct UDP header
>> 
>> 
>>-------------------------------------------------------------------------
>>--
>> --------------------
>> 
>> Further variations:
>> 
>> If a PacketW has 3 options, yielding 8 fields, it does not match Rule2.
>> With SystB, it will be sent uncompressed.
>> If case SystB does not have a Rule1 in the Rule set, PacketU will be
>>sent
>> uncompressed.
>> If case SystB does not have a Rule2 in the Rule set, PacketV will be
>>sent
>> uncompressed.
>> There is no way PacketV will be matched by Rule1, which is the case that
>> was envisaged as problematic by TSV-ART, if I understood correctly.
>> Now, if ProtocolParserA does not check for consistency between
>>UDP.Length
>> and IPv6.Length, then we have a problem.
>> But the problem is with the protocol parser, not with SCHC.
>> 
>> Best regards
>> 
>> Dominique
>> 
>> 
>> 
>> 
>> 
>> 
>> Le 14/03/20 00:48, « dominique.barthel@orange.com »
>> <dominique.barthel@orange.com> a écrit :
>> 
>>> Hello all,
>>> 
>>> This is the response by the ietf-lpwan-ipv6-static-context-hc
>>>co-authors
>>> to the observation below by Joseph Touch.
>>> You are right that Section 10 of ietf-lpwan-ipv6-static-context-hc only
>>> shows how to compress IPv6/UDP packets that have no extensions.
>>> 
>>> However, the SCHC specification in Section 7.1 states
>>> "It is assumed that
>>>  there is a protocol parser alongside SCHC that is able to identify
>>>  all the fields encountered in the headers to be compressed, and to
>>>  label them with a Field ID."
>>> 
>>> Furthermore, Section 7.3 states
>>> "If any
>>>        header field of the packet being examined cannot be matched
>>>        with a Field Description with the correct FID, the Rule MUST be
>>>        disregarded.  If any Field Description in the Rule has a FID
>>>        that cannot be matched to one of the header fields of the
>>>        packet being examined, the Rule MUST be disregarded."
>>> 
>>> It follows that, if an IPv6 packet does contain the new UDP TLVs
>>> introduced by draft-tsvwg-udp-options, it will not match a Rule
>>>destined
>>> to compress the IPv6/UDP headers and that does not have these TLVs as
>>>part
>>> of the Field Descriptors.
>>> Therefore, it will no be compressed by that Rule and will not be
>>> decompressed with a wrong UDP Length at the receive end.
>>> 
>>> By contrast, if a Rule destined to compress the IPv6/UDP headers does
>>>have
>>> these UDP TLVs as part of the Field Descriptors, it is responsible for
>>> reconstructing the UDP Length properly. This can be achieved by means
>>> already provided by SCHC, such as sending the value over the wire or
>>> matching it to an expected constant, etc.
>>> 
>>> In conclusion, the SCHC compression mechanism, if properly
>>>implemented, is
>>> fully compatible with draft-tsvwg-udp-options.
>>> 
>>> Best regards,
>>> 
>>> Dominique
>>> 
>>> 
>>> Le 12/02/20 16:08, « lp-wan on behalf of Joseph Touch via Datatracker »
>>> <lp-wan-bounces@ietf.org on behalf of noreply@ietf.org> a écrit :
>>> 
>>>> Reviewer: Joseph Touch
>>>> Review result: Almost Ready
>>>> 
>>>> This document has been reviewed as part of the transport area review
>>>> team's
>>>> ongoing effort to review key IETF documents. These comments were
>>>>written
>>>> primarily for the transport area directors, but are copied to the
>>>> document's
>>>> authors and WG to allow them to address any issues raised and also to
>>>>the
>>>> IETF
>>>> discussion list for information.
>>>> 
>>>> When done at the time of IETF Last Call, the authors should consider
>>>>this
>>>> review as part of the last-call comments they receive. Please always
>>>>CC
>>>> tsv-art@ietf.org if you reply to or forward this review.
>>>> 
>>>> I found no transport issues with this document.
>>>> 
>>>> However, this document normatively cites
>>>> ietf-lpwan-ipv6-static-context-hc,
>>>> which does have some transport issues of concern. I am listing them
>>>>here
>>>> because of the dependency between the two documents.
>>>> 
>>>> In particular, ietf-lpwan-ipv6-static-context-hc overlooks the case
>>>>where
>>>> the
>>>> IP header indicates a packet longer than the UDP header, a case that
>>>>is
>>>> currently being developed for UDP header options in TSVWG. This other
>>>> document
>>>> claims that both UDP and IPv6 length fields can be computed from the
>>>> received
>>>> data, but this is not the case when the IP header indicates a packet
>>>>end
>>>> after
>>>> that of the UDP header. See draft-tsvwg-udp-options for more
>>>>information.
>>>> 
>>>> There are no changes needed to this document to address this length
>>>> issue, but
>>>> the normative dependency in this doc is the reason for indicatin this
>>>> document
>>>> as "Almost Ready".
>>>> 
>>>> _______________________________________________
>>>> lp-wan mailing list
>>>> lp-wan@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/lp-wan
>>> 
>>> 
>>> 
>>>________________________________________________________________________
>>>__
>>> _______________________________________________
>>> 
>>> Ce message et ses pieces jointes peuvent contenir des informations
>>> confidentielles ou privilegiees et ne doivent donc
>>> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez
>>> recu ce message par erreur, veuillez le signaler
>>> a l'expediteur et le detruire ainsi que les pieces jointes. Les
>>>messages
>>> electroniques etant susceptibles d'alteration,
>>> Orange decline toute responsabilite si ce message a ete altere, deforme
>>> ou falsifie. Merci.
>>> 
>>> This message and its attachments may contain confidential or privileged
>>> information that may be protected by law;
>>> they should not be distributed, used or copied without authorisation.
>>> If you have received this email in error, please notify the sender and
>>> delete this message and its attachments.
>>> As emails may be altered, Orange is not liable for messages that have
>>> been modified, changed or falsified.
>>> Thank you.
>>> 
>> 
>> 
>> 
>>_________________________________________________________________________
>>________________________________________________
>> 
>> Ce message et ses pieces jointes peuvent contenir des informations
>>confidentielles ou privilegiees et ne doivent donc
>> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez
>>recu ce message par erreur, veuillez le signaler
>> a l'expediteur et le detruire ainsi que les pieces jointes. Les
>>messages electroniques etant susceptibles d'alteration,
>> Orange decline toute responsabilite si ce message a ete altere, deforme
>>ou falsifie. Merci.
>> 
>> This message and its attachments may contain confidential or privileged
>>information that may be protected by law;
>> they should not be distributed, used or copied without authorisation.
>> If you have received this email in error, please notify the sender and
>>delete this message and its attachments.
>> As emails may be altered, Orange is not liable for messages that have
>>been modified, changed or falsified.
>> Thank you.
>> 
>> _______________________________________________
>> Tsv-art mailing list
>> Tsv-art@ietf.org
>> https://www.ietf.org/mailman/listinfo/tsv-art
>


_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.