[Roll] knowing which multiple metrics matter: MRHOF related questions

Michael Richardson <mcr+ietf@sandelman.ca> Fri, 25 May 2012 14:54 UTC

Return-Path: <mcr@sandelman.ca>
X-Original-To: roll@ietfa.amsl.com
Delivered-To: roll@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id 3506221F86CF for <roll@ietfa.amsl.com>; Fri, 25 May 2012 07:54:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.883
X-Spam-Status: No, score=-1.883 tagged_above=-999 required=5 tests=[AWL=0.071, BAYES_00=-2.599, HOST_MISMATCH_NET=0.311, IP_NOT_FRIENDLY=0.334]
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id Bmjp7hYtnku8 for <roll@ietfa.amsl.com>; Fri, 25 May 2012 07:54:09 -0700 (PDT)
Received: from relay.sandelman.ca (relay.cooperix.net []) by ietfa.amsl.com (Postfix) with ESMTP id 9ECA021F86C5 for <roll@ietf.org>; Fri, 25 May 2012 07:54:09 -0700 (PDT)
Received: from sandelman.ca (desk.marajade.sandelman.ca []) by relay.sandelman.ca (Postfix) with ESMTPS id 3225386C4 for <roll@ietf.org>; Fri, 25 May 2012 10:52:26 -0400 (EDT)
Received: by sandelman.ca (Postfix, from userid 179) id CB9939823C; Fri, 25 May 2012 10:53:51 -0400 (EDT)
Received: from marajade.sandelman.ca (localhost []) by sandelman.ca (Postfix) with ESMTP id C807B98239 for <roll@ietf.org>; Fri, 25 May 2012 10:53:51 -0400 (EDT)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: roll@ietf.org
X-Mailer: MH-E 8.3; nmh 1.3-dev; XEmacs 21.4 (patch 22)
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha1"; protocol="application/pgp-signature"
Date: Fri, 25 May 2012 10:53:51 -0400
Message-ID: <12418.1337957631@marajade.sandelman.ca>
Sender: mcr@sandelman.ca
Subject: [Roll] knowing which multiple metrics matter: MRHOF related questions
X-BeenThere: roll@ietf.org
X-Mailman-Version: 2.1.12
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: <http://www.ietf.org/mail-archive/web/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: Fri, 25 May 2012 14:54:10 -0000

Ralph asked some questions a few days ago.
His originally DISCUSS is at:

This was my reply.    I am particularly interested in replies from
Pascal, Anders and Mukul about my assertion about how we would never 
pick RPL instances by metrics; that they would in fact be seperate RPL
Instance numbers and DODAG values, and that these things would
provisioned by the network installer.


I'm going to reply to your comments in a different order than
you asked them, because I think question #3 is most important, and the
rest fall out of it.

>>>>> "Ralph" == Ralph Droms <rdroms.ietf@gmail.com> writes:
    Ralph> 3. Based on (1) and (2), would configuration and selection
    Ralph> issues be ameliorated if the five candidate selected metrics
    Ralph> were each asssigned a separate objective function?  Use of a
    Ralph> separate OF code point for each of the five possible selected
    Ralph> metrics would allow multiple RPL instances.

I think that it's important to understand that ROLL has a whole palette
of things that need to be provisioned by the "network operator".

In contrast to the situation of ISPs and customers, where the ISP is the
network operator, ROLL networks are more like highly orchestrated
Enterprises: "all your host belong to us"

so, when we write something like:
    "The metric chosen by the network operator to use for path
in section 2, we really mean:
    "The metric chosen by the network operator and provisioned into
    the node when the firmware was flashed to use for path selection."

Ralph> 1.  Why is one objective function defined for several potential
Ralph> metrics?  The details of MRHOF seem to preclude the establishment
Ralph> of several RPL instances in an LLN, each of which uses MRHOF with
Ralph> a different selected metric.

If one had many different RPL Instances, then we would have different
RPL Instance numbers in the RPL header.   There can be many different
DODAG ("destinations") created within that instance.  The instances
share a common set of (provisioned) parameters.

(To put it into DHCP terms: if we have multiple DHCP servers on a link,
 then one would expect them to all offer IP addresses in the same subnet.
 If one wanted to have addresses in different subnets, and let the host
 pick between them, then, one would need different layer-2s: different
 VLANs or ESSIDs, or... )

If you feel that RPL is rather schizo about provisioning vs
configuration, then I agree.  It's not always clear to me why some
things are advertised while others are provisioned.

In BGPv4, we calculate metrics by adding AS entries in the path.
(It's always additive), and we add at least one AS entry to the path.
One can AS-stuff and add more, but proper operation of BGP does not
depend upon the exact algorithm used.

Finally, my impression is that how the various metrics are used (singly,
or in some combination) to calculate Rank Increase is a question of
further research, experimentation, and trade secret.  

So long as the Rank increases, and a node does not flap between parents,
the exact details do not matter.  Each node can do it's parent selection
based upon the available metrics on it's own.  It advertises the metrics
it has.

I hope the authors will correct me if I'm completely off here.