Re: Intdir early review of draft-ietf-6tisch-architecture-19

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear Pascal,


> On Mar 1, 2019, at 1:29 PM, Pascal Thubert (pthubert) <pthubert@xxxxxxxxx> wrote:
> 
> Dear Carlos:
> 
> Many thanks for your early review!

Anytime, and with apologies for the delayed response!

Please see inline, with an implicit Ack for the comments I skip. Many thanks for really considering the commends and provided actionable recommendations or appropriate push back!

> 
> All the best,
> 
> Pascal
> 
>>  -----Original Message-----
>>  From: Carlos Pignataro <cpignata@xxxxxxxxx>
>>  Sent: jeudi 21 février 2019 03:35
>>  To: int-dir@xxxxxxxx
>>  Cc: 6tisch@xxxxxxxx; ietf@xxxxxxxx; draft-ietf-6tisch-architecture.all@xxxxxxxx
>>  Subject: Intdir early review of draft-ietf-6tisch-architecture-19
>> 
>>  Reviewer: Carlos Pignataro
>>  Review result: On the Right Track
>> 
>>  Reviewer: Carlos Pignataro
>>  Review result: On the Right Track -- Has (Minor) Issues
>> 
>>  I am an assigned INT directorate reviewer for <draft-ietf-6tisch-architecture-
>>  19>. These comments were written primarily for the benefit of the Internet
>>  Area Directors. Document editors and shepherd(s) should treat these
>>  comments just like they would treat comments from any other IETF
>>  contributors and resolve them along with any other Last Call comments that
>>  have been received. For more details on the INT Directorate, see
>>  https://datatracker.ietf.org/group/intdir/about/
>> 
>>  This is a fairly thick document to read and hard to digest.
> 
> Ack. This is one of the major products of the 6TISCH WG and covers 5+ years of existence.
> This work reflects rounds of design, open source implementation and ETSI-backed plugtests.
> The original intent was t ship it in phased volumes but we were discouraged to do so when we
> tried.  The bright side is an all-in-one documentation : )

:-) Ack 

> 
>> 
>>  The architectural descriptions are sensible, useful, and distilled to a
>>  meaningful and minimal set of building blocks. The fact that some blocks are
>>  scattered through various sources and his architecture acts as the confluence
>>  point adds in the difficulty in parsing.
>> 
>>  This amounts, in my humble opinion, to an opportunity to improve the
>>  document in a couple of areas: 1. There are specific depictions that would
>>  immensely improve clarity. 2. THere is an opportunity to rearrange a bit the
>>  structure of the doc, slightly.
> 
> Let's go!
> 
>> 
>>  Specifically:
>> 
>>  The Introduction is very useful. However, the first Figure in the document is a
>>  protocol stack -- instead, a reference topo, model, or architecture might help
>>  make it real.
> 
> Hum... we could move sections 3.5 and 3.6 up; I'm afraid we are undoing a move I did for an early review (was that Ralph?) but I'm like you, I prefer the other way.
> 
> The Toc Would look like this:
> 
> 3.  High Level Architecture . . . . . . . . . . . . . . . . . . .  12
>     3.1.  A Non-Broadcast Multi-Access Radio Mesh Network . . . . .  12
>     3.2.  A Multi-Link Subnet Model . . . . . . . . . . . . . . . .  13
>     3.3.  TSCH: A Deterministic MAC Layer . . . . . . . . . . . . .  15
>     3.4.  6TiSCH Stack  . . . . . . . . . . . . . . . . . . . . . .  15
>     3.5.  Scheduling TSCH . . . . . . . . . . . . . . . . . . . . .  17
>     3.6.  Routing and Forwarding Over TSCH  . . . . . . . . . . . .  19
> 

FWIW, I also much prefer this.

> 
>> 
>>  The Terminology section is very fragmented. If terms are used within an
>>  architecture, does it matter where they come from in such a harshly
>>  demarcated way? Why many subsections of terminology?
>> 
> 
> Probably because:
> - section 2 was mis named. I renamed to " Terms and References  "
> - we merged the full draft of 6TiSCH terminology in this to save IESG cycles. There are pros and cons obviously.
> 
> After the rename, the result is as follows (after removing BCP 14 text as you an Eliot recommend).
> 
> 2.  Terms and References  . . . . . . . . . . . . . . . . . . . .   4
>     2.1.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   4
>     2.2.  Abbreviations . . . . . . . . . . . . . . . . . . . . . .  10
>     2.3.  References  . . . . . . . . . . . . . . . . . . . . . . .  11

Great!

> 
>>  An Architecture is more than a stack. However, Section 3 "HL Arch" starts
>>  with Section 3.1, "Stack". Before a protocol, a System view and block
>>  interaction can flow into a protocol spec -- but the other way around seems
>>  inverse.
>> 
> 
> Yes this is now 3.4
> 

