Re: [Roll] No path DAO problem stmt draft

Cenk Gündogan <cnkgndgn@gmail.com> Thu, 03 March 2016 08:15 UTC

Return-Path: <cnkgndgn@gmail.com>
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 D00F61A03AB for <roll@ietfa.amsl.com>; Thu, 3 Mar 2016 00:15:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.199
X-Spam-Level:
X-Spam-Status: No, score=-0.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, FROM_LOCAL_NOVOWEL=0.5, HK_RANDOM_ENVFROM=0.001, HK_RANDOM_FROM=0.999, HTML_MESSAGE=0.001, MIME_8BIT_HEADER=0.3, SPF_PASS=-0.001] 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 rXzOTCTVKqdZ for <roll@ietfa.amsl.com>; Thu, 3 Mar 2016 00:15:49 -0800 (PST)
Received: from mail-wm0-x22c.google.com (mail-wm0-x22c.google.com [IPv6:2a00:1450:400c:c09::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8DD1A1A038D for <roll@ietf.org>; Thu, 3 Mar 2016 00:15:48 -0800 (PST)
Received: by mail-wm0-x22c.google.com with SMTP id p65so20790589wmp.0 for <roll@ietf.org>; Thu, 03 Mar 2016 00:15:48 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to; bh=HXvE2+3WEusjm/lQvO8U8/3eeYdpE27KP5X1UUQVExo=; b=kii4UcjmopekD0aNuoNy95veIPbPlpdhPGC/cDV7UeS3uq4w+zlCYUzG7r7fveQTiQ eq+dxAAEO6oTXGYeZFZojSDEIgkqFzw8QJIQBuIswOfATVzLSr5WO8EC9nWf5WTKkn3q m2ibRS6NMCV/8F5nXdHpjLL2/BPYHP4mGk+awrI1PGjBZAgWOnGcKTtjp0yyswUUW08W sRcGXHGl032GnPJnffQ8ai0lreGlLA05sQvRnD36/8yu6UY2p+WdT9gCErN9pSgwAwam mOvz3rQ3diHc621ffj0rLb84i0rsypyLT2xqgIA2+r6NEdH3t5E0e9QQFSa+HJwjTwGK 8zkg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to; bh=HXvE2+3WEusjm/lQvO8U8/3eeYdpE27KP5X1UUQVExo=; b=YiB6nSdKdyIIoQAcS7NQuGfUWjtSD3yLA34cE/Mjc9ClEOd+3ufBhH19lxPfD3Qp42 NvoA30Q5LK1gwVvKD6eyCoj9bYIDAtJCwQtTqmiKDhWLmgvXWIkWLYPj4E4Y1CTr+cOI weNNfEHetmoI53npE/JY00JIGH3KeYpLPX+F5Bn7RAGSvxpog5vsfYRdGdCOzIikRfQf WZA32vZBZTzGIUdn+5rIVjyQerGYaHa1ofBKPpSWInjxpE68FSjA6zCLvBIU9j+EFD64 sJM92OCKaagR3Jgutoh/VJrC0Ld1ZEDPVi97vGq98CHmPow7rzhCsysWS3oqFBPx/mm0 UP+Q==
X-Gm-Message-State: AD7BkJK3qqIcW3zBdKbjgDkFy2oIBsVblawIlZL1L7O+5ilzW/AkhiefQXBT8+ntzF+6vA==
X-Received: by 10.28.217.146 with SMTP id q140mr4072787wmg.85.1456992946980; Thu, 03 Mar 2016 00:15:46 -0800 (PST)
Received: from ?IPv6:2a02:8109:8680:45c:221:ccff:fe67:d847? ([2a02:8109:8680:45c:221:ccff:fe67:d847]) by smtp.googlemail.com with ESMTPSA id o16sm29380457wjr.9.2016.03.03.00.15.45 for <roll@ietf.org> (version=TLSv1/SSLv3 cipher=OTHER); Thu, 03 Mar 2016 00:15:45 -0800 (PST)
To: roll@ietf.org
References: <982B626E107E334DBE601D979F31785C5CEC8E5C@blreml510-mbs.china.huawei.com> <56D72358.9040102@gmail.com> <982B626E107E334DBE601D979F31785C5CEC8F25@blreml510-mbs.china.huawei.com>
From: =?UTF-8?Q?Cenk_G=c3=bcndogan?= <cnkgndgn@gmail.com>
Message-ID: <56D7F2B1.1090603@gmail.com>
Date: Thu, 3 Mar 2016 09:15:45 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0
MIME-Version: 1.0
In-Reply-To: <982B626E107E334DBE601D979F31785C5CEC8F25@blreml510-mbs.china.huawei.com>
Content-Type: multipart/alternative; boundary="------------020604070501090908000008"
Archived-At: <http://mailarchive.ietf.org/arch/msg/roll/NTe911Sf9uVf_uLnrirOEl6f8ds>
Subject: Re: [Roll] No path DAO problem stmt draft
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: <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: Thu, 03 Mar 2016 08:15:52 -0000

Hello Rahul,

On 03.03.2016 05:17, Rahul Arvind Jadhav (Rahul Arvind Jadhav, 2012 
Labs) wrote:
>
> Thanks Cenk,
>
> Yes the DAO-ACK scenario you mentioned is relevant and IMO should be 
> explained in the draft.
>
> And as you mentioned, using DAO-ACK, even though a node is aware that 
> its NPDAO (No-Path DAO) didn’t work out, there is nothing it can do 
> about it. The behavior is implementation-defined and may cause interop 
> issues.
>
> Just to restate your scenario:
>
> A node sends an NP-DAO with ACK flag enabled. If the previous parent 
> is unavailable then the DAO-ACK won’t be rcvd and thus the target node 
> is now aware that NPDAO didn’t work out. Having learnt that, there is 
> nothing the node could do about it, and it would still result in 
> stale/unwanted entries along the previous path.
>
> Also there is one more problem statement that needs to be added to the 
> draft, regarding impact on P2P traffic if route invalidation using 
> NPDAO does not work. Stale/Unwanted routing entries may impact P2P 
> traffic since the routing entries are not flushed from previous parent 
> set and they would still consider that the target node is reachable 
> via them for any p2p traffic.
>
I think this statement can/should be broken down.
If node D changes its parent from B to C it still could be able to 
receive traffic from B.
This is however highly dependent on the underlying metric that is used
to drive the parent selection.
 From the picture in your draft: I would expect that p2p traffic traversing
from G -> B -> D should still work (when we have stale entries and still 
connectivity)
And p2p traffic from D to G would traverse through D -> C -> H -> A -> G.
But I understand your point and I completely agree with you, in case of 
a complete
link loss B -> D wouldn't work anymore.

So to summarize, I see two cases here:

1) D changed from B to C, but the link B <-> D still has *some* 
connectivity:

p2p traffic in the storing-mode must include a RPL Hop-by-Hop option 
(RFC6553),
which could detect this dilemma by inspecting the SenderRank within that 
option.
As a reaction, node D would try to send that packet back to D with the 
Forwarding-Error bit set.
In the best case, B would receive this and delete its DAO state to this 
former child.
Well, .. this only works if the new rank of D changed when accepting C 
as a preferred parent.

As a side note:
I just ran into [1] which addresses the cleanup of old DAO entries for 
ancestors, recursively.



2) D changed from B to C, but the link B <-> D has *no* connectivity:

