Re: [6tisch] call for review: draft-ietf-6tisch-msf-04

Tengfei Chang <tengfei.chang@gmail.com> Wed, 17 July 2019 15:31 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 BD6BE12079E for <6tisch@ietfa.amsl.com>; Wed, 17 Jul 2019 08:31:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.997
X-Spam-Level:
X-Spam-Status: No, score=-1.997 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_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=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 r-k2bELeOsiC for <6tisch@ietfa.amsl.com>; Wed, 17 Jul 2019 08:31:43 -0700 (PDT)
Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com [IPv6:2607:f8b0:4864:20::62e]) (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 D46B012074C for <6tisch@ietf.org>; Wed, 17 Jul 2019 08:31:43 -0700 (PDT)
Received: by mail-pl1-x62e.google.com with SMTP id ay6so12156424plb.9 for <6tisch@ietf.org>; Wed, 17 Jul 2019 08:31:43 -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=NCFQtmMrf3gFY4P2jqHXoCVnoHPuJ7xOeNlWuiT4W2s=; b=fNgbPT6TDzwyt/aU5mmocCr9SlKRVL//p17qMoaoyH72tc3rMeCEm1QG3Uwv5FfzG9 eLsajeNdgxlFHOcYBxE0iZqJwN5fa0117RB+gejVHLSrBCObWpcSAaYt3wm2VRVWX4lt 9hbchLdRPcRiXZDI5D0eqAZJCYSXY3cRq+9FrslRde7p+NEStsp7Cmpz2V5Iwo3uQwHs BMJ45Tl8IAUF0k3UJoKy8pr4M8BPchonpSX0rJww0xqdrG5XDki39OzGwTB2undER3/y PloVtnKAS1JmRpDfsA7C78oEaiqpAshpl9exkNeVvvK1juCbC7eMxoSyMI3pLH+tSLKU oHkg==
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=NCFQtmMrf3gFY4P2jqHXoCVnoHPuJ7xOeNlWuiT4W2s=; b=TYnGRK9k0JohAdWi/04OhvyRFbho3hTrNzS3+NMkZVtTMSSfb3QZglzyYiBHiWlgsH Wh1j9XkSIMPuoGmcwL74hT5aYEgpju2nsn69Eif3ElVjr3cP82UhidfR5DovThYWWXgE XRWtFPY+85IigfnnVUnbB2stIO5MLQGBJvSDdM0xvmuvKdLj/CXlEiavC98UK0WZP6bZ 3IvGPTDQMZ5GjOt+zNaBUwrN+S8wBr/MNRvZ/sfd5EhK9GCZeZTKH8aVqaoLxxaG/74m M27kyelbUoF1il55v+AKUYMqb5gJ7oThxFBxrxhjxgOQ2o+f26p9na3wLIJRG5e59R1y +yGg==
X-Gm-Message-State: APjAAAUPQG0tMvWom7iFnd6j+EitReMtgGmBhxUdEpUuoHnCkQ72dXmh cm/NF92ZL5lnyO1Hms2dJcix1NN1i+siTIaRGcc=
X-Google-Smtp-Source: APXvYqwRTWv/klAspK8Or7WWoBRnOed6y22rAQxRQuNdaVSPLpfnGDLGxRn6cVBjjq0i0f3p6fdCBB30DX0XjAR7IbY=
X-Received: by 2002:a17:902:b582:: with SMTP id a2mr44517227pls.128.1563377503168; Wed, 17 Jul 2019 08:31:43 -0700 (PDT)
MIME-Version: 1.0
References: <CAAdgstQHZ8KCtfLx+dmU=F2SLtvE1HTeSGJU8i2GPo7_798i3g@mail.gmail.com> <MN2PR11MB356563F2C214702BCE2E4E9BD8FA0@MN2PR11MB3565.namprd11.prod.outlook.com> <CAAdgstR=A7=Kxi4=GPZyFVrPse4DUc67ePoumB2AdquKdELN3A@mail.gmail.com> <MN2PR11MB3565C73190BA0063B9972DAED8F60@MN2PR11MB3565.namprd11.prod.outlook.com> <CAAdgstTB051qELAKSaqsJB-1Jek5QKDx1AFXXkX_VK0nnzoGvA@mail.gmail.com> <MN2PR11MB3565254F897A295D78A334BFD8F00@MN2PR11MB3565.namprd11.prod.outlook.com> <CAAdgstQWTbgtE78mHXny8LaqQf9gQdfYwD2bhuf4BC9py8UU-A@mail.gmail.com> <MN2PR11MB35651E7876A925871BC6A13DD8C90@MN2PR11MB3565.namprd11.prod.outlook.com>
In-Reply-To: <MN2PR11MB35651E7876A925871BC6A13DD8C90@MN2PR11MB3565.namprd11.prod.outlook.com>
From: Tengfei Chang <tengfei.chang@gmail.com>
Date: Wed, 17 Jul 2019 17:31:30 +0200
Message-ID: <CAAdgstQBQ4=oqKVB0R-JiOt6YC8s9oXAOhpGet2KLGUJqgVo0g@mail.gmail.com>
To: "Pascal Thubert (pthubert)" <pthubert@cisco.com>
Cc: "6tisch@ietf.org" <6tisch@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000b9eef5058de230f8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/6tisch/kdmzIK1mc_vEEckic6SRxi_Lrj4>
Subject: Re: [6tisch] call for review: draft-ietf-6tisch-msf-04
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 Jul 2019 15:31:48 -0000

Hi Pascal,

It is good for me to confirm it is about the hidden terminal collision
issue. Great!

For your first question that where those cells come from, it is not
mentioned in the MSF draft, but what I assumed is using the CDU matrix.

I understand what you are saying and agree the collision could happen
without performing CCA.
But with 101 slotframe length and 16 channels,  the chance to choose the
same cell (slot,channel) for two nodes in the same propagation range is
around 1/1616.
Though, along more cells are scheduled, the probability goes higher,  it's
fine with the fact most of the application doesn't have much traffic load
(less than packet / second).

The complexity to introduce CCA to have a collision-free schedule looks for
me not worthy, comparing to use simple, but maybe long discovering process
strategy, according to my opinion.

Tengfei

On Wed, Jul 17, 2019 at 4:02 PM Pascal Thubert (pthubert) <
pthubert@cisco.com> wrote:

> Hello Tengfei:
>
>
>
> You start from a cell list from which a parent can select cells to talk
> with its children. But where do those cells come from?
>
> Is that all the CDU matrix? Or a chunk off it (see discussion in Archie)?
> Or just a pseudo-random selection, possibly dependent on that parent’s MAC?
>
>
>
> Bottom line is that unless there is a central entity that allocates a non
> -overlapping chunk for each parent there might be a cell CellA that parent
> P1 wants to use with child C1 and parent P2 wants to use with child C2. If
> P1 allocates CellA first, then P2 should discover that and refrain from
> using it. For that, P2 needs to monitor (CCA) CellA before it allocates it.
> This is the same idea as listen-before-talk but applied to cell allocation.
> Ideally, once a parent proposes a cell to a child for parent-> child
> communication, the child should also listen to the cell before accepting in
> order to avoid the hidden terminal collision.
>
>
>
> The process of discovering later that the cell collisions is long and
> inefficient. If the cells are not used a lot it will take time. I disagree
> that it can be the sole procedure to avoid collisions.
>
>
>
> All the best,
>
>
>
> Pascal
>
>
>
> *From:* Tengfei Chang <tengfei.chang@gmail.com>
> *Sent:* mercredi 17 juillet 2019 06:12
> *To:* Pascal Thubert (pthubert) <pthubert@cisco.com>
> *Cc:* 6tisch@ietf.org
> *Subject:* Re: [6tisch] call for review: draft-ietf-6tisch-msf-04
>
>
>
> Hi Pascal,
>
>
>
> For the synchronization, I agree. It should be listening for a
> certain period of time and then choose which EB to use for synchronizing.
> Will update in the next version.
>
>
>
> For the rule of celllist:
>
>    - > Not the same problem. Think about this, where does the list of
>    free cells come from? How does the parent decided let me propose cells 5,
>    6, 7 and 10?
>
>
>
> Any cells that not being used by the node or marked as "locked" are a
> candidate cell in the celllist. The parent just randomly select several
> cells from them.
>
>
>
>
>
>    - > One possibility is that the controller has given them away as a
>    chunk of cells that the parent manages, we have text in Archie for that.
>    - > The other is that the parent picks them pseudo randomly. Which
>    means that another parent next to him might pick the same. If that is the
>    case they will collide
>
>
>
> Actually I didn't get what you say here about the parent and another
> parent , you mean a node has two parents?
>
>
>
> The 6P packets are negotiated only with one hop neighbor node, I agree the
> same cells could be scheduled  by other links in the same propagation
> range, which is the "hidden terminal" issue.  MSF won't trying to resolve
> it when choosing cell. It could  later on use the reallocation process to
> move the colliding cell to another place as mentioned in
> https://tools.ietf.org/html/draft-ietf-6tisch-msf-05#section-5.3
>
>
>
> For each node, as long as those cells are free to allocate according to
> its own schedule, that's fine.  If there are two on going 6P transactions
> for one node with different neighbors, the "locked" feature can resolve it.
>
>
>
>    - > This is an impolite behavior, the sort why we do CCA / LBT. In
>    TSCH CCA and LBT are useless between synchronized nodes within a cell, but
>    they can be useful before pseudo randomly grabbing a cell to add to the
>    schedule. That cell should be observed using CCA for a while before it is
>    proposed to the child in 6P. IOW there should be a pool of cells that are
>    not used (yet) but observed (CCA) so you know you can allocate them safely
>    later.
>
>
>
> Tengfei
>
>
>
>
>
> On Wed, Jul 10, 2019 at 11:54 AM Pascal Thubert (pthubert) <
> pthubert@cisco.com> wrote:
>
> Hello Tengfei
>
>
>
> I think you missed my points
>
>
>
> Ø    The text was not expected to become normative as is; obviously the
> usual ways apply like time out if some but not all beacons are received and
> sync to the best.
>
> Ø
>
>
>
> Yes, I agree with what you said, I replied with a wrong typing word. What
> I mean is: I have changed the sentence as you suggested:
>
> It's rephrased as:
>
>
>
> During this step, the pledge SHOULD NOT synchronize until it received
>
>    enough EB from the network it wishes to join.
>
>
>
> Ø    I meant if you are configured to get 10 beacons but after an hour
> you get only one, will you wait for 1000 years?
>
> Ø  During this step, the pledge SHOULD NOT synchronize until it received
>
> Ø     enough EB from the network it wishes to join or times out trying
>
>
>
>
>
> And here there should be an idea of a value for a number of beacons and a time out value. IESG reviews will ask that anyway so you better have something meaningful already.
>
>
>
>
>
>  “
> 8 <https://tools.ietf.org/html/draft-ietf-6tisch-msf-04#section-8>.
> Rules for CellList
>
>
>
> “
>
> Maybe add a rule to listen to the cells for a few slotframes to ensure
> that they are not used by neighbors. This can be done proactively, like the
> node monitors the 5 randomly chosen cells all the time, even when there is
> no excess traffic, so a list of empty cells is ready when needed.
>
>
>
> I think it's not necessary to listen on the cells because when the 6P
> transaction starts , those cells should be locked and not be applied for
> other 6P transactions.
>
>
>
>
>
>    - The point is that another pair of devices may have negotiated a cell
>    that shows in the list, which you may discover if you screen the cells you
>    want to use before you start using them.
>    - It really depends if you have a pool of cells that you own (e.g.,
>    admin) or just grab them pseudorandomly. In the latter case no checking the
>    cells is impolite, and checking them just before using them may miss a
>    partial usage. Listening to a pool of cell even when you do not allocate
>    them is safer.
>
>
>
>
>
> I think this feature is defined in 6TOP  (RFC8480) with the term locked:
>
>
>
>    Nodes A and B MAY support having two transactions going on at the
>
>    same time, one in each direction.  Similarly, a node MAY support
>
>    concurrent 6P Transactions with different neighbors.  In this case,
>
>    the cells involved in an ongoing 6P Transaction MUST be "*locked*"
>
>    until the transaction finishes.  ......
>
>    If the requested cells are locked, it MUST reply to
>
>    that request with a 6P Response with return code RC_ERR_LOCKED (as
>
>    per Figure 38).  The node receiving RC_ERR_BUSY or RC_ERR_LOCKED MAY
>
>    implement a retry mechanism as defined by the SF.
>
>
>
>
>
>    - Not the same problem. Think about this, where does the list of free
>    cells come from? How does the parent decided let me propose cells 5, 6, 7
>    and 10?
>    - One possibility is that the controller has given them away as a
>    chunk of cells that the parent manages, we have text in Archie for that.
>    - The other is that the parent picks them pseudo randomly. Which means
>    that another parent next to him might pick the same. If that is the case
>    they will collide
>    - This is an impolite behavior, the sort why we do CCA / LBT. In TSCH
>    CCA and LBT are useless between synchronized nodes within a cell, but they
>    can be useful before pseudo randomly grabbing a cell to add to the
>    schedule. That cell should be observed using CCA for a while before it is
>    proposed to the child in 6P. IOW there should be a pool of cells that are
>    not used (yet) but observed (CCA) so you know you can allocate them safely
>    later.
>
>
>
> Thanks a lot again for reviewing the draft and the comments!
>
>
>
> That’s a great spec  : )
>
>
>
>
>
> Pascal
>
>
>
>
>
> --
>
> Chang Tengfei,
>
> Postdoctoral Research Engineer, Inria
>


-- 
Chang Tengfei,
Postdoctoral Research Engineer, Inria