Re: [Roll] Loop free local DODAG repair solution
Philip Levis <pal@cs.stanford.edu> Mon, 29 October 2012 22:09 UTC
Return-Path: <pal@cs.stanford.edu>
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 A020921F871A for <roll@ietfa.amsl.com>; Mon, 29 Oct 2012 15:09:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.185
X-Spam-Level:
X-Spam-Status: No, score=-4.185 tagged_above=-999 required=5 tests=[BAYES_40=-0.185, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pvdgqes-2Q5r for <roll@ietfa.amsl.com>; Mon, 29 Oct 2012 15:09:50 -0700 (PDT)
Received: from cs-smtp-2.Stanford.EDU (cs-smtp-2.Stanford.EDU [171.64.64.26]) by ietfa.amsl.com (Postfix) with ESMTP id BEB8621F8712 for <roll@ietf.org>; Mon, 29 Oct 2012 15:09:50 -0700 (PDT)
Received: from 23-24-194-1-static.hfc.comcastbusiness.net ([23.24.194.1] helo=[10.111.222.25]) by cs-smtp-2.Stanford.EDU with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.77) (envelope-from <pal@cs.stanford.edu>) id 1TSxWl-0003uU-C0; Mon, 29 Oct 2012 15:09:47 -0700
Mime-Version: 1.0 (Apple Message framework v1283)
Content-Type: text/plain; charset="iso-8859-1"
From: Philip Levis <pal@cs.stanford.edu>
In-Reply-To: <508AE1F9.1080600@merl.com>
Date: Mon, 29 Oct 2012 15:09:46 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <F3045258-0B7C-4EE3-9328-DA56C97DDF9E@cs.stanford.edu>
References: <50194329.3040003@merl.com> <501945CC.5040801@merl.com> <5086A598.7030508@merl.com> <23378.1351166893@sandelman.ca> <50894640.1080804@merl.com> <97B69B30E0EF244B940B65EA541E3F2D21564932@DBXPRD0510MB395.eurprd05.prod.outlook.com> <508A8FDA.4040104@merl.com> <97B69B30E0EF244B940B65EA541E3F2D2156744D@DBXPRD0510MB395.eurprd05.prod.outlook.com> <508AAE0D.8030903@merl.com> <97B69B30E0EF244B940B65EA541E3F2D215676A7@DBXPRD0510MB395.eurprd05.prod.outlook.com> <508AE1F9.1080600@merl.com>
To: Jianlin Guo <guo@merl.com>
X-Mailer: Apple Mail (2.1283)
X-Scan-Signature: 55257a1a0ec20502294a0e86bc6a08bd
Cc: "<roll@ietf.org>" <roll@ietf.org>
Subject: Re: [Roll] Loop free local DODAG repair solution
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: Mon, 29 Oct 2012 22:09:51 -0000
I'd like to take a step back here and discuss MaxRankIncrease and the notion of null parent sets. The two major cases where a RPL node has a null parent set are: 1) The node has no members in its neighbor set 2) The node has members of its neighbor set, but all of them advertise a Rank of INFINITE_RANK. The major case we're concerned about here is when rule 3 of 8.2.2.4 requires nodes to advertise INFINITE_RANK due to the value of MaxRankIncrease. I don't think the local repair scheme will fix case 1. So we're really talking about case 2. MaxRankIncrease emerged in specifying RPL as a way to support both ZigBee-style centralized periodic tree reconstruction triggers (MaxRankIncrease == 0) as well as CTP-style completely distributed operation while simultaneously providing a cap to the count-to-infinity problem. So really, the issue here is when you have a network with a small MaxRankIncrease and don't want to reconstruct the entire tree, there are valid parents that could be used, but a node does not have them in its neighbor/parent set. Thinking about it this way (am I wrong?), I am a bit confused by the claim that the draft is a local repair. Assuming a node has to follow rule 3 in 8.2.2.4, this is not a repair mechanism, but rather a neighbor discovery mechanism. Could you explain how DRQ/DRP solve a problem that a DIS with a proper Solicited Information option can't solve? This was the original intent of DIS with Solicited Information. Or perhaps I'm not understanding DRQ/DRP correctly? Phil On Oct 26, 2012, at 12:18 PM, Jianlin Guo wrote: > Thank you for the paper. I agree with [1] on that "dismantling of the sub-DAG, rooted at the node doing the rank increase, causes more turmoil in the network than the routing loops themselves". > > Now, consider a case in which a node's parent set becomes empty. In this case, RPL provides following set of actions: > > 1) Start its own floating DODAG > 2) Poison the broken path > 3) Trigger a local repair > > Both 1) and 2) actions will increase packet delivery delay time (which may be not acceptable for some applications) and possibly cause packet dropping due to limited buffer size of a LLN node (which may also be not acceptable for some applications). So, trigger a local repair is a practical option. Our local repair mechanism is designed for this purpose and it does not create any loops. > > Jianlin > > On 10/26/2012 12:10 PM, C Chauvenet wrote: >> >> Le 26 oct. 2012 à 17:36, Jianlin Guo a écrit : >> >>> We compared performance metrics such as packet delivery rate. >> >> Ok. >> >> In general do you have a document about your experiments that you would like to share ? >> I think it could be a good way to defend your mechanism. >> >> There are 2 sub questions related to your draft : >> >> - Is there a strong need for an additional mechanism to prevent loops ? (the HbH header option mentioned by phil is already there). >> - Is your mechanism the good way to do so (overhead induced, efficiency...) >> >> As mentioned by Phil, this subject has been previously discussed inside ROLL few years ago, and did not recommend to add such mechanisms. >> >> For instance, [1] concludes that >> >> "the turmoil caused >> by dismantling of the sub-DAGs in order to increase ranks >> may be much more than what the routing loops themselves >> will cause. Consequently, the use of such loop avoidance >> mechanism in the operation of a DAG based routing protocol >> can not be universally recommended." >> >> [1] : http://www.emmanuelbaccelli.org/publications/AINA_2010.pdf >> >> Best, >> >> Cédric. >> >>> On 10/26/2012 11:21 AM, C Chauvenet wrote: >>>> Hi, >>>> Thank you for your answer. >>>> See inline. >>>> >>>> Le 26 oct. 2012 à 15:27, Jianlin Guo a écrit : >>>> >>>>> On 10/25/2012 12:06 PM, C Chauvenet wrote: >>>>>> Hi, >>>>>> >>>>>> Le 25 oct. 2012 à 16:01, Jianlin Guo a écrit : >>>>>> >>>>>>> Hi Michael, >>>>>>> >>>>>>> For your first question, draft-clausen-lln-rpl-experiences-04 pointed out that "it can be observed that with current implementations of RPL, such as the ContikiRPL implementation, loops do occur - and, frequently. During the same experiments described in Section 13, a snapshot of the DODAG was made every ten seconds. In 74.14% of the 4114 snapshots, at least one loop was observed". >>>>>> >>>>>> Is it something that you observed in your own deployments ? >>>>>> More specifically : did you find similar results ? >>>>> We observed the occurrence of loops, unfortunately we did not measure the percentage. >>>> >>>> So how did you evaluate the benefit of the mechanism that you proposed ? >>>> >>>> Cédric. >>>> >>>>> >>>>>> Best, >>>>>> >>>>>> Cédric. >>>>>> >>>>>>> >>>>>>> For your second question, further investigation and experiments are needed. >>>>>>> >>>>>>> Jianlin >>>>>>> >>>>>>> On 10/25/2012 8:08 AM, Michael Richardson wrote: >>>>>>>> Jianlin Guo <guo@merl.com> >>>>>>>> wrote: >>>>>>>> JG> Dear ROLL WG members, >>>>>>>> >>>>>>>> JG> As we all know that loop is an open issue in RPL. Experiment shows that loop >>>>>>>> JG> occurs quite often. We have proposed a loop free local DODAG >>>>>>>> >>>>>>>> Can you quantify "quite often"? >>>>>>>> Do you have any metrics for how often loops occur, and what the cost is >>>>>>>> of their repair? >>>>>>>> >>>>>>>> I think that the WG would be very very very interested in additional -experiences >>>>>>>> draft, or pointers to papers explaining same, that gives a repeateable >>>>>>>> experiment in which loops are observed. >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Roll mailing list >>>>>>> Roll@ietf.org >>>>>>> https://www.ietf.org/mailman/listinfo/roll >>>>>> >>>>> >>>> >>> >> > > _______________________________________________ > Roll mailing list > Roll@ietf.org > https://www.ietf.org/mailman/listinfo/roll
- [Roll] Loop Free DODAG Repair Solution Jianlin Guo
- Re: [Roll] Loop Free DODAG Repair Solution Michael Richardson
- Re: [Roll] Loop Free DODAG Repair Solution Jianlin Guo
- [Roll] Loop free local DODAG repair solution Jianlin Guo
- Re: [Roll] Loop free local DODAG repair solution Philip Levis
- Re: [Roll] Loop free local DODAG repair solution Jianlin Guo
- Re: [Roll] Loop free local DODAG repair solution Jianlin Guo
- Re: [Roll] Loop free local DODAG repair solution Philip Levis
- Re: [Roll] Loop free local DODAG repair solution Philip Levis
- Re: [Roll] Loop free local DODAG repair solution Jianlin Guo
- Re: [Roll] Loop free local DODAG repair solution Michael Richardson
- Re: [Roll] Loop free local DODAG repair solution Jianlin Guo
- Re: [Roll] Loop free local DODAG repair solution C Chauvenet
- Re: [Roll] Loop free local DODAG repair solution Jianlin Guo
- Re: [Roll] Loop free local DODAG repair solution C Chauvenet
- Re: [Roll] Loop free local DODAG repair solution Jianlin Guo
- Re: [Roll] Loop free local DODAG repair solution C Chauvenet
- Re: [Roll] Loop free local DODAG repair solution Jianlin Guo
- Re: [Roll] Loop free local DODAG repair solution Philip Levis
- Re: [Roll] Loop free local DODAG repair solution Jianlin Guo
- Re: [Roll] Loop free local DODAG repair solution Philip Levis
- Re: [Roll] Loop free local DODAG repair solution Jianlin Guo