Re: [Roll] Fwd: I-D Action:draft-dt-roll-rpl-00.txt Q2..4

"Pascal Thubert (pthubert)" <pthubert@cisco.com> Wed, 01 July 2009 10:16 UTC

Return-Path: <pthubert@cisco.com>
X-Original-To: roll@core3.amsl.com
Delivered-To: roll@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BA6D13A6F1F for <roll@core3.amsl.com>; Wed, 1 Jul 2009 03:16:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.908
X-Spam-Level:
X-Spam-Status: No, score=-9.908 tagged_above=-999 required=5 tests=[AWL=0.691, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jLfrfLzA46Op for <roll@core3.amsl.com>; Wed, 1 Jul 2009 03:16:36 -0700 (PDT)
Received: from ams-iport-1.cisco.com (ams-iport-1.cisco.com [144.254.224.140]) by core3.amsl.com (Postfix) with ESMTP id 3B8503A6F19 for <roll@ietf.org>; Wed, 1 Jul 2009 03:16:36 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.42,323,1243814400"; d="scan'208";a="44089108"
Received: from ams-dkim-1.cisco.com ([144.254.224.138]) by ams-iport-1.cisco.com with ESMTP; 01 Jul 2009 10:16:51 +0000
Received: from ams-core-1.cisco.com (ams-core-1.cisco.com [144.254.224.150]) by ams-dkim-1.cisco.com (8.12.11/8.12.11) with ESMTP id n61AGppj006001; Wed, 1 Jul 2009 12:16:51 +0200
Received: from xbh-ams-331.emea.cisco.com (xbh-ams-331.cisco.com [144.254.231.71]) by ams-core-1.cisco.com (8.13.8/8.14.3) with ESMTP id n61AGpLL002461; Wed, 1 Jul 2009 10:16:51 GMT
Received: from xmb-ams-337.cisco.com ([144.254.231.82]) by xbh-ams-331.emea.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Wed, 1 Jul 2009 12:16:51 +0200
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Date: Wed, 01 Jul 2009 12:16:46 +0200
Message-ID: <7892795E1A87F04CADFCCF41FADD00FC07B245CB@xmb-ams-337.emea.cisco.com>
In-Reply-To: <4A4B276A.9050107@gmail.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [Roll] Fwd: I-D Action:draft-dt-roll-rpl-00.txt Q2..4
Thread-Index: Acn6K4NJMgjR6M5zR9Kbehefsc6dcwABO5Rw
References: <20090628231501.3A1353A69E4@core3.amsl.com><F473346F-0DDC-4395-AD0E-9FBF5886F323@cisco.com> <A876246C13ACAF4AAA554580750C949C652D73@ausyd02.ap.bm.net> <7892795E1A87F04CADFCCF41FADD00FC07B242FF@xmb-ams-337.emea.cisco.com> <4A4B276A.9050107@gmail.com>
From: "Pascal Thubert (pthubert)" <pthubert@cisco.com>
To: Alexandru Petrescu <alexandru.petrescu@gmail.com>, "Goindi, Manhar" <Manhar.Goindi@landisgyr.com>
X-OriginalArrivalTime: 01 Jul 2009 10:16:51.0338 (UTC) FILETIME=[0CE5FEA0:01C9FA35]
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; l=5530; t=1246443411; x=1247307411; c=relaxed/simple; s=amsdkim1002; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=pthubert@cisco.com; z=From:=20=22Pascal=20Thubert=20(pthubert)=22=20<pthubert@ci sco.com> |Subject:=20RE=3A=20[Roll]=20Fwd=3A=20I-D=20Action=3Adraft- dt-roll-rpl-00.txt=20Q2..4 |Sender:=20; bh=9tHLVKk3+nqjJe3RL/74cZ91J6azOo2EDJdtNcTFPcQ=; b=ZnfGdrc8anFNQAaLcMX2IIxyzoNdOIEvOLMaXIqhhtA/vbbSz6sDHf1q/1 1PchoO2X2AsS2irKsFaAazhaD1G/Ph96tBGrVU/Zv5zo+DwoMfdo3r/HtHI5 9TofpSOYXU;
Authentication-Results: ams-dkim-1; header.From=pthubert@cisco.com; dkim=pass ( sig from cisco.com/amsdkim1002 verified; );
Cc: ROLL WG <roll@ietf.org>
Subject: Re: [Roll] Fwd: I-D Action:draft-dt-roll-rpl-00.txt Q2..4
X-BeenThere: roll@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Routing Over Low power and Lossy networks <roll.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/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: Wed, 01 Jul 2009 10:16:37 -0000

Hi Alex:

The links to parents form a DAG. If you include the sibling links it is no more a DAG.

Yet the resulting graph has some properties since there is no orientation that leads deeper; so it is not a general network. The difference between what we are doing and more classical routing is that we REALLY want multipath. So we are ready to forward not only along a classical DAG but also via siblings. 

The decision to pass a given packet to a given sibling is taken on a per packet basis when:
- the DAG does not help, none of the parents is usable at this time (e.g. retries failed)
- per packet loop avoidance allows that sibling for that packet

So the whole question is how do we perform per packet loop avoidance. In a very rich world we could actual use a source route header that traces all the hops along a sibling path and try all possibilities. I guess we cannot afford that. We could also build a DAG between siblings but again that would reduce our opportunities. With the current draft, we resolve the most probable loops and let TTL finish the job.

Basically if:
- nodes prefer parents over siblings, sibling path should be real short, and mostly 1 hop.
- nodes do not give a packet back to a sibling, or there's a tie break there, 1 hop loops would be avoided
- TTL is decremented aggressively along sibling path (Like minus N instead of minus 1), loops should not cost too much

The last option is not in the draft yet. It is on the table for discussion. It is a way to adapt the up*down* to IPv6 that has a single counter, hop limit. So we would allow an outward packet to make up to Hop Limit hops along the DAG, but only up to Hop Limit/N hops along siblings, and disallow going outward.

Makes sense?

Pascal

>-----Original Message-----
>From: Alexandru Petrescu [mailto:alexandru.petrescu@gmail.com]
>Sent: mercredi 1 juillet 2009 11:08
>To: Pascal Thubert (pthubert)
>Cc: Goindi, Manhar; JP Vasseur (jvasseur); ROLL WG
>Subject: Re: [Roll] Fwd: I-D Action:draft-dt-roll-rpl-00.txt Q2..4
>
>Pascal, as I wrote in private, I doubt the necessity of using the term
>DAG and the associated DAG theory.  Picturing a DAG without arrows makes
>doubtful sense (figure 1).  A link between siblings would use bidir
>arrows, which would make for a 'loop', which we would try to avoid.
>
>Besides, what would an arrow between two nodes mean actually: is it that
>a node can send a packet to another node but not the other way around?
>Makes little sense to have all edges so unidirectional.
>
>Pascal Thubert (pthubert) a écrit :
>[...]
>> Q: Can siblings hear each other as it is not evident from Figure 2:
>> Example DAG?
>>
>> R: Figure 1 represents connectivity and you can see siblings hearing
>>  each other. Figure 2 represents the DAG so it does not include the
>> sibling links.
>
>It should be clear whether or not the siblings can be linked together by
>links and direct routes or not.  At some point  in the draft this is
>explicitely forbidden (it says traffic from node a to node b deep in the
>network must pass through the DAG root) - this is not good.
>
>> Sibling links are bidirectional at the graph level though
>> unidirectional for a given packet.
>
>I don't understand.  Do you mean that all links in the network (the DAG
>is the network) are _uni_directional?
>
>> We're missing the term to indicate the DAG+sibling_links.
>
>We should call it a network.  A graph of paths hopefully loop-free, not
>necessarily guaranteed.  But not a DAG.
>
>> Gradient is fine when you talk about pointing to the preferred
>> parent, but this is also a term that was overloaded in the past. What
>>  else?
>
>A network.  A net.   A set of paths.  A topology and the associated
>paths.  A conceptual picture stemming from the set of routes present in
>each node's routing table.
>
>I don't understand the word gradient in this context, throughout the
>document.  Is it a derivative of something?  A differential of something?
>
>Alex
>