Re: [Roll] [Anima] ACP RPL profile and dynamics

Michael Richardson <mcr@sandelman.ca> Wed, 07 September 2022 09:12 UTC

Return-Path: <mcr@sandelman.ca>
X-Original-To: roll@ietfa.amsl.com
Delivered-To: roll@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D5BE9C152563; Wed, 7 Sep 2022 02:12:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.906
X-Spam-Level:
X-Spam-Status: No, score=-6.906 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uwKRSUrWsMp9; Wed, 7 Sep 2022 02:12:49 -0700 (PDT)
Received: from relay.sandelman.ca (relay.cooperix.net [176.58.120.209]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E4516C1522AC; Wed, 7 Sep 2022 02:12:48 -0700 (PDT)
Received: from dooku.sandelman.ca (dynamic-046-114-168-018.46.114.pool.telefonica.de [46.114.168.18]) by relay.sandelman.ca (Postfix) with ESMTPS id 8E3931F47B; Wed, 7 Sep 2022 09:12:46 +0000 (UTC)
Received: by dooku.sandelman.ca (Postfix, from userid 179) id BBC9A1A0245; Wed, 7 Sep 2022 05:12:44 -0400 (EDT)
Received: from dooku (localhost [127.0.0.1]) by dooku.sandelman.ca (Postfix) with ESMTP id BA18A1A013F; Wed, 7 Sep 2022 05:12:44 -0400 (EDT)
From: Michael Richardson <mcr@sandelman.ca>
To: Hendrik Mahrt <hendrik.mahrt@kit.edu>, anima@ietf.org, roll@ietf.org
In-reply-to: <861c74d7-4fe0-9b27-6075-faa94bd6ee7a@kit.edu>
References: <861c74d7-4fe0-9b27-6075-faa94bd6ee7a@kit.edu>
Comments: In-reply-to Hendrik Mahrt <hendrik.mahrt@kit.edu> message dated "Tue, 06 Sep 2022 21:12:50 +0200."
X-Mailer: MH-E 8.6+git; nmh 1.7+dev; GNU Emacs 27.1
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha512"; protocol="application/pgp-signature"
Date: Wed, 07 Sep 2022 05:12:44 -0400
Message-ID: <43629.1662541964@dooku>
Archived-At: <https://mailarchive.ietf.org/arch/msg/roll/b2yGSZqkIMpx9XUwnggalvqZYvo>
Subject: Re: [Roll] [Anima] ACP RPL profile and dynamics
X-BeenThere: roll@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Routing Over Low power and Lossy networks <roll.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/roll>, <mailto:roll-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/roll/>
List-Post: <mailto:roll@ietf.org>
List-Help: <mailto:roll-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/roll>, <mailto:roll-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Sep 2022 09:12:52 -0000

Hendrik Mahrt <hendrik.mahrt@kit.edu> wrote:
    > First question: In the ACP RPL profile it is stated that "Nodes SHOULD
    > select more than one parent, at least three if possible". But I'm not
    > sure how multiple parents are selected by OF0 without nodes being
    > greedy.
    > The OF0 RFC [RFC 6552] does not contain any information about
    > multiple parents, except for a 'backup feasible successor' (Section
    > 4.2.2).

Remember that each parent is reachable over an IPsec tunnel.
It's somewhat different than from a typical LLN situation where one could
hear from multiple parents on a broadcast media.  (Well, in fact the GRASP
DULL message serves that purpose)

My thinking, which may be entirely wrong, is that the idea is to keep at most
three IPsec tunnels up with potential parents.   DAOs should go down those
tunnels so that:
a) each end is aware of each other's rank
b) were we ever to do p2pRPL, or DAO projection, that we'd have some lateral
   tunnels to use.
c) that we somehow learn of the ETX and latency across that link, and derive
   a metric for that direction.
   We could do this within the tunnel, using RPL messages, ICMPv6s, or
   we could do this using the tunnel, using IKEv2 DPD messages.

On the one had we could have situations where there is some ACP-unaware L2 fabric
connecting many ACP nodes, and it really would be silly to form all the
adjacencies.   In this case, initiate at most three, and pick one as parent,
but keep the other two up (and monitor them)

On the other hand, a more typical ISP situation is there is a router with
three or four WAN links, each of which is a p2p ethernet.  In that case,
there is really only one peer on each link, and it makes no sense not to have
a tunnel up on every interface.

    > But if I understand correctly this successor is not 'actively'
    > sought after, i.e., the node does not actively increase its rank to
    > obtain it, as that would surely violate the rules of RPL on greediness
    > formulated in RFC 6550 in sections 3.7.1 and 8.2.2.4?! Or am I
    > mistaken?

Yes, that's right, the parent is not *selected*, but rather kept in reserve.
See for instance, some of the recent RPL work
  https://datatracker.ietf.org/doc/draft-ietf-roll-rnfd/

which would use these "lateral" relationships to detect if the parent had died.

    > Second question: The ACP RPL profile, as I understand it, features no
    > form of global repair or DODAG version increase (except manual
    > intervention by admin). How would that work with node mobility (which
    > is mentioned in Appendix A.4)? MaxRankIncrease would limit a node's

It's a good question, and I assumed that global route repair would occur
periodically, and whenever the NOC found that it couldn't reach some nodes.
There is probably a gap in knowledge/experience here.

--
]               Never tell me the odds!                 | ipv6 mesh networks [
]   Michael Richardson, Sandelman Software Works        | network architect  [
]     mcr@sandelman.ca  http://www.sandelman.ca/        |   ruby on rails    [