Thank you.

>>  Section 3.4 (and Section 3.3) specifically would greatly benefit from
>>  depictions of the different Forwarding + Routing models, with PCE, with RPL,
>>  etc. A view of the neighbor-to-neighbor versus a Centralized model would
>>  help, in my visual-person opinion.
> 
> This depiction exists in section 4.5. Let me add a forward pointer. I concerned to repeat too much in a doc that is already thick.
> 
>> 
>>  Section 3.7 onwards does not seem to belong in a "High Level Architecture"
>>  with detailed protocol flows and interactions.
> 
> Yes I'm moving this into section 4 as new section 4.2
> 
>> 
>>  4.7.  Distributed vs. Centralized Routing
>> 
>>  This seems to be a High-Level architectural distinction. SHould be in Section
>>  3.something?
> 
> The influence of this is spread in all subsections of section 3. I moved text that was in section 4 up.
> Also added text in the introduction to position that already once and for all, expanding existing text:
> "
>   Centralized routing refers to a model where routes are computed and
>   resources are allocated from a central controller.  This is
>   particularly helpful to schedule deterministic multi-hop
>   transmissions.  Distributed is a concurrent model that relies in more
>   classical peer to peer protocols for TSCH resource allocation and
>   routing operations.
> 
>   The architecture defines mechanisms to establish and maintain routing
>   and scheduling in a centralized, distributed, or mixed fashion, for
>   use in multiple OT environments.  It is applicable in particular to
>   highly scalable solutions such a Advance metering that leverage
>   distributed routing to address multipath over a large number of hops
>   and nodes.
> “

Thank you again.

>> 
>>  4.7.3.  Differentiated Services Per-Hop-Behavior
>> 
>>  Is there a need to include and explain ECN for Tunneling?
>> 
>>  Appendix A.  Dependencies on Work In Progress
>> 
>>  What is the plan for this Appendix, as it seems appropriate for an I-D but less
>>  so for a forever inmutable RFC.
>> 
> 
> I understand, but then there are other places where we say 'at the time of this writing'.
> Even if an RFC is immutable, it still holds a position on the flow of time and this appendix positions that.
> I'm OK to remove it, It like to see what others say first.
> 
> 

I follow your (collective) lead.

