Re: [6lo] draft-chairs-6lo-dispatch-iana-registry-00.txt

Robert Cragie <robert.cragie@gridmerge.com> Wed, 29 July 2015 08:34 UTC

Return-Path: <robert.cragie@gmail.com>
X-Original-To: 6lo@ietfa.amsl.com
Delivered-To: 6lo@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 964ED1B34CC for <6lo@ietfa.amsl.com>; Wed, 29 Jul 2015 01:34:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.123
X-Spam-Level:
X-Spam-Status: No, score=0.123 tagged_above=-999 required=5 tests=[BAYES_05=-0.5, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=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 OYVWgvfjZCaL for <6lo@ietfa.amsl.com>; Wed, 29 Jul 2015 01:34:49 -0700 (PDT)
Received: from mail-lb0-x22b.google.com (mail-lb0-x22b.google.com [IPv6:2a00:1450:4010:c04::22b]) (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 C5DAB1A8798 for <6lo@ietf.org>; Wed, 29 Jul 2015 01:34:48 -0700 (PDT)
Received: by lblf12 with SMTP id f12so2071896lbl.2 for <6lo@ietf.org>; Wed, 29 Jul 2015 01:34:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:sender:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=dmBK04eJPaHDSPQQ6+IFUN8BxAi8/GA6Fz5lNSFo7r4=; b=jPD514qInlSGyaORTbwQ12pnjaYJfzlSP5n+bke8HcRi9oPX3RqizdBONjGUWRpmzq yUYHHgXLZzdvEP4HbXi1T56mvpsw8CJqRaRmG5uyG1YNq56a897jl5OtH63QRafwZcFt XM4DL2OplGi9uZ1BRGMMjIxuT8DfKYKZA6QLvG5DTsTWKNeaOWjUdIZsF4tY8QAxoPMX J9dHN6PaYSM+fgSiabzLCU+7TQf9zzF1bafxSGgACkScB3GxZ/+JkrDAmKQ+9LGMtW13 bjoQaRe+LV6qELVS+CcGIMMOfEqVL9XhQ8ZAJhUtnxFoSlogcuNxRBBly5xp6ZBL/eIV GpnA==
MIME-Version: 1.0
X-Received: by 10.112.198.74 with SMTP id ja10mr37594691lbc.19.1438158887199; Wed, 29 Jul 2015 01:34:47 -0700 (PDT)
Sender: robert.cragie@gmail.com
Received: by 10.25.31.75 with HTTP; Wed, 29 Jul 2015 01:34:46 -0700 (PDT)
In-Reply-To: <CAO6tK45VXRCzw-kRzAct_hNY5_9q+cQic6aCNWzuA55h4g8Y_A@mail.gmail.com>
References: <ECA43DA70480A3498E43C3471FB2E1F01C39990C@eusaamb103.ericsson.se> <CAO6tK45NVtbN4gON+fcQA=xzzV0Wd00Jqgo78i6LP5QV_j71Sg@mail.gmail.com> <ECA43DA70480A3498E43C3471FB2E1F01C39B48B@eusaamb103.ericsson.se> <CAO6tK474ga37g29Ope8XxsPB67iBpsSAsPhXqXfMcyvCm6_+xg@mail.gmail.com> <E045AECD98228444A58C61C200AE1BD849F0A949@xmb-rcd-x01.cisco.com> <ECA43DA70480A3498E43C3471FB2E1F02222FBA1@eusaamb103.ericsson.se> <E045AECD98228444A58C61C200AE1BD849F47890@xmb-rcd-x01.cisco.com> <CAO6tK45Et-A1pRJKRbPz5d4UD4zUcrWuTy=A8L+FZj78kfrVog@mail.gmail.com> <BF00A164-EE85-442C-A9AE-7FE7FA769CDD@cisco.com> <CAO6tK44p6qjze5iR-KYg=5odvRoMEa71n51mrY_pGc2ZaxSxOw@mail.gmail.com> <E045AECD98228444A58C61C200AE1BD849F48BE1@xmb-rcd-x01.cisco.com> <CAO6tK47Z7sPtpN3cRS6w=PRJ6Sdh65Bv6dV1fC+z4O36dvH_Jg@mail.gmail.com> <CADrU+dJycqpHe8X4T3_6O5dH+zh34xhRaOOZEFDscFYDLFMjuQ@mail.gmail.com> <CAO6tK47JpDA8dfrw-si4Si-QWiys9goBmKp0LAd_sm_jPtySsg@mail.gmail.com> <CADrU+dKK59AyQhnWKg6QPXmn=mo9EpF9ifUxgpVaFXA==md+ew@mail.gmail.com> <CAO6tK45VXRCzw-kRzAct_hNY5_9q+cQic6aCNWzuA55h4g8Y_A@mail.gmail.com>
Date: Wed, 29 Jul 2015 09:34:46 +0100
X-Google-Sender-Auth: rxZbrFrgYJjoGasU8QMJYR3u6Ug
Message-ID: <CADrU+dLdpZL+4v4EBur7metK7FRVefx3E7SSu=FDmB7NrjNpoQ@mail.gmail.com>
From: Robert Cragie <robert.cragie@gridmerge.com>
To: Jonathan Hui <jonhui@nestlabs.com>
Content-Type: multipart/alternative; boundary="001a11c2b8e69a2a28051bff756c"
Archived-At: <http://mailarchive.ietf.org/arch/msg/6lo/iBroUvJA6AwHErQ6UJ2DZ2jc2fU>
Cc: Samita Chakrabarti <samita.chakrabarti@ericsson.com>, "Pascal Thubert (pthubert)" <pthubert@cisco.com>, "6lo@ietf.org" <6lo@ietf.org>
Subject: Re: [6lo] draft-chairs-6lo-dispatch-iana-registry-00.txt
X-BeenThere: 6lo@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: robert.cragie@gridmerge.com
List-Id: "Mailing list for the 6lo WG for Internet Area issues in IPv6 over constrained node networks." <6lo.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/6lo>, <mailto:6lo-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/6lo/>
List-Post: <mailto:6lo@ietf.org>
List-Help: <mailto:6lo-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/6lo>, <mailto:6lo-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 29 Jul 2015 08:34:52 -0000

Hi Jonathan,

More comments inline, bracketed by <RCC2></RCC2>

Robert

On 28 July 2015 at 21:38, Jonathan Hui <jonhui@nestlabs.com> wrote:

> Robert,
>
> On Tue, Jul 28, 2015 at 1:06 PM, Robert Cragie <
> robert.cragie@gridmerge.com> wrote:
>
>>
>>> Currently, we are going down a path where every 6LoWPAN network in
>>> existence needs to respect the same header identifiers (i.e. Dispatch
>>> values) at all times.  It's not obvious to me that this is a good idea.
>>>
>>> For example, two devices in the field could easily determine what
>>> headers are actually in use and the corresponding header identifiers.  In
>>> one view, this is not much different than establishing 6LoWPAN contexts.  A
>>> 6LoWPAN network already determines what prefixes are in use and binds short
>>> forms (4-bit Context IDs) to those.  If there is ever any confusion on how
>>> those 4-bit Context IDs are assigned, then things will fail.  Typically, we
>>> expect to use IEEE 802.15.4 security mechanisms to isolate networks.  After
>>> devices establish a secure link, there is no need to worry about processing
>>> packets that not a part of that secure link.  We could apply the same logic
>>> to Dispatch values and forgo the overhead of "page switch" markers.
>>>
>>
>> <RCC>That is true, but we already discussed this and tried this to some
>> extent with the repurposing of the mesh header. That isn't defining a whole
>> new set of codes for a new technology but is tantamount to it. It didn't
>> seem to go down well, hence the idea of page codes/markers.</RCC>
>>
>
> I understand why the particular design choices were made in the current
> draft.
>
> FWIW, I don't think flat out repurposing the Mesh Header was the right
> approach.  It basically meant that the RFC 4944 Mesh Header is never to be
> used at the same time as a 6LoRH.
>

<RCC2>That was the point, as 6LoRH redefines the mesh header. Therefore you
would never use RFC 4944 mesh header and 6LoRH together as you would never
need to.</RCC2>


>   Some have argued that it becomes confusing when 6lo implementations are
> just following RFCs (rather than some external alliance) as to what
> Dispatch values to use, and I can understand that viewpoint as well.
>

<RCC2>
I can understand the viewpoint but cast on its own, it is somewhat
meaningless. If put into context then it makes more sense.

In an abstract sense, there is what I call a "hierarchy of constraints". By
this I mean at lower ranks, more things are optional and superior ranks
reclassify options into mandatory or excluded. At the top of the hierarchy,
an interoperable implementation can be built where devices can autonomously
figure out based on a configuration how they operate. In this case, the
superior rank to the RFC rank simply states which dispatch codes are being
used and which aren't.

For example, the mesh dispatch code is never used in ZigBee IP so we said
it was excluded, i.e. if a device receives a packet with a mesh header, it
is silently discarded and devices should never generate them under normal
operation. I don't see what is particularly confusing about this.

TL;DR: I guess what I am trying to say is that it probably is confusing
just following the RFCs as you inevitably need some hierarchy of
constraints above. If you don't have that, interoperability will be
difficult to achieve.
</RCC2>


> Instead, I think a better approach is to be explicit and say that devices
> can configure what 6lo headers are in use and how those headers are
> identified in a packet.  Still maintain a single "default" namespace that
> devices use if no such configuration is used or available.  But the
> configuration allows devices to use more efficient header identifiers if
> they choose to do so.
>

<RCC2>The only obvious issue I can see here is variable length dispatch
codes. For example, NALP and MESH are both 2 bits, thus giving 6 bits of
the remaining octet to the subsequent data. In this way, it could be
difficult to define generic 6lo headers which would fit into an arbitrarily
allocated dispatch space</RCC2>


>   As mentioned previously, this is not much different from assigning 4-bit
> Context IDs to IPv6 prefixes.  The difference is that the 6lo header
> configuration will typically be static, so distributing the configuration
> is much simpler than what's required for Context IDs.
>

<RCC2>It's not much different in that it is stateful but I think that's
where the similarities end. The page configuration(s) would really have to
be innate in a device. If there is only one innate page configuration, then
no page identifiers are needed as you say. I am not sure how a device could
dynamically learn pages unless there is some sort of "dispatch code schema"
and I don't think we are proposing that?</RCC2>

>
> The result is that no new 6lo header definition "supersedes" an existing
> one.  Instead, new 6lo header definitions can be defined within the
> existing RFC 4944 Dispatch space and implementations could agree on more
> efficient identifiers if they choose to do so.  The implementation cost is
> simply a jump table with dynamic value, rather than static ones.
>

<RCC2>The concept of pages is key to this though. The question comes down
to whether these pages are defined in an IANA registry with (a) possible
page code(s) in the current "page 0" (effectively proposal 2 in
draft-thubert-6lo-routing-dispatch-04) or, as you suggest, defined outside
of IETF. There are certainly some who think that 6lo framing is really
nothing to do with IETF as it is below layer 3 and I think they have a
point. The "wet finger in the air" attempt at MESH and BC0 in RFC 4944 also
bears this out to some extent.</RCC2>

>
> As a side note, strictly speaking, RFC 4944 was defined for IEEE
>>> 802.15.4-2003 and RFC 6282 defined for IEEE 802.15.4-2006.  In theory, we
>>> could easily define a new Dispatch mechanism for TSCH (IEEE
>>> 802.15.4e-2012).  The frames are distinguishable using the IEEE 802.15.4
>>> Frame Version field.
>>>
>>
>> <RCC>Indeed we could. Perhaps a wholesale change might actually be more
>> palatable than just repurposing some of the dispatch code space?</RCC>
>>
>
> Certainly something to consider.
>

<RCC2>Over to the list and WG...</RCC2>