Subject: [6tisch] TSV-ART review of draft-ietf-6tisch-architecture

From: G Fairhurst <[email-masked]>
Date: Sun, 16 Jun 2019 18:07:42 +0100

TSV-ART Reviewer: Gorry Fairhurst
Review result: Ready with Issues

This document has been reviewed as part of the transport area review team's
ongoing effort to review key IETF documents. These comments were written
primarily for the transport area directors, but are copied to the document's
authors and WG to allow them to address any issues raised and also to 
the IETF
discussion list for information.

When done at the time of IETF Last Call, the authors should consider this
review as part of the last-call comments they receive. Please always CC
[email-masked] if you reply to or forward this review.

The document primarily describes an architecture that provides a link 
layer /subnet method to support IPv6 datagrams over the TSCH mode of 
IEEE 802.15.4.

Intended status
-------------

The document is proposed with standards track status, but appears to 
mainly provide informational background about the architecture. There 
are no normative requirements made. This could be published as 
informational.

* Use of References:

I suggest someone checks the presence of a large body of informative 
references to current working group documents - rather than normative 
citation of the published work.
I am concerned about citing individual work in progress within the body 
of the document:

Final para of Section 3.1 makes a reference to an individual draft that 
appears to target the ROLL WG.

Section 3.2 makes reference to an individual draft to describe multicast 
[ID.thubert…]
Section 4.1.1 makes a reference to an individual draft that appears to 
target the ROLL WG,
mentioned twice as defining something,
Section 4.1.1 makes a reference to an individual draft that appears to 
target the ROLL WG.

* References to unchartered individual work in Appendix.

Appendix A describes a set of architectural dependencies that depend on 
non-adopted (individual) documents or work not formally chartered by the 
IETF. This description raises concerns about what happens when the 
present document is published, and this work is not taken-up or some 
alternative proposal is instead pursued, it would be safer to remove 
these references - or at least to confine them to an appendix that 
clearly sets out that this work is individual work in progress.

Transport issues
--------------

* "Transport Mode"

Section 4.7.1 describes a "transport mode”, but from the perspective of 
the IETF transport area is not a transport. While there have been many 
interpretations of “transports” by SDOs and IETF Specs, I suggest it 
would beneficial to add a few words refining the meaning of the words in 
the present usage: e.g. that this does not provide a “transport 
protocol”, but provides a way to send and receive IPv6 packets that 
carry a transport protocol.

* The IPv6 Flow Label may be zero

Section 4.7.1.1 seems to imply that IPv6 packets carry a non-zero flow 
label value. Whilst I would support that desire, there are still cases 
where no flow label is set, and this casts should be described (or 
noted) in the text.

* Assumption about IPv6 MTU

Section 4.7.3 notes the IPv6 MTU is 1280 B. This is not true, please 
rewrite this sentence. It could be that the intentional was to state the 
minimum IPv6 MTU or something else was intended?

* Possible PHB - reference to not chartered transport work.

Section 4.8.3 describes a transport feature (diffserv PHB) and appears 
to promote an individual draft. The particular drafts appear to target 
tsvwg, but I do not recall these being proposed to that WG for adoption, 
and therefore this seems a little presumptuous to appear in the main 
body of text or within the architecture. The reference is also out-of-date.
- I suggest it would be sufficient to explain that a future document 
could define a PHB for this purpose and refer to the IANA registry as 
the place where IETF-defined PHBs are listed.
- Please this without citing a ref to an individual spec.?
- In addition, I think if this sections retained, it needs to be moved 
to the appendix.

Editorial Issues
-------------

The following editorial issues should be addressed:

The document makes frequent use of the phrase “in order to”, which in 
most (all?) cases could be replaced more simply by “to” without loss of 
meaning. This would remove several cases where the sentence could 
currently be mis-interpreted as requiring temporal ordering of the actions.

Section 4.3.3: “infoirmation” should be “information”.

Section 1, Sentence “Distributed is a concurrent model that..”. i could 
not understand the intended meaning of this sentence.

“such a Advance metering”. “a” maybe should be “as”? Why is Advanced 
capitalised, I think this sentence lacks some necessary explanation, 
please add, and provide a reference.

CoJP - no reference is provided to where this is specified.

---