> 
>>  Minor and Nits:
>> 
>>  2.1.  BCP 14
>> 
>>     The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
>>     "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
>>  "MAY", and
>>     "OPTIONAL" in this document are to be interpreted as described in BCP
>>     14 [RFC2119][RFC8174] when, and only when, they appear in all
>>     capitals, as shown here.
>> 
>>  The document contains this boilerplate text and citations / references to RFC
>>  2119 and RFC 8174. However, it does not use any RFC 2119 keywords.
>> 
>>  The non-use of RFC 2119 keywords is appropriate given the type of
>>  architectural document this is, and thus suggest removing Section 2.1 and
>>  included / associated References.
>> 
> 
> Done. It may come back, there are id nits associated.
> 
> 
>>  2.3.  References
>> 
>>     The draft uses domain-specific terminology defined or referenced in:
>> 
>>  I would re-title Section 2.3. It is not "References". Something like
>>  "Terminology from other Documents".
>> 
>>  Super Editorials for Consideration:
>> 
>>  Abstract
>> 
>>     This document describes a network architecture that provides low-
>>     latency, low-jitter and high-reliability packet delivery.  It
>>     combines a high speed powered backbone and subnetworks using IEEE
>> 
>>  s/high speed/high-speed/
>> 
>>     TSCH:       A medium access mode of the IEEE Std 802.15.4
>>                 [IEEE802154] standard which uses time synchronization to
>>                 achieve ultra low-power operation, and channel hopping to
>> 
>>  s/ultra low-power/ultra-low-power/
>> 
>>     An overview of the the initial steps of a device in a network can be
>>     found in Section 3.7; the security aspects of the join process are
>>     further detailed in Section 6.
>> 
>>  s/the the/the/
>> 
>>     slotframes that repeat over and over.  Slotframes may collide and
>>     require a device to wake up at a same time, in which case a the
>>     slotframe with the highest priority is actually activated.
>> 
>>  s/a the/the/
>> 
>>        [I-D.ietf-6tisch-msf] influence the operation of the MAC layer to
>>        add, update and remove cells in its own, and its peers schedules
>> 
>>  s/peers schedules/peers' schedules/
>> 
>>     Within that subnet, neighbor devices are discovered with extended
>>     6LoWPAN Neighbor Discovery [RFC8505] (6LoWPAN ND), whereas RPL
>>     [RFC6550] enables routing in the so called Route Over fashion, either
>> 
>>  s/so called/so-called/
>> 
>>     wired or wireless.  The backbone can be a classical IPv6 network,
>>     with Neighbor Discovery operating as defined in [RFC4861] and
>>     [RFC4862].  This architecture requires work to standardize the the
>> 
>>  s/the the/the/
>> 
>>     As detailed in Section 4.1 the 6LoWPAN ND 6LBR and the root of the
>>     RPL network need to share information about the devices that are
>>     learned through either protocol but not both.  One way af achieving
>> 
>>  s/af achieving/of achieving/
>> 
>>     window of time is defined around the scheduled transmission where the
>>     medium must, as much as practcally feasible, be free of contending
>>     energy.
>> 
>>  s/practcally/practically/
>> 
>>     whereby a RPL parent discovers a chunk that is not used in its
>>     interference domain (e.g lack of energy detected in reference cells
>> 
>>  s/e\.g /e.g.,/
>> 
>>     With respect to Centralized routing and scheduling, it is envisionned
>>     that the related component of the 6TiSCH Architecture would be an
>> 
>>  s/envisionned/envisioned/
>> 
>>     The architecture introduces the concept of a Track, which is a
>>     directed path from a source 6TiSCH node to oe or more destination(s)
>> 
>>  s/to oe or/to one or/
>> 
>>     6TiSCH enables a mixed model of centralized routes and distributed
>>     routes.  Centralized routes can for example be computed by a entity
>> 
>>  s/a entity/an entity/
>> 
>>     In the minimal setting defined in [I-D.ietf-6tisch-minimal-security],
>>     the authentication is requires a pre-shared key, based on which a
>> 
>>  s/is requires/requires/
>> 
>>  3.5.  A Non-Broadcast Multi-Access Radio Mesh Network
>> 
>>     A 6TiSCH network is an IPv6 [RFC8200] subnet which, in its basic
>>     configuration, is a single Low Power Lossy Network (LLN) operating
>>     over a synchronized TSCH-based mesh.
>> 
>>  s/Low Power/Low-Power and/
>> 
>>  Figure 10 does not have a Label/Title.
>> 
> 
> Done all of the above, many thanks!!!
> 
>>  4.5.  On Tracks
>> 
>>  What are "Tracks"?
>> 
> 
> Yes the definition first. 4.6 is now:
> 
> "
> 4.6.  On Tracks
> 
>   The architecture introduces the concept of a Track, which is a
>   directed path from a source 6TiSCH node to one or more destination(s)
>   6TiSCH node(s) across a 6TiSCH LLN.
> 
>   A Track is the 6TiSCH instantiation of the concept of a Deterministic
>   Path as described in [I-D.ietf-detnet-architecture].  Constrained
>   resources such as memory buffers are reserved for that Track in
>   intermediate 6TiSCH nodes to avoid loss related to limited capacity.
>   A 6TiSCH node along a Track not only knows which bundles of cells it
>   should use to receive packets from a previous hop, but also knows
>   which bundle(s) it should use to send packets to its next hop along
>   the Track.
> 
> 4.6.1.  General Behavior of Tracks
> 
>   A Track is associated with Layer-2 bundles ...
> "
> 
> 


Super!

> 
>>  4.6.1.3.  Tunnel Metadata
>> 
>>  The term "Metadata" appears only 4 times in this long document, but it is
>>  really not adequatedly defined.
> 
> Yes, I wonder why I used that term. Replaced with "tunneling information”

That’s more descriptive. Thanks.


>> 
>>     At the egress 6TiSCH router, the reverse operation occurs.  Based on
>>     metadata associated to the Track, the frame is passed to the
>>     appropriate Link-Layer with the destination MAC restored.
>> 
>>  So there is a demux function using Metadata -- what kind?
>> 
> 
> Added text, now looks like
> 
> "
> 
>   At the egress 6TiSCH router, the reverse operation occurs.  Based on
>   tunneling information of the Track, which may for instance indicate
>   that the tunneled datagram is an IP packet, the datagram is passed to
>   the appropriate Link-Layer with the destination MAC restored.
> 
> 4.7.1.3.  Tunneling Information
> 
>   Tunneling information coming with the Track configuration provides
>   the destination MAC address of the egress endpoint as well as the
>   tunnel mode and specific data depending on the mode, for instance a
>   service access point for frame delivery at egress.
> 
> 
> "
> 
> Many thanks Carlos! This was very dep and useful.

Back at you.

> 
> 
> I'm publishing a version 20 before cut off, I hope that it solves the issues that you raised to your satisfaction.
> Please let me know…
> 

Most definitely does.

Best,

— Carlos.


> 
> Pascal
> 
> 





[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Mhonarc]     [Fedora Users]

  Powered by Linux