Re: [Roll] Semantics of DAO ACK

Joakim Eriksson <joakime@sics.se> Mon, 09 November 2015 16:42 UTC

Return-Path: <joakime@sics.se>
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 129861B7F79 for <roll@ietfa.amsl.com>; Mon, 9 Nov 2015 08:42:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1] autolearn=ham
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 4E8bKUz5Dq0e for <roll@ietfa.amsl.com>; Mon, 9 Nov 2015 08:42:36 -0800 (PST)
Received: from mail-lb0-x22f.google.com (mail-lb0-x22f.google.com [IPv6:2a00:1450:4010:c04::22f]) (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 7F8E31B7F74 for <roll@ietf.org>; Mon, 9 Nov 2015 08:42:36 -0800 (PST)
Received: by lbces9 with SMTP id es9so33115959lbc.2 for <roll@ietf.org>; Mon, 09 Nov 2015 08:42:34 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sics_se.20150623.gappssmtp.com; s=20150623; h=content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=GK24SfaskYXV0boiLjEy/Hxv7MNvHD84awGZC4Osv/w=; b=1U9zV4eKioctBT7jP3jHzSP4qTpvlGJn3Hr5MDMKJZkmjav/R2g1VT0pRiTIhh6uKk b9nIFZ8/g7FVQzrOzXhrVB49F7HeYzJ1ho3JsfnnMQGNSr9iG5A6iGK1GI6ROkVwR6+e 3UGPgMJzCHg7Mrpg0E49rM2mZLnxcNjMOcGPMAmPx20nWdvgxdHEQNxuSB7UTq76RvcN TQ47dVB9eS9d06F4//fViK35JlSaWDd6uYhLKi+fCKcUypjZ+eHiG9IXhWv0s5YLVV3s DnGzT9GW/Aml9b+16BbNGq/rz+qdcpRgi1IluAMTYkzrUkwasdUp8I8Bt4OaEnQp37wA Rxmg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:content-type:mime-version:subject:from :in-reply-to:date:cc:content-transfer-encoding:message-id:references :to; bh=GK24SfaskYXV0boiLjEy/Hxv7MNvHD84awGZC4Osv/w=; b=FEbHGBEJ7jZ1uB7vY+JyHgTOSGqIseECIedQwhX+wtU9h/446Wu/agnU+FJPfNLk6W SrDfTatTAiT34u40koIjp9fdXyNIQNkkxLqcfmLCq/h4IvIx4bwVxnf7LBeV9+3WYgNY n2njLRgBPIV2zcAkuKgkaA5yPShI5eWGyAZz3PUzcF16XqlRMrvjfBc+mPilmF1UOP6n 63CP4eeoCBBepXOT562WWepD1sUKf0DRICuTu4V3ytg4qq1VkdVPmjeoks+/H6ZBpWHe PoAGVth6+o4lE2VeFb67G8IyZiYRASL7SjHElc5qKB3+kUNxlJcLtLeiY0UJNCIRc4wg RR7g==
X-Gm-Message-State: ALoCoQmyyZ+iQNmkUmseujZ3x+POhefoc/jiMKNAR3LVEf+Za4iycmWhOmW79KBy2DlJsAQUgj5a
X-Received: by 10.112.72.99 with SMTP id c3mr14755550lbv.113.1447087354613; Mon, 09 Nov 2015 08:42:34 -0800 (PST)
Received: from [192.168.1.102] (h31n15-sbg-a11.ias.bredband.telia.com. [195.67.245.31]) by smtp.gmail.com with ESMTPSA id qh2sm2468462lbb.42.2015.11.09.08.42.33 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 09 Nov 2015 08:42:33 -0800 (PST)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 9.1 \(3096.5\))
From: Joakim Eriksson <joakime@sics.se>
In-Reply-To: <7dd73a8a9e7741e2acedec67dc56ae2b@XCH-RCD-001.cisco.com>
Date: Mon, 09 Nov 2015 17:42:32 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <65CF4B05-02D0-4BB0-A48E-1B6418DBCC52@sics.se>
References: <DB5PR01MB10807DAF503BBFF45787599C80420@DB5PR01MB1080.eurprd01.prod.exchangelabs.com> <6d21d0f86ab14ae7a99ff9fe6873b1fd@XCH-RCD-001.cisco.com> <C885EE62-D889-4229-9CCB-B3CB540F5692@sics.se> <560AFDBB.8050505@gmail.com> <8f1d44568afa4348a05169bedc3c3020@XCH-RCD-001.cisco.com> <13673.1447057653@sandelman.ca> <7dd73a8a9e7741e2acedec67dc56ae2b@XCH-RCD-001.cisco.com>
To: Routing Over Low power and Lossy networks <roll@ietf.org>
X-Mailer: Apple Mail (2.3096.5)
Archived-At: <http://mailarchive.ietf.org/arch/msg/roll/LHVaF3vtxxpIFrqHRwqi3BNUaP8>
Subject: Re: [Roll] Semantics of DAO ACK
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: Mon, 09 Nov 2015 16:42:39 -0000