From: "Pascal Thubert (pthubert)" <[email-masked]>
Date: Mon, 17 Jun 2019 14:58:37 +0000

Hello Gorry:

Many thanks for your review, this is much appreciated.

Please see below

> The document is proposed with standards track status, but appears to mainly

> provide informational background about the architecture. There are no

> normative requirements made. This could be published as informational.

It was originally intended informational. The discussion for the DetNet architecture lead to a different track because of external visibility - this spec is highly related to IEEE work.

As editor I'm agnostic, up to the A-Ds and I'll respect their decision.

> I am concerned about citing individual work in progress within the body of the

> document:

> Final para of Section 3.1 makes a reference to an individual draft that appears

> to target the ROLL WG.

This one is already solved: draft-thubert-roll-unaware-leaves is now https://tools.ietf.org/html/draft-ietf-roll-unaware-leaves .

It is a rather simple draft since it is the IGP counterpart of RFC 8505 but really important for low power nodes that will not need to support RPL.

> [ID.thubert...] Section 4.1.1 makes a reference to an individual draft that

> appears to target the ROLL WG, mentioned twice as defining something,

> Section 4.1.1 makes a reference to an individual draft that appears to target

> the ROLL WG.

[I-D.thubert-6lo-unicast-lookup] is an optimization. I cannot fathom its success as RFC. But it is interesting as an architectural construct.

Explaining that what this draft does is an architectural possibility is of interest in an architecture document, feels incomplete to ignore it.

Note that the feature ships using non-standard methods (e.g., derived from LISP). I'd rather cite an open document, be it a draft.

The bottom line is that 6TiSCH has been trying to build a complete architecture and doing so, found overlaps and gaps between existing RFCs.

We started a number of document in several WGs and int and rtg and working hand in hand with experts in others e.g., sec.

Some of those documents are RFCs, e.g., 8505. Others passed WGLC like the backbone router and AP ND that are cited in this spec.

This one is only in inception but still addresses a gap that must be discussed in the architecture.

Maybe I could rephrase from:

"

   A 6LBR located on the backbone may contribute to Duplicate Address

   Detection as well as Address Lookup and save multicast operations

   [I-D.thubert-6lo-unicast-lookup].

"

To

"

    The use of multicast can also be reduced on the backbone with an optional

    registrar that would contribute to Duplicate Address Detection as well as

    Address Lookup using only unicast request/response exchanges.

    <xref target="I-D.thubert-6lo-unicast-lookup"/> provides an example of how

    that can be achieved with an extension of <xref target="RFC8505"/>, using a

    6LBR as a SubNet-level registrar.

"

> Appendix A describes a set of architectural dependencies that depend on non-

> adopted (individual) documents or work not formally chartered by the IETF.

> This description raises concerns about what happens when the present

> document is published, and this work is not taken-up or some alternative

> proposal is instead pursued, it would be safer to remove these references - or

> at least to confine them to an appendix that clearly sets out that this work is

> individual work in progress.

Makes sense. I took the latter approach.

The bottom line is that we could build interoperable 6TiSCH stacks without any of those features, IOW they are optional and future optimizations (e.g., zerotouch, broadcast reduction, etc...).

I had to rework the appendix to sort that out. The result looks like:

"

   Appendix A.  Related Work In Progress . . . . . . . . . . . . . .  61
     A.1.  Chartered IETF work items . . . . . . . . . . . . . . . .  61
     A.2.  Unchartered IETF work items . . . . . . . . . . . . . . .  62
       A.2.1.  6TiSCH Zerotouch security . . . . . . . . . . . . . .  62
       A.2.2.  6TiSCH Track Setup  . . . . . . . . . . . . . . . . .  62
       A.2.3.  Using BIER in a 6TiSCH Network  . . . . . . . . . . .  63
     A.3.  External (non-IETF) work items  . . . . . . . . . . . . .  63

"

> Section 4.7.1 describes a "transport mode", but from the perspective of the

> IETF transport area is not a transport. While there have been many

> interpretations of "transports" by SDOs and IETF Specs, I suggest it would

> beneficial to add a few words refining the meaning of the words in the present

> usage: e.g. that this does not provide a "transport protocol", but provides a

> way to send and receive IPv6 packets that carry a transport protocol.

The language is inherited from IPSec http://www.firewall.cx/networking-topics/protocols/870-ipsec-modes.html

