[6tisch] Comments on draft-ietf-6tisch-msf-00

Yasuyuki Tanaka <yasuyuki.tanaka@inria.fr> Fri, 24 August 2018 11:51 UTC

Return-Path: <yasuyuki.tanaka@inria.fr>
X-Original-To: 6tisch@ietfa.amsl.com
Delivered-To: 6tisch@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 71F01130E92 for <6tisch@ietfa.amsl.com>; Fri, 24 Aug 2018 04:51:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.9
X-Spam-Level:
X-Spam-Status: No, score=-6.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5] 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 8bWbQZyvnZ_c for <6tisch@ietfa.amsl.com>; Fri, 24 Aug 2018 04:51:41 -0700 (PDT)
Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7B224130E8C for <6tisch@ietf.org>; Fri, 24 Aug 2018 04:51:40 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="5.53,281,1531778400"; d="scan'208";a="276691471"
Received: from wifi-pro-83-194.paris.inria.fr ([128.93.83.194]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Aug 2018 13:51:38 +0200
From: Yasuyuki Tanaka <yasuyuki.tanaka@inria.fr>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
Message-Id: <AB8128C5-C5A4-4E1D-95E5-66ED6A98A1F8@inria.fr>
Date: Fri, 24 Aug 2018 13:51:37 +0200
Cc: Yasuyuki Tanaka <yasuyuki.tanaka@inria.fr>
To: 6tisch@ietf.org
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/6tisch/9jcaTddi6vLO5zHqTDNk6yqrNao>
Subject: [6tisch] Comments on draft-ietf-6tisch-msf-00
X-BeenThere: 6tisch@ietf.org
X-Mailman-Version: 2.1.27
Precedence: list
List-Id: "Discuss link layer model for Deterministic IPv6 over the TSCH mode of IEEE 802.15.4e, and impacts on RPL and 6LoWPAN such as resource allocation" <6tisch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/6tisch>, <mailto:6tisch-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/6tisch/>
List-Post: <mailto:6tisch@ietf.org>
List-Help: <mailto:6tisch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/6tisch>, <mailto:6tisch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 24 Aug 2018 11:51:43 -0000

Hi authors,

Congratulations on this great work!

  https://tools.ietf.org/html/draft-ietf-6tisch-msf-00

I'm sharing my comments on the draft; major comments are followed by minor
comments.

* discussion: when to schedule autonomous TX cells to neighbors

According to Section 4, a join proxy (JP) needs to schedule an autonomous TX
cell to a node (pledge) who wants to join the network. Thanks to this, a join
process can be done with the autonomous cells of the JP and pledge. These
autonomous cells make the network formation faster.

However, from the view point of security, it'd be better to avoid installing any
state for an unauthenticated/unauthorized node. In this particular case, the
join proxy shouldn't schedule the autonomous cell to the pledge.

We would need some discussion in "Security Considerations" section if we allow
JPs to install autonomous TX cells to their pledges.

* question: why do we need a separate slotframe for MSF?

MSF avoids using slot offset 0 for its autonomous cells and its dedicated cells
anyway. The length of Slotframe 1 for MSF is the same as Slotframe 0

draft> (Section 3)
draft> As detailed in Section 2.2 of [I-D.ietf-6tisch-6top-protocol], MSF MUST
draft> schedule cells from Slotframe 1, while Slotframe 0 is used for traffic
draft> defined in the Minimal 6TiSCH Configuration.
draft> (...)
draft> The first time offset is skipped to avoid colliding with the minimal cell
draft> in Slotframe 0.

draft> 8.  Rules for CellList
draft> 
draft> (snip)
draft>    o  The slotOffset value of any cell in the CellList MUST NOT be the
draft>       same as the slotOffset of the minimal cell (slotOffset=0).

* question: parameters for SAX

What values are used for L and R in SAX? It'd be nice to have an example or a
test vector in the draft in order to validate a SAX implementation used for
MSF. This is critical for interoperability.

* minor comment 1

draft> (Section 1)
draft> The end state of the join process is that the node is synchronized to the
draft> network, has mutually authenticated to the network, has identified a
draft> preferred routing parent, has scheduled one default unicast cell to/from
draft> each of its neighbors.

The latter part of this sentence seems not to be accurate.

After the join process, the node (pledge) has the following cells:

- the minimal cell defined by RFC 8180
- one autonomous RX cell
- autonomous TX cells to its JP

This doesn't fit "one default unicast cell to/from each of its neighbors."

* minor comment 2

draft> (Section 2)
draft> A node implementing MSF MUST implement the Minimal 6TiSCH Configuration
draft> [RFC8180], which defines the "minimal cell", a single shared cell
draft> providing minimal connectivity between the nodes in the network.

'MUST' here sounds too strong... Some may want to use MSF with a base schedule
other than one defined RFC 8180 with full understands on implications by not
following RFC 8180. Then, I'd propose 'SHOULD'.

By the way, I'm not sure whether we can specify 'MUST implement' to a BCP
document or not.

* minor comment 3

draft> (Section 2)
draft> 2.  DODAG Information Objects (DIOs), defined by [RFC6550].  These are
draft> broadcast frames.

A DIO can be sent in a unicast frame.

rfc6550> 8.3.  DIO Transmission
rfc6550> (...)
rfc6550> When a node receives a unicast DIS message with a Solicited Information
rfc6550> option and matches the predicates of that Solicited Information option,
rfc6550> it MUST unicast a DIO to the sender in response.

So, that sentence could be...

       2.  DODAG Information Objects (DIOs), defined by [RFC6550].  Broadcasted
       DIOs are sent over the minimal cell.

Or, it would be fine to say just "broadcast frames are (always) sent in the
minimal cell", although there is text which doesn't agree with this proposal:

draft> 5.1.  Adapting to Traffic
draft> (...)
draft> Autonomous cells are used indistinguishably together with dedicated
draft> cells, for broadcast or unicast traffic with the target neighbor.

* minor comment 4

The following part seems to me an implementation-specific optimization. And it
is beyond of the scope of this draft. Basically, this idea is about how to use
the minimal cell efficiently; it's not directly related to how to use cells
scheduled by MSF.

draft> (Section 2)
draft> Because the minimal cell is SHARED, the back-off algorithm defined in
draft> [IEEE802154-2015] is used to resolve collisions.  To ensure there is
draft> enough bandwidth available on the minimal cell, a node implementing MSF
draft> SHOULD enforce the following rules for broadcast frames:
draft> ...

* minor comment 5

The phrase of "After joining" in the explanation of step 3 should be "After
deciding a JP to use"? At this step 3, "joining" is not done.

draft> (Section 4)
draft> 4.4.  Step 3 - Setting up Autonomous Unicast Cells
draft> 
draft>    After joining, nodes MUST set up their autonomous unicast cells, as
draft>    described in Section 3.  This enables unicast communication in
draft>    Slotframe 1, until more cells are added with 6P as defined in
draft>    Section 5.
draft> 
draft> 4.5.  Step 4 - Join Request/Response

* minor comment 6

What is Section 10, "Rule for Ordering Cells", for...? Why do we need this
section?

That's all!

Best,
Yatch