Re: [6tisch] Review of draft-ietf-6tisch-msf-03

Tengfei Chang <tengfei.chang@gmail.com> Wed, 17 April 2019 16:50 UTC

Return-Path: <tengfei.chang@gmail.com>
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 1F211120143 for <6tisch@ietfa.amsl.com>; Wed, 17 Apr 2019 09:50:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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=gmail.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 vop1FKoiJZl0 for <6tisch@ietfa.amsl.com>; Wed, 17 Apr 2019 09:50:46 -0700 (PDT)
Received: from mail-pg1-x533.google.com (mail-pg1-x533.google.com [IPv6:2607:f8b0:4864:20::533]) (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 6A22312001E for <6tisch@ietf.org>; Wed, 17 Apr 2019 09:50:46 -0700 (PDT)
Received: by mail-pg1-x533.google.com with SMTP id j26so12263487pgl.5 for <6tisch@ietf.org>; Wed, 17 Apr 2019 09:50:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=mfG3PZAbmwJ6ag6o3BY9mosZDr/ZZ89R56zccKqmg9w=; b=rs1O+waf3DZNIWuktpEvH4dpkkpiRxWFGJDua3BBtlUk657Aq2kTxb7TAqQ3OyEjtw GJYZmOLqR1Y4gLZf4cZvxl21AHY+O8GTqfZ4b0T4jOoNdb2bGCK+IYkjqsLBCVoRNM6p Mq0jpTzO/Vfi+W94UVHRgRuWnF0VxZp6UcXvePoT4JdCcpZ1HBBa0GcB7OdATh0Pl8mt 8oeLw3TAzcAl6XBqew8sTC74r1o89EAISrAF372yHBCynvEgpFzrQsmxRqhvaOfR2Gaq XkmP4VV+4H9wzh7BmLKp1VGfhimA2R5YoImXLs5xFr3t+b4kfEg3KiTO2pd52g/KBSkg oyFw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=mfG3PZAbmwJ6ag6o3BY9mosZDr/ZZ89R56zccKqmg9w=; b=D7qtYmiODP094GT1mn9OYNF4J7bp1u/X/PsWLh/wNgEqN4xxKux16VsKZr610OrvIt klOFUOvQ188uGxznbvR8cPutWkEa3ENhleCXDDn/jU+KEd5BkVupAXl5cqdzQyaEthcT PEjY6E3IWPfCQ8OJyXxfmPly7Bv5caOQ3UIbeaT0T6YBgnb/abyAhY2l+wZnKXemxnJ5 POSlXeoZzvmX71N+FTFbFq8rR1Enu9sR7KT2e4CgtcKusXwl2f8JMnsPbLjvhgsZHpHM OM8Z3jSOE+tVqXflOnQBSl6zBOgG/Y8xbsOL5pEVMqLFc43bK3B9n7AGVTTf7WSLbH2c 4CdA==
X-Gm-Message-State: APjAAAUjFd9JygWbvIK4zhV8NaBQfYWzGH7mmtaJMxEg0KxyPO6F2lgu TAky9Nbq+SpApK0IN/mR0h7Zl3eBKWzS1SYuOJo=
X-Google-Smtp-Source: APXvYqyPsf8tLuR/FK2Gh78sqwVtRJoMy+Gf0i/OiWoHMChAqce9aZ8SCIFcEiv2/Tk0yCGUBgx7ZEcGj6EYHLKZ9IA=
X-Received: by 2002:a65:4247:: with SMTP id d7mr78901715pgq.114.1555519845556; Wed, 17 Apr 2019 09:50:45 -0700 (PDT)
MIME-Version: 1.0
References: <CAAdgstQuMOK2YjXEc9w3yEEQJSOMBXdE_Ln3eq7n-0s7g+uucw@mail.gmail.com> <b0ad20c7-ba18-0bf7-f220-b5a9c015e963@inria.fr> <CAAdgstQmY1rpQZBpoO9Z6P4MKKw507-8FV1_wJiayXY8dmVoxg@mail.gmail.com>
In-Reply-To: <CAAdgstQmY1rpQZBpoO9Z6P4MKKw507-8FV1_wJiayXY8dmVoxg@mail.gmail.com>
From: Tengfei Chang <tengfei.chang@gmail.com>
Date: Wed, 17 Apr 2019 18:50:32 +0200
Message-ID: <CAAdgstTZeOhecACSLw3P9Q6vX3F=pCRGMdb8MbHcLVQgpyFCQg@mail.gmail.com>
To: Yasuyuki Tanaka <yasuyuki.tanaka@inria.fr>
Cc: 6tisch@ietf.org
Content-Type: multipart/alternative; boundary="000000000000d5e5fd0586bcaf81"
Archived-At: <https://mailarchive.ietf.org/arch/msg/6tisch/Mw0PsCLRBCKKatQuIFsSUnkAY7E>
Subject: Re: [6tisch] Review of draft-ietf-6tisch-msf-03
X-BeenThere: 6tisch@ietf.org
X-Mailman-Version: 2.1.29
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: Wed, 17 Apr 2019 16:50:50 -0000

After talking with Yatch, I realize I misunderstand the first comments:
(Yatch, please correct me if I said something wrong.)

For the join request/response, they are only sent on autonomous cell at the
first hop, after that, they are OK to sent on managed cell since the node
will only recognize the packet as IPv6.
For the 6P request/response,

There are two aspects we are concerning:

1. standard-complaint : now I am concerning it may be not
standard-complaint with IEEE802.15.4. The TSCH MAC layer shouldn't be able
to aware whether it's 6P or not and what is the type of it.
2. performance: we agreed that either allowing send 6P on managed cell or
not will work. Put the standard-complaint issue on the side, it's only
performance concern.

What I consider is if a 6P cell inconsistency happens, sending 6P on
managed cell may consume the number of re-transmission chance.

For example, node A has a Tx cell to node B, but node B doesn't have a Rx
cell to node A.
If node A wants to add another cell to node B by issuing a 6P ADD request,
the 6P ADD request
If 6P ADD request send on autoUpCell successfully, then there is no problem.
If not,  the ADD request will be sent later on the Tx cell but will be
failed because of inconsistent.
If there is other managed Tx Cell, the performance will be better.
If not, the ADD request will try to send on autoUpCell again but because of
backoof algorithm, it will skip it and try to send on the inconsistent Tx
cell again.
The number of re-transmission will be consumed on the Tx cell and probably
failed finally.

As a conclusion, making sure only regulating the traffic on autonomous cell
is standard complaint or not is primary.
I want to have more comments on this.
@Tero, @Pat, @pascal any comment on this?

Tengfei


On Wed, Apr 17, 2019 at 4:58 PM Tengfei Chang <tengfei.chang@gmail.com>
wrote:

> Hi Yatch,
>
> Thanks for the reviewing! I will reply your comments inline.
>
> On Tue, Apr 9, 2019 at 2:03 PM Yasuyuki Tanaka <yasuyuki.tanaka@inria.fr>
> wrote:
>
>> Thank you, the authors!
>>
>> I confirmed most of my comments to the previous version have been
>> addressed. It reads better :-)
>>
>> Here are my comments: two comments are major, the rest are minor.
>>
>>
>> [major: usage of the autonomous cell and the managed cell]
>>
>> The draft specifies rules what type of frames MUST be sent over the
>> autonomous cell. How can we implement the rules on top of TSCH MAC
>> defined by IEEE802.15.4?
>>
>> https://tools.ietf.org/html/draft-ietf-6tisch-msf-03#section-3
>> draft-03>  The traffic on the autonomous cells are scheduled as:
>> draft-03>
>> draft-03>  o  Join Request packets and 6P ADD/DELETE Request frames to the
>> draft-03>     node's Join Proxy or its RPL routing parent MUST be sent on
>> draft-03>     AutoUpCell.
>> draft-03>  o  Join Response packets and 6P ADD/DELETE Response frames to
>> the
>> draft-03>     pledge or its RPL routing child MUST be sent on
>> AutoDownCell.
>> draft-03>  o  6P RELOCATE Request frames to the node's RPL routing child
>> MUST be
>> draft-03>     sent on AutoDownCell.
>> draft-03>  o  6P RELOCATE Response frames to its RPL routing parent MUST
>> be sent
>> draft-03>     on AutoUpCell.
>>
>
> TC: For implementing, it requires some flag for the frame to mark as what
> type of 6P frames.
> TC: I agree that there are other frames that should be able to send on the
> autonomous cell according to IEEE802.15.4 standards.
> TC: Here is to limit the type frames on one cell but it doesn't break what
> defined in IEEE802.15.4 standards, IMO.
>
>>
>> https://tools.ietf.org/html/draft-ietf-6tisch-msf-03#section-5.1
>> draft-03>   Adding/removing/relocating cells involves exchanging frames
>> that
>> draft-03>   contain 6P commands.  All 6P Request frames to its parent
>> MUST be
>> draft-03>   sent on the AutoUpCell All 6P Response frames to non-parent
>> neighbor
>> draft-03>   MUST be sent on AutoDownCell.
>>
>> At draft-ietf-6tisch-msf-02, the autonomous cell and the managed cell
>> to the same neighbor are used without distinction. This is totally
>> fine and straightforward. Why do we need the change to this part?
>>
>
> TC: this is to avoid the failure of 6P frames on inconsistent managed
> cell, for example, the node has a Tx cell to parent but the parent doesn't
> have the RX cell.
> TC: Though, it will be resolved at next 6P transaction (two transactions
> actually), it will be underperformance.
>
>>
>> https://tools.ietf.org/html/draft-ietf-6tisch-msf-02#section-5.1
>> draft-02>   Autonomous cells are used indistinguishably
>> draft-02>   together with dedicated cells, for broadcast or unicast
>> traffic with
>> draft-02>   the target neighbor.  The procedure to remove autonomous
>> cells is
>> draft-02>   described in Section 3.
>>
>> To my understandings, TSCH MAC selects a cell (link) to transmit a
>> frame seeing macTxType, macLinkType, and macNodeAddress of the cell,
>> which are defined in section 8.4.2.2.2 of IEEE802.15.4-2015. TSCH MAC
>> cares only the destination MAC address and the frame type of a TX
>> frame, doesn't it?
>>
>> TC: It does in IEEE802.15.4 standard.
> TC: I am just not considering instead of caring only the destination MAC
> address and frame type, caring about more parameters is not a violation of
> standard.
> TC: Though, just in my opinion.
>
>>
>> [major: some confusions in Section 5]
>>
>> We don't need to maintain NumCellsElapsed and NumCellsUsed for RX
>> cells because managed cells have always only TX=1.
>>
>> https://tools.ietf.org/html/draft-ietf-6tisch-msf-03#section-5.1
>> draft-03>   NumCellsElapsed :  Counts the number of managed cells that
>> have
>> draft-03>       elapsed since the counter was initialized.  This counter
>> is
>> draft-03>       initialized at 0.  Each time the TSCH state machine
>> indicates
>> draft-03>       that the current cell is a managed cell to the preferred
>> parent,
>> draft-03>       NumCellsElapsed is incremented by exactly 1, regardless of
>> draft-03>       whether the cell is used to transmit/receive a frame.
>>
>> "to transmit/receive a frame" in the last sentence should be replaced
>> with "to transmit a frame", and
>>
>> draft-03>   Both NumCellsElapsed and NumCellsUsed counters can be used to
>> cell
>> draft-03>   with cell option TX=1 or RX=1.
>>
>> "with cell option TX=1 or RX=1" should be replaced with "with cell
>> option TX=1"?
>>
>> Another thing is related to what Fabrice pointed out. There is
>> something wrong in text about the RELOCATE operation. Since NumTx and
>> NumTxAck are the key counters for the RELOCATE operation, a RELOCATE
>> request is never issued for an RX cell. Then, the direction in the
>> following text is opposite...
>>
>> https://tools.ietf.org/html/draft-ietf-6tisch-msf-03#section-3
>> draft-03>  o  6P RELOCATE Request frames to the node's RPL routing child
>> MUST be
>> draft-03>     sent on AutoDownCell.
>> draft-03>  o  6P RELOCATE Response frames to its RPL routing parent MUST
>> be sent
>> draft-03>     on AutoUpCell.
>>
>
> TC: yes, accepted this comment.
> TC: As replied to Fabrice, I will remove the RX=1 cell case for the
> adapting traffic strategy in next version..
>
>>
>> One more thing:
>>
>> https://tools.ietf.org/html/draft-ietf-6tisch-msf-03#section-5.3
>> draft-03>  4.  For any other cell, it compares its PDR against that of
>> the cell
>> draft-03>      with the highest PDR.  If the different is less than
>> draft-03>      RELOCATE_PDRTHRES, it triggers the relocation of that cell
>> using
>> draft-03>      a 6P RELOCATE command.
>>
>> - s/different/difference/
>> - s/less than/larger than/ ??
>>
>> Can you check the entire text in Section 5?
>>
>
> TC: sure. Sorry for the confusing! Will be clarified in next version.
>
>>
>>
>> [minor comment #1]
>>
>> https://tools.ietf.org/html/draft-ietf-6tisch-msf-03#section-2
>> draft-03>   For example, a Trickle Timer defined in [RFC6550] MAY be
>> draft-03>   applied on DIOs.
>>
>> Do we need "MAY" here? If you implement RFC6550, DIO is automatically
>> controlled by Trickle Timer.
>>
>> TC: yes, it's a requirement.
>
>>
>> [minor comment #2]
>>
>> https://tools.ietf.org/html/draft-ietf-6tisch-msf-03#section-3
>> draft-03>   MUST use the hash function SAX [SAX-DASFAA].  The coordinates
>> are
>> draft-03>   computed to distribute the cells across all channel offsets,
>> and all
>> draft-03>   but the first time offsets of Slotframe 1.  The first time
>> offset is
>> draft-03>   skipped to avoid colliding with the minimal cell in Slotframe
>> 0.
>>
>> s/time offset/slot offset/
>>
>> TC: Thanks! I will go over the draft to make sure this is consistent.
>
>>
>> [minor comment #3]
>>
>> https://tools.ietf.org/html/draft-ietf-6tisch-msf-03#section-3
>> draft-03>    o  slotOffset(MAC) = 1 + hash(EUI64, length(Slotframe_1) - 1)
>> draft-03>    o  channelOffset(MAC) = hash(EUI64, 16)
>> draft-03>
>> draft-03>    The second input parameter defines the maxmium return value
>> of the
>> draft-03>    hash function.
>>
>> The second input should be "the maximum return value plus 1", which
>> is the parameter 'T' of SAX.
>>
>
> TC: That's correct! Will be fixed.
>
>>
>> https://tools.ietf.org/html/draft-ietf-6tisch-msf-03#appendix-B
>> draft-03>   In MSF, the T is replaced by the length slotframe 1.  String
>> s is
>> draft-03>   replaced by the mote EUI64 address.  The characters of the
>> string c0,
>> draft-03>   c1, ..., c7 are the 8 bytes of EUI64 address.
>>
>> This may be misleading. The first sentence could be...
>>
>>   For slotOffset(), T is the length of the slotframe 1. For
>>   channelOffset(), T is the number of available channels.
>>
>> TC: Will be applied in next verison. Thanks!
>
>>
>> [minor comment #4]
>>
>> https://tools.ietf.org/html/draft-ietf-6tisch-msf-03#section-3
>> draft-03>   The second input parameter defines the maxmium return value
>> of the
>> draft-03>   hash function.  There are other optional parameters defined
>> in SAX
>> draft-03>   determines the performance of SAX hash function.  Those
>> parameters
>> draft-03>   could be broadcasted in EB frame or pre-configured.
>>
>> What parameters...? The parameters to configure are be h0, l_bit,
>> and r_bit, I believe.
>>
>
> TC: yes, I didn't say that but presented in the example section. Maybe I
> should mention there though.
>
>>
>> By the way, s/maxmium/maximum/
>>
>
> TC: will be fixed! Thanks!
>
>>
>>
>> [minor comment #5]
>>
>> https://tools.ietf.org/html/draft-ietf-6tisch-msf-03#section-5.1
>> draft-03>   Implementors MAY choose to create the same counters for each
>> draft-03>   neighbor, and add them as additional statistics in the
>> neighbor
>> draft-03>   table.
>>
>> https://tools.ietf.org/html/draft-ietf-6tisch-msf-03#section-5.3
>> draft-03>   Implementors MAY choose to maintain the same counters for each
>> draft-03>   managed cell in the schedule.
>>
>> For what purposes? Do we need these sentences?
>>
>
> TC: For parent selection. In case parent switching happens, those counters
> can record the link quality of previous parent for future parent selection.
>
>>
>>
>> [minor comment #6]
>> Want to have test vectors of SAX! :-)
>>
>> TC: like givem a node EUI64 address, to have the slotoffset and choffset?
> we could.
>
>>
>> [minor comment #7]
>>
>>
>> https://tools.ietf.org/html/draft-ietf-6tisch-msf-03#section-5.1
>> draft-03>       *  If NumCellsUsed > LIM_NUMCELLSUSED_HIGH, trigger 6P to
>> add a
>> draft-03>          single cell to the preferred parent
>> draft-03>       *  If NumCellsUsed < LIM_NUMCELLSUSED_LOW, trigger 6P to
>> remove a
>> draft-03>          single cell to the preferred parent
>>
>> It would be better to put "managed" there:
>>
>> proposed>       *  If NumCellsUsed > LIM_NUMCELLSUSED_HIGH, trigger 6P to
>> add a
>> proposed>          single managed cell to the preferred parent
>> proposed>       *  If NumCellsUsed < LIM_NUMCELLSUSED_LOW, trigger 6P to
>> remove a
>> proposed>          single managed cell to the preferred parent
>>
>
> TC: will put in next version!
>
>>
>>
>> [minor comment #8]
>>
>> s/Tx Cell/TX cell/
>> s/Tx cell/TX cell/
>>
>
> TC: Will go through the text in the next version about the consistency!
> Thanks!
>
>>
>> Best,
>> Yatch
>>
>> _______________________________________________
>> 6tisch mailing list
>> 6tisch@ietf.org
>> https://www.ietf.org/mailman/listinfo/6tisch
>>
>
>
> --
> Chang Tengfei,
> Postdoctoral Research Engineer, Inria
>


-- 
Chang Tengfei,
Postdoctoral Research Engineer, Inria