> On 09 Nov 2015, at 15:20, Pascal Thubert (pthubert) <pthubert@cisco.com> wrote:
> 
> Hello Michael
> 
>> {this was left in my drafts on home desktop folder from before IETF94, sorry for
>> the lack of timelyness}
>> 
>> Pascal Thubert (pthubert) <pthubert@cisco.com> wrote:
>>> * We could use the status as an enumeration the way people probably
>>> expect it. But you'll note that we did not create a registry for it.
>> 
>>> * Which hints you that we could also use it as a metric. A scalar
>>> degree of unwillingness to serve as a parent, that accounts for stuff
>>> like memory, available time slots in a chunk (for 6TiSCH) and/or
>>> battery depletion of the node. The status would translate in such
>>> things as serving as alternate but not as preferred parent.
>> 
>> I think that we need to pick one or the other.
>> I can imagine ways to do both, using some bits for each, but I'm not sure that it's
>> that useful.
>> 
>> I think the question is: what can we reasonably expect downstream (>rank)
>> nodes to do
>> with this information?   I think we should come at this the other way.
>> 
>> Forget what's in the DAOACK right now, and figure out what the downstream
>> node needs to know, and then let's figure out how to either adapt what we
>> have, or extend/replace it.
> 
> Looks good
> 
>> 
>>> The path that is really accepted in storing mode is self as a transit
>>> for a given target. Transit can be aggregated for multiple targets. And
>>> there can be multiple transits for a target. The DAO Ack could include
>>> the pairs (transit/target) that are trouble  and indicate for each what
>>> the trouble is. It could in theory aggregate what's aggregatable, but
>>> the way the info in the dao ack is aggregated may have to differ from
>>> what was placed in the DAO.
>> 
>> I think we absolutely need to know when a storing node can't accept all the
>> routes.  But then what?  I'm not sure if we can actually split the targets across
>> parents... but well... can we?  I can't think right now of a reason why it wouldn't
>> work.
> 
> In the initial RPL we had the expectation that the nodes are always dimensioned to have sufficient room and that expectation avoided that sort of question; but it made the whole storing mode questionable at the same time. 
> 
> Say there are limits to the memory in a storing mode node that may be hit occasionally. The child that cannot get a route installed via a parent would try via another. 
> 
> Questions
> - what if none of the parents has room? 
> -  what if a common granddad does not have room so there is no way to reach the root? The route will not be installed and the target does not even know. This is where Joakim's recursion comes into play with nested DAO acks (if I understand well). But maybe it would be good that the DIO recursively expresses that the nodes have at least one parent with room for new routes.

Yes, we have a design where DIO include information (metrics container)  about number of neighbors available locally + number of routes free
all the way up to the RPL root. If this is available in DIO’s the joining node can do load-balancing by itself and join where it seems most welcome to
join. (We have an initial implementation of this but have not tested it in large scale yet).

Best regards,
— Joakim Eriksson, SICS


> Take care;
> 
> Pascal
> 
> _______________________________________________
> Roll mailing list
> Roll@ietf.org
> https://www.ietf.org/mailman/listinfo/roll