[Roll] Understanding RPL [was: Working group re-charter ideas]

Juliusz Chroboczek <jch@pps.univ-paris-diderot.fr> Thu, 02 April 2015 12:55 UTC

Return-Path: <jch@pps.univ-paris-diderot.fr>
X-Original-To: roll@ietfa.amsl.com
Delivered-To: roll@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 426251B2C9C; Thu, 2 Apr 2015 05:55:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.55
X-Spam-Level:
X-Spam-Status: No, score=-1.55 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_FR=0.35] autolearn=no
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 D3pHLGnZDyxL; Thu, 2 Apr 2015 05:55:33 -0700 (PDT)
Received: from korolev.univ-paris7.fr (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A3BC11ACED6; Thu, 2 Apr 2015 05:55:16 -0700 (PDT)
Received: from potemkin.univ-paris7.fr (potemkin.univ-paris7.fr [IPv6:2001:660:3301:8000::1:1]) by korolev.univ-paris7.fr (8.14.4/8.14.4/relay1/56100) with ESMTP id t32CtCHA004285 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 2 Apr 2015 14:55:12 +0200
Received: from mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [81.194.30.253]) by potemkin.univ-paris7.fr (8.14.4/8.14.4/relay2/56228) with ESMTP id t32CtCT0029133; Thu, 2 Apr 2015 14:55:12 +0200
Received: from mailhub.math.univ-paris-diderot.fr (localhost [127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTP id 6CDCE2A0C8D; Thu, 2 Apr 2015 14:55:12 +0200 (CEST)
X-Virus-Scanned: amavisd-new at math.univ-paris-diderot.fr
Received: from mailhub.math.univ-paris-diderot.fr ([127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id tY0YslvWqjl5; Thu, 2 Apr 2015 14:55:10 +0200 (CEST)
Received: from pirx.pps.jussieu.fr (unknown [78.194.40.74]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id 901212A0C8C; Thu, 2 Apr 2015 14:55:10 +0200 (CEST)
Date: Thu, 02 Apr 2015 14:55:24 +0200
Message-ID: <87pp7mlmf7.wl-jch@pps.univ-paris-diderot.fr>
From: Juliusz Chroboczek <jch@pps.univ-paris-diderot.fr>
To: "Pascal Thubert (pthubert)" <pthubert@cisco.com>
In-Reply-To: <AF1495F5-E8C5-4889-9256-DC4EF53E79AC@cisco.com>
References: <CA+-pDCe1jMFaBJH5Ynss6Kf7mtxoLC8DYjz6N9d0Zu10o0WRuQ@mail.gmail.com> <CAGnRvuqzehpwW11XvhYQXZAjMiOvfexG0ygH4pnp6PyeD_Yq_Q@mail.gmail.com>
User-Agent: Wanderlust/2.15.9
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset="US-ASCII"
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]); Thu, 02 Apr 2015 14:55:12 +0200 (CEST)
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (potemkin.univ-paris7.fr [194.254.61.141]); Thu, 02 Apr 2015 14:55:12 +0200 (CEST)
X-Miltered: at korolev with ID 551D3C30.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)!
X-Miltered: at potemkin with ID 551D3C30.001 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)!
X-j-chkmail-Enveloppe: 551D3C30.000 from potemkin.univ-paris7.fr/potemkin.univ-paris7.fr/null/potemkin.univ-paris7.fr/<jch@pps.univ-paris-diderot.fr>
X-j-chkmail-Enveloppe: 551D3C30.001 from mailhub.math.univ-paris-diderot.fr/mailhub.math.univ-paris-diderot.fr/null/mailhub.math.univ-paris-diderot.fr/<jch@pps.univ-paris-diderot.fr>
X-j-chkmail-Score: MSGID : 551D3C30.000 on korolev.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000
X-j-chkmail-Score: MSGID : 551D3C30.001 on potemkin.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000
X-j-chkmail-Status: Ham
X-j-chkmail-Status: Ham
Archived-At: <http://mailarchive.ietf.org/arch/msg/roll/U03MXIz1sI99JILMcvAvIV2XLws>
Cc: ROLL WG <roll@ietf.org>, "manet@ietf.org" <manet@ietf.org>
Subject: [Roll] Understanding RPL [was: Working group re-charter ideas]
X-BeenThere: roll@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Routing Over Low power and Lossy networks <roll@ietf.org>
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: Thu, 02 Apr 2015 12:55:35 -0000

Thanks for your answer, Pascal.

> There are literally hundreds of papers that reference RPL,

Indeed.  But I've made a half-serious attempt at a bibliography search,
and couldn't find anything to satisfy my thirst for experimental data,
especially for the proactive subset.  Could you please give me a reference?

> so the process of microloop avoidance in Babel is effectively the same
> as what RPL calls a global recovery. Both protocols inherit DUAL's
> feasibility condition.

My perhaps mistaken understanding is that RPL uses a more primitive
version of DSDV's feasibility condition (without the even-odd mechanism
that avoids loops after a retraction).  If RPL uses DUAL feasibility, then
I completely fail to see the data structure that keeps the necessary
history (the equivalent of Babel's source table).

(Which makes sense for RPL -- you certainly don't want to multiply the
data structures being held in a sensor.  Babel and RPL play in different
spaces, right?)

> But RPL adds the capability to make local repair which provides
> a service of freezing akin to the the diffusion algorithm but adapted to
> LLN and MANET.

Again, I may be confused, but I think the local repair mechanism is not
specified in the RFC.  There's an example mechanism given in Section 3.7.2,
but that example is prone to loops in the presence of packet loss.

As what RPL calls a "global repair", all I could find in the RFC is

   A DODAG root institutes a global repair operation by incrementing the
   DODAGVersionNumber.  This initiates a new DODAG Version.

However, there's nothing I see to say when a root decides to trigger
a global repair (except for some vague mention of periodic updates, which
the DSDV experiment has shown are not a good idea).  This is very much
unlike Babel (different spaces, remember?)  which has a provably complete
reactive mechanism for triggering seqno updates.

> Even more, RPL adds a capability to stretch the rules, and a capability to
> delay the repairs so as to reduce the control overhead in Lower Power and
> mobile use cases.

Yes.  That's probably a very good feature in the space where RPL plays.
Which is different from the space that Babel aims for.

> All in all I remain to be convinced that Babel is much, much, anything.

That citation belongs on the conclusion slide of the next talk I give ;-)

-- Juliusz