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

From: "Pascal Thubert (pthubert)" <[email-masked]>
Date: Mon, 17 Jun 2019 15:08:36 +0000

Interestingly, I received an echo of my response truncated, no idea why. Just in case, attaching what I really sent here..

Subject: RE: [6tisch] TSV-ART review of draft-ietf-6tisch-architecture
From: "Pascal Thubert (pthubert)" <[email-masked]>
To: G Fairhurst <[email-masked]>, "[email-masked]" <[email-masked]>
Cc: "[email-masked]" <[email-masked]>, "[email-masked]" <[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

> 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.

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.

> * 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.

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.

> 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.

[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.

"

> * 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.

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

"

> 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 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.

> * 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.

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.

"

> * 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?

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)

"

> * 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.

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.

> 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.

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

---

From: G Fairhurst <[email-masked]>
Date: Tue, 18 Jun 2019 15:36:45 +0200

Please see my responses tagged GF1 below,

On 17/06/2019, 17:08, Pascal Thubert (pthubert) wrote:
>
> Interestingly, I received an echo of my response truncated, no idea 
> why. Just in case, attaching what I really sent here..
>
Hello Gorry:

Please see below

 > 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.

[GF1]: There may be good reasons why this standards-track, but these 
should be clear. At least for me, this means my review will be more 
detailed.

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.

[GF1]: Sound like this has been resolved.

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

[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.

"

"

To

"

"

[GF1]: Thanks this is heading in a good direction, but I think your 
response makes me suggest the context of the citation needs to be clear. 
The word /optional/ doesn't really help. Is it possible to say something 
more like " this is a proposed method that presents an example of how to 
.... " - to clearly show this is NOT a thing yet being progressed in the 
IETF.

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…).

“

"

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

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

 > 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.

[GF1]: "Native" is fine, explaining "transport mode" could also fine 
(it's too late to claim we can fix this definition consistenly in all 
documents, so I am only insisting that you explain your meaning of the term.

 > 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

“

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

“

[GF1]: The new text is fine. I would also not have objected to 
"Implementations of this document SHOULD support identification of 
DetNet flows based on the IPv6 Flow Label field" - esepcillay, if you 
wish endpoints to set a non-zero value.

“

    IPv6 MTU)

“

->

“

“

[GF1]: This addresses my comment.

“

“

[GF1]: Sure. (By the way, should there be consensus, such work could be 
proposed in TSVWG.)

 > 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

Good!

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

Applied

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

Proposed change

“

and routing operations.

“

[GF1]: OK.

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

“

“

[GF1]: OK.

JP is now introduced as:

“

“

[GF1]: Thanks, OK.

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

Pascal

---

[GF1]: Thank you Pascal for providing these responses. I think you now 
have good text to address the issues I noted. Theer are one or two 
points that above you may wish to refine your update.

The following issue remains, and will need someone else to assess this:

Intended document status - as standards track or informational?

Gorry

(cc'ed to TSV-ART for the benefit of others tracking this review.)

---

From: "Pascal Thubert (pthubert)" <[email-masked]>
Date: Wed, 19 Jun 2019 09:50:18 +0000

Hello Gorry

I removed the items that appear to be resolved. Please see more below indexed with <PT1>
 
> architecture lead to a different track because of external visibility - this spec is
> highly related to IEEE work.
> 
> [GF1]: There may be good reasons why this standards-track, but these should
> be clear. At least for me, this means my review will be more detailed.

<PT1> That decision belongs to Suresh. I'll welcome your more detailed review if it comes.
Please note that most of the authors and the editor are non-native, but that we have an excellent RFC editor and this will compensate that I'm sure.

> [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.
> 
> [GF1]: Thanks this is heading in a good direction, but I think your response
> makes me suggest the context of the citation needs to be clear.
> The word /optional/ doesn't really help. Is it possible to say something more
> like " this is a proposed method that presents an example of how to .... " - to
> clearly show this is NOT a thing yet being progressed in the IETF.
> 

<PT1> Sure. Removed optional and inserted your proposed language.
The proposed text is now as follows
"
   The use of multicast can also be reduced on the backbone with a
   registrar that would contribute to Duplicate Address Detection as
   well as Address Lookup using only unicast request/response exchanges.
   [I-D.thubert-6lo-unicast-lookup] is a proposed method that presents
   an example of how to this can be achieved with an extension of
   [RFC8505], using a 6LBR as a SubNet-level registrar.

"

> [GF1]: "Native" is fine, explaining "transport mode" could also fine (it's too late
> to claim we can fix this definition consistenly in all documents, so I am only
> insisting that you explain your meaning of the term.

<PT1> I think it's OK to migrate to native. The work on that piece has not started
 yet. This is expected t come from RAW, for which a WG-forming BoF that will
 not happen in Montreal.

> [GF1]: The new text is fine. I would also not have objected to "Implementations
> of this document SHOULD support identification of DetNet flows based on the
> IPv6 Flow Label field" - esepcillay, if you wish endpoints to set a non-zero
> value.
> 

<PT1>  Added the text. Note that this creates a ref to BCP 14. To keep it
(std vs info) Track agnostic, I lowercased the SHOULD. Also restored text 
That indicates the RPL way to signal a flow. Note that the original design
was to encode the Instance ID in the Flow label but this faced too much
headwinds at 6MAN. The section now reads:

"
   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].  In
   particular, implementations of this document should support
   identification of DetNet flows based on the IPv6 Flow Label field.
   The flow identification may also be done using a dedicated RPL
   Instance (see section 3.1.3 of [RFC6550]), signaled in a RPL Packet
   Information (more in section 11.2.2.1 of [RFC6550]).  The flow
   identification is validated at egress before restoring the
   destination MAC address (DMAC) and punting to the upper layer.

"

> [GF1]: Sure. (By the way, should there be consensus, such work could be

Shitanshu presented at TSVWG some years ago but the draft was stalled since.
DetNet has taken over the whole subject so I'd say it is in good hands.

---

From: G Fairhurst <[email-masked]>
Date: Wed, 19 Jun 2019 11:57:28 +0200

See below,

On 19/06/2019, 11:50, Pascal Thubert (pthubert) wrote:
> Hello Gorry
>
> I removed the items that appear to be resolved. Please see more below indexed with<PT1>
>
[GF2]: I am confident you and Suresh will make a good proposal.
>> that can be achieved with an extension of<xref target="RFC8505"/>, using a
>>
[GF2]: Looks good to me, although maybe this could be: /how to this can 
be /how this could be/.

>   yet. This is expected t come from RAW, for which a WG-forming BoF that will
[GF1]: Please do the right thing, thanks.
>     destination MAC address (DMAC) and punting to the upper layer.
[GF2]: This seems appropriate, thanks.
> Again, many thanks Gorry!
[GF2]: From my side you have addressed my comments, thanks for the 
prompt action.

Gorry