Re: [6lo] BBR versus rfc6775-update document

"Pascal Thubert (pthubert)" <pthubert@cisco.com> Thu, 07 June 2018 09:45 UTC

Return-Path: <pthubert@cisco.com>
X-Original-To: 6lo@ietfa.amsl.com
Delivered-To: 6lo@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 366C5131025 for <6lo@ietfa.amsl.com>; Thu, 7 Jun 2018 02:45:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.499
X-Spam-Level:
X-Spam-Status: No, score=-14.499 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 z0IcjszTeQO4 for <6lo@ietfa.amsl.com>; Thu, 7 Jun 2018 02:45:10 -0700 (PDT)
Received: from alln-iport-2.cisco.com (alln-iport-2.cisco.com [173.37.142.89]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2D8BA13100F for <6lo@ietf.org>; Thu, 7 Jun 2018 02:45:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=50018; q=dns/txt; s=iport; t=1528364710; x=1529574310; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=GVfBeXlqzIRw7DyJpw+9vS+mpknkC9T/7RANhcDDuMs=; b=J36BhjIDyd5kGfe/Hw105UHsWFDfK5zwof50Q+ZnJ8KadBR+fCgICTM3 HhT5NKon39msh8FvlGHE3e51GymK8Mxzy+u/ult3l9kF3N6Ng5BtWlakw 9FKuXOk82zLFFV376yx9VD+fuYLIaXTgHlabqy5O0JjZNWBJF4ELuekn3 4=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0DbAQA3/Rhb/4QNJK1TChkBAQEBAQEBAQEBAQEHAQEBAQGCTkcuYn8oCoNulGuBeXWTXYF4C4RsAheCJCE1FwECAQEBAQEBAmwohSgBAQEEGgkKQQsQAgEIDgMEAQEhAQkCAgIwHQgCBAEJBAUIE4MJgRtMAxWqBIIcH4gxgWiIQoFUP4EOAYIOSTWCT4F5MgcJDxKCSII1IAKHKyGRLwkCiEWGGoFGg3uHbYYKgV+JGwIREwGBJB4BNoFScBU7gkOCIBeOF2+OHwIkBAOBAYEZAQE
X-IronPort-AV: E=Sophos;i="5.49,486,1520899200"; d="scan'208,217";a="126298099"
Received: from alln-core-10.cisco.com ([173.36.13.132]) by alln-iport-2.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Jun 2018 09:45:08 +0000
Received: from XCH-ALN-005.cisco.com (xch-aln-005.cisco.com [173.36.7.15]) by alln-core-10.cisco.com (8.14.5/8.14.5) with ESMTP id w579j85C028993 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Thu, 7 Jun 2018 09:45:08 GMT
Received: from xch-rcd-001.cisco.com (173.37.102.11) by XCH-ALN-005.cisco.com (173.36.7.15) with Microsoft SMTP Server (TLS) id 15.0.1320.4; Thu, 7 Jun 2018 04:45:08 -0500
Received: from xch-rcd-001.cisco.com ([173.37.102.11]) by XCH-RCD-001.cisco.com ([173.37.102.11]) with mapi id 15.00.1320.000; Thu, 7 Jun 2018 04:45:08 -0500
From: "Pascal Thubert (pthubert)" <pthubert@cisco.com>
To: Charlie Perkins <charles.perkins@earthlink.net>, "6lo@ietf.org" <6lo@ietf.org>
CC: Suresh Krishnan <Suresh@kaloom.com>
Thread-Topic: BBR versus rfc6775-update document
Thread-Index: AQHT/iZKbHhiBBUea0+rU4J0M/a/CKRUeLDA
Date: Thu, 07 Jun 2018 09:44:55 +0000
Deferred-Delivery: Thu, 7 Jun 2018 09:44:43 +0000
Message-ID: <09f2bf90a4b24f9fa96d4a0cec5b1f99@XCH-RCD-001.cisco.com>
References: <58ba78fc-c43b-c1d5-0043-f291f336dd1e@earthlink.net> <866fae86-d1c8-a6db-1bd9-2de05f333983@earthlink.net>
In-Reply-To: <866fae86-d1c8-a6db-1bd9-2de05f333983@earthlink.net>
Accept-Language: fr-FR, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.228.216.36]
Content-Type: multipart/alternative; boundary="_000_09f2bf90a4b24f9fa96d4a0cec5b1f99XCHRCD001ciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/6lo/QAenGN-CBQVB-QZ4Ez_nQPNxj7M>
Subject: Re: [6lo] BBR versus rfc6775-update document
X-BeenThere: 6lo@ietf.org
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: "Mailing list for the 6lo WG for Internet Area issues in IPv6 over constrained node networks." <6lo.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/6lo>, <mailto:6lo-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/6lo/>
List-Post: <mailto:6lo@ietf.org>
List-Help: <mailto:6lo-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/6lo>, <mailto:6lo-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 07 Jun 2018 09:45:18 -0000

Hello Charlie :