I agree we should migrate to a different terminology as DetNet did in a similar collision situation recently.

Would "native" work? By default I'll migrate to that.

> Section 4.7.1.1 seems to imply that IPv6 packets carry a non-zero flow label

> value. Whilst I would support that desire, there are still cases where no flow

> label is set, and this casts should be described (or

> noted) in the text.

In general hope it's zero since a non-zero cannot be compressed : )

But for a Track we need a flow ID. DetNet has immensely progressed on IP and now

We have a reference for the words in that section, so I changed to:

"

              In native mode, the Protocol Data Unit (PDU) is associated

               with flow-dependent meta-data that refers uniquely to the Track,

               so the 6top sublayer can place the frame in the appropriate cell

               without ambiguity. In the case of IPv6 traffic, this flow

               identification may be done using a 6-tuple as discussed in

               [I-D.ietf-detnet-ip].

               The flow identification is validated at egress before restoring

               the destination MAC address (DMAC) and punting to the upper layer.

"

> Section 4.7.3 notes the IPv6 MTU is 1280 B. This is not true, please rewrite this

> sentence. It could be that the intentional was to state the minimum IPv6 MTU

> or something else was intended?

The 6LoWPAN MTU is 1280, though it is the IPv6 Minimal MTU.  Proposed change:

"

   Considering that 6LoWPAN packets can be as large as 1280 bytes (the

   IPv6 MTU)

"

->

"

   Considering that per section 4 of [RFC4944] 6LoWPAN packets can be as

   large as 1280 bytes (the IPv6 minimum MTU)

"

> Section 4.8.3 describes a transport feature (diffserv PHB) and appears to

> promote an individual draft. The particular drafts appear to target tsvwg, but I

> do not recall these being proposed to that WG for adoption, and therefore this

> seems a little presumptuous to appear in the main body of text or within the

> architecture. The reference is also out-of-date.

> - I suggest it would be sufficient to explain that a future document could define

> a PHB for this purpose and refer to the IANA registry as the place where IETF-

> defined PHBs are listed.

> - In addition, I think if this sections retained, it needs to be moved to the

> appendix.

Ack. The section now reads:

"

4.8.3.  Differentiated Services Per-Hop-Behavior

   A future document could define a PHB for Deterministic Flows, to be

   indicated in the IANA registry where IETF-defined PHBs are listed.

"

The reference was removed.

> The document makes frequent use of the phrase "in order to", which in most

> (all?) cases could be replaced more simply by "to" without loss of meaning.

Scanned and applied

> This would remove several cases where the sentence could currently be mis-

> interpreted as requiring temporal ordering of the actions.

Good!

> Section 4.3.3: "infoirmation" should be "information".

Applied

> Section 1, Sentence "Distributed is a concurrent model that..". i could not

> understand the intended meaning of this sentence.

Proposed change

"

         In contrast, Distributed Routing refers to a model that relies on the

         concurrent peer to peer protocol exchanges for TSCH resource allocation

         and routing operations.

"

> "such a Advance metering". "a" maybe should be "as"? Why is Advanced

> capitalised, I think this sentence lacks some necessary explanation, please add,

> and provide a reference.

Great point. I modified the sentence as follows, adding a link to DoE.

"

   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 as used in the Advanced Metering

   Infrastructure [AMI] solutions that leverage distributed routing to

   enable multipath forwarding over large LLN meshes.

"

   [AMI]      US Department of Energy, "Advanced Metering Infrastructure

              and Customer Systems", 2006,

              <https://www.energy.gov/sites/prod/files/2016/12/f34/

              AMI%20Summary%20Report_09-26-16.pdf>.

> CoJP - no reference is provided to where this is specified.

JP is now introduced as:

"

   CoJP (Constrained Join Protocol):  The Constrained Join Protocol

               (CoJP) enables a pledge to securely join a 6TiSCH network

               and obtain network parameters over a secure channel.

               Minimal Security Framework for 6TiSCH

               [I-D.ietf-6tisch-minimal-security] defines the minimal CoJP

               setup with pre-shared keys defined.  In that mode, CoJP

               can operate with a single round trip exchange.

"

Please let me know if the changes are OK and I'll publish a revision.

Again, many thanks Gorry!

Pascal