I would assume the (6Lo-)Neighbor Discovery would resolve this
issue by detecting that the neighbour is not reachable anymore.
If there is enough p2p traffic going on, then the Neighbour 
Unreachability Detection
(NUD) might kick in fairly quick. Once the neighbour was detected as 
unreachable,
this information needs to be synchronized with RPL's routing table, of 
course.
RPL shouldn't keep routing entries where the next-hop part is known to 
be unreachable.
Afterwards, as a consequence of p2p traffic from any previous ancestor 
to D, ICMPv6
error messages (Destination Unreachable) could clear up the states in 
their routing tables as well.

Best,
Cenk

[1] https://tools.ietf.org/html/rfc6550#section-11.2.2.3

> Thanks,
>
> Rahul
>
> *From:*Roll [mailto:roll-bounces@ietf.org] *On Behalf Of *Cenk Gündogan
> *Sent:* 02 March 2016 PM 11:01
> *To:* roll@ietf.org
> *Subject:* Re: [Roll] No path DAO problem stmt draft
>
> Dear Rahul,
>
> I find the problems outlined in your draft very interesting and 
> thought-provoking.
>
> My two cents..
>
> Usually, an implementation has the choice to request acknowledgements 
> for DAOs
> and I would expect some sort of retry mechanism taking place in case 
> of a lost DAO.
> I couldn't find any reference to DAO-ACKs in your draft, but I am sure 
> that the
> stated problems still hold for the DAO <-> DAO-ACK case.
> One advantage of having the DAO <-> DAO-ACK case is however, that the 
> implementation
> *knows* whether the NP-DAO reached a previous parent or not.
> Unfortunately, there's still the question of how the implementation 
> should respond
> to such knowledge? Without specifying this somewhere (and I couldn't 
> find a reference
> in RFC 6550, but I could be wrong), the behaviour is 
> implementation-defined.
> This can in turn make the interoperability between different 
> implementations
> more difficult.
>
> Would it make sense to widen your proposed draft to also include the
> DAO <-> DAO-ACK scenario? And maybe some suggestions about how to
> react in such cases?
>
> Best,
> Cenk
>
> On 02.03.2016 15:04, Rahul Arvind Jadhav (Rahul Arvind Jadhav, 2012 
> Labs) wrote:
>
>     Dear All,
>
>     We recently submitted a draft
>     (https://tools.ietf.org/html/draft-jadhav-roll-no-path-dao-ps-00)
>     stating problem statements pertaining to No Path DAO messaging in
>     RPL spec.
>
>     The primary pain point that is highlighted is that the No-Path DAO
>     messaging takes a path which has a higher probability of not been
>     available. For e.g. when the node switches its parent, a No-Path
>     DAO is usually generated along the path through the previous
>     parent and the No-Path DAO traverses upwards always along that
>     path. A path which is no longer a preferred path is used for
>     No-Path DAO messaging and thus the probability of No-Path DAO
>     messaging failure is high, resulting in stale routing entries.
>
>     Also there are other negative implications mentioned in the
>     document because of this messaging mode.
>
>     The work drafts the problem statement and explains requirements
>     from solution point of view.
>
>     Kindly feedback if the problem statement impacts you.
>
>     Thanks,
>
>     Rahul
>
>     ***************************************************************************************
>     This e-mail and attachments contain confidential information from
>     HUAWEI, which is intended only for the person or entity whose
>     address is listed above. Any use of the information contained
>     herein in any way (including, but not limited to, total or partial
>     disclosure, reproduction, or dissemination) by persons other than
>     the intended recipient's) is prohibited. If you receive this
>     e-mail in error, please notify the sender by phone or email
>     immediately and delete it!
>
>
>
>
>     _______________________________________________
>
>     Roll mailing list
>
>     Roll@ietf.org <mailto:Roll@ietf.org>
>
>     https://www.ietf.org/mailman/listinfo/roll
>
>
>
> _______________________________________________
> Roll mailing list
> Roll@ietf.org
> https://www.ietf.org/mailman/listinfo/roll