I disagree, quite strongly. Your proposal makes full sense and is the way specs build on others and  this progress historically. Our effort here is different. We build this spec in order to enable the other 2, AP-ND and 6BBR. The key point is to allow a node that implement only this spec to interact with a node that implements AP ND or 6BBR or both. This is why, here, we provide the abstract ‘interface’ to those, while the other docs provide the ‘implementation’.

Note that thanks to Samita, we already did a good clean up removing extraneous 6BBR details. I’m not saying that we did not miss things, but that there is a design point overall that we want to preserve, and that is different from the one you acted upon.

Please see below for more, if that helps refine the thinking, but the above is the core of it:

From: Charlie Perkins <charles.perkins@earthlink.net>
Sent: jeudi 7 juin 2018 08:11
To: 6lo@ietf.org
Cc: Pascal Thubert (pthubert) <pthubert@cisco.com>; Suresh Krishnan <Suresh@kaloom.com>
Subject: BBR versus rfc6775-update document


Hello folks,

I still think it would be a significant improvement to refactor the specification of the 6BBR mandates to live entirely within draft-ietf-6lo-backbone-router (BBR).  For that reason, I have prepared a summary of the changes to draft-ietf-6lo-rfc6775-update (6775bis) that would be required.  I left out a few occurrences of the term 6BBR that could obviously be deleted.  All citations of I-D.ietf-6lo-backbone-router would also be deleted.  It might be argued that some of the current citations of the BBR document represent normative references.


   o  Registration via an IPv6 ND proxy over a Backbone Link (6BBR)


This bullet point would fit well in BBR and does not need to be in 6775bis.



[PT>] disagree, This is a motivation for the work, it is good to list it.
   Backbone Router (6BBR):  A logical network function in an IPv6 router
         that proxies the 6LoWPAN ND operations specified in this
         document to assure address uniqueness and other functions
         required so that multiple LLNs can operate as a single IPv6
         network.


This definition already needs to be in BBR.

[PT>] Untrue in the current state of the doc which is a effectively where the concept of a 6BBR is introduced though its operation is abstracted. This spec does not need to know the gory details of how 6BBRs work, but it imposes things that any 6BBR would be doing, like meaning/use of the “moved” code. This must be treated correctly but 6LR/6LRs regardless of a whether they have a deeper knowledge of the 6BBR. This is why it is all there. IOW, this spec introduces an abstract 6BBR and proposes an “Interface” to it, and the 6BBR spec proposes an implementation for it.


                                                                   In a
         Route-Over network, a 6LBR may register the 6LN to the 6BBR.



This sentence should be deleted from 6775bis definition for "Registration", regardless of BBR.
   |   5   | Validation Requested: The Registering Node is challenged  |
   |       | for owning the Registered Address or for being an         |
   |       | acceptable proxy for the registration.  A registrar (6LR, |
   |       | 6LBR, 6BBR) MAY place this Status in asynchronous DAC or  |
   |       | NA messages.                                              |



Here, the list of registrars does not need to include 6BBR, and the BBR document would simply add 6BBR as a registrar.  By the way, "registrar" is an undefined term in 6775bis, and it does merit a definition.

[PT>] that would work, but is not the way this document was designed. Not that the code itself could be added with AP ND. But the reason we structured all this this way is that any compliant node (with this spec only) can coexist with another that implements one of the 2 other specs on top. This is a key design point here: we want to benefit from the fact that the 3 specs are designed together to avoid backward compatibilities issues.




   The new "L", "B", and "P" flags, indicate whether a router is capable
   of acting as 6LR, 6LBR, and 6BBR, respectively.  These flags are not
   mutually exclusive; an updated node can advertise multiple collocated
   functions.



Logically speaking, "L" and "B" should be defined in 6775bis, and "P" should be defined in BBR.

[PT>] In a flat network, a 6LN (say a Wi-Fi node) can register directly with a 6BBR (in an AP) using this spec only, and get reachability back. Since there is no proxy operation registering on behalf of the 6LN (like a 6LBR would) there is nothing special to do. This would probably work if the abstract 6BBR is implemented using a routing protocol as opposed to proxy ND with the backbone.
                     Figure 4: (Re-)Registration Flow


Figure 4 in 6775bis should be modified so that the proxy NS and proxy NA are not shown in 6775bis, but the current Figure 4 should be situated within the BBR document with explanations about the proxy messages and NS(DAD) operation.

Old in 6775bis:
   o  The Target Address in the NS containing the EARO is now the field
      that indicates the address that is being registered, as opposed to
      the Source Address field as specified in [RFC6775] (see
      Section 5.5).  This change enables a 6LBR to use one of its
      addresses as source of the proxy-registration of an address that
      belongs to a LLN Node to a 6BBR.  This change also avoids in most
      cases the use of an address as source address before it is
      registered.



New in 6775bis:
   o  The Target Address in the NS containing the EARO is now the field
      that indicates the address that is being registered, as opposed to
      the Source Address field as specified in [RFC6775] (see
      Section 5.5).   This change avoids in most cases the use of an address
      as source address before it is registered.
[PT>]
[PT>] The spec would live fine with these 2 changes, they were borderline in the change we did with Samita. It looks like good information though.

------------------------------  continuing  ------------------
   The Registering Node is the node that performs the registration to
   the 6BBR.  As in [RFC6775], it may be the Registered Node as well ...


If there are multiple 6LRs in the routing path from 6LN to 6LBR, I don't think this statement is completely accurate.  It would be accurate if the words "to the 6BBR" were omitted.

[PT>] It is accurate, since the term is intended to mean the 6BBR “client” and only that. The object we want to define is a guy that performs the registration whether it is for itself or for someone else as a proxy, as opposed to the guy for whom the registration is done. The only case of proxy registration is to a 6BBR, so for now the definition is sufficient and accurate. We could extend the definition to any registrar as you propose and that would not hurt here. But that makes the writing of the 6BBR more complex because in a flow both the 6LN and the 6LBR would be registering nodes, opening to ambiguity in the text. The text you cite below, for instance, become unreadable.


                             In that case, if the Registered Node is reachable from the
   6BBR over a Mesh-Under mesh, the Registering Node indicates the MAC
   Address of the Registered Node as the SLLA in the NS(EARO).

and
  This enables the Registering Node to attract the packets from
   the 6BBR and route them over the LLN to the Registered Node.


I think these statements remain accurate if 6BBR is replaced by 6LBR.

[PT>] Nope. This is about what the 6BBR with a log on the Ethernet side does with a packet. There might be an Ethernet link between the 6LBR and the 6BBR. This is how we made our demos, a Cisco proto 6BBR and an openWSN 6LBR based on a raspberry PI. There could also be a Wi-Fi mesh between those 2, we actually deploy industrial protocols like that.


                       As described in [I-D.ietf-6lo-backbone-router], the
   "Moved" status can be used by a 6BBR in an NA(EARO) message to
   indicate that the ownership of the proxy state on the Backbone Link
   was transferred to another 6BBR as the consequence of a movement of
   the device.



This statement *really* belongs in the BBR draft and does not belong in 6775bis.

[PT>] As above, the Wi-Fi 6LN talks to a 6BBR using this spec only. This is useful.


   The LLN nodes depend on the 6LBR and the 6BBR for their operation.



This statement cannot be true in networks that don't have any 6BBRs.  And, it's not exactly true in LLNs that have peer-to-peer routing, either.  In any case, a modified version deleting 6BBR is pretty much true (i.e., a lot "more true") and depicts the security point just as well.

[PT>] Agreed. What about “The LLN nodes depend on a 6LBR and may depend on a 6BBR for their operation.”

It’s true that for link local traffic only, a node can live without a 6LBR but that’s extreme.


   This specification can be used by any wireless node to associate at
   Layer-3 with a 6BBR and register its IPv6 addresses to obtain routing
   services including proxy-ND operations over a Backbone Link,
   effectively providing a solution to the requirements expressed in
   Appendix B.4.



This statement should fit much better in the BBR draft.

[PT>] I think by now it is clear that the goal of this spec is effectively to do exactly what’s written there…

===========================================================



If it were considered acceptable to make the changes indicated above, I would be very happy to supply a revised version of 6775bis by next Tuesday.  I have already provided a thorough review for the current BBR document and expect to be making additional discussion points after tomorrow.

[PT>] Yep, thanks you so much, I’m on it now!

Thanks in advance for your consideration of my proposal.

[PT>] Did, deeply. But as I said this doc is meant for a node interacting with a 6BBR.

[PT>] Take care,

Pascal









On 5/22/2018 3:15 PM, Charlie Perkins wrote:

Hello folks,

Over the last month I've been reviewing and making editorial suggestions for the following three documents:

  1.  - draft-ietf-6lo-rfc6775-update
  2.  - draft-ietf-6lo-ap-nd
  3.  - draft-ietf-6lo-backbone-router



During the reviews, I had a hard time keeping it straight in my mind about which mandates belong where in the documents.  I eventually have come to believe that the 6BBR stuff really belongs in document (3) and the underlying parts of the extended registration specification belongs in document (1) -- where they are now.

So I asked Pascal about that, and Pascal said the ship had sailed.

Then I asked Suresh about it, and Suresh said it was too late.

So that's too bad.  But I had another idea.  Maybe we SHOULD anyway locate all of the 6BBR material in document number 3, where it belongs, and just arrange things so that document 3 *updates* document 1 whenever document 3 can finally be published.

Or, alternatively, my forlorn hope would be that I could rearrange the text according to the suggestion above within the next week or so, and avoid the temporary mislocation of the 6BBR mandates.  Before doing so, it would be required for me to identify the texts to be moved on this mailing list so as to be very specific about the task at hand.  Maybe a few more days detour in May, 2018, but maybe a lot easier time for future implementers of these important specifications.

Thanks for your consideration of my request!

Regards,
Charlie P.