Re: [Roll] [roll] #93: A single P2P-RPL invocation can discovery upto 4 source routes. Why 4?

Mukul Goyal <mukul@uwm.edu> Sun, 08 April 2012 20:45 UTC

Return-Path: <prvs=4385599de=mukul@uwm.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 BD2EB21F852E for <roll@ietfa.amsl.com>; Sun, 8 Apr 2012 13:45:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.111
X-Spam-Level:
X-Spam-Status: No, score=-6.111 tagged_above=-999 required=5 tests=[AWL=0.488, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KpQjZsNdLM14 for <roll@ietfa.amsl.com>; Sun, 8 Apr 2012 13:45:37 -0700 (PDT)
Received: from ip2mta.uwm.edu (ip2mta.uwm.edu [129.89.7.20]) by ietfa.amsl.com (Postfix) with ESMTP id D688121F852A for <roll@ietf.org>; Sun, 8 Apr 2012 13:45:36 -0700 (PDT)
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: Ap0EAGz4gU9/AAAB/2dsb2JhbABEhWa2UgUBAQEgSwYFGxoCDRkCKTAGE4gOC6cUiGmJCYEvjhOBGASIWo0SgRGPJYMFgTYX
Received: from localhost (localhost.localdomain [127.0.0.1]) by mta02.pantherlink.uwm.edu (Postfix) with ESMTP id 4F86112E3C1; Sun, 8 Apr 2012 15:45:36 -0500 (CDT)
X-Virus-Scanned: amavisd-new at mta02.pantherlink.uwm.edu
Received: from mta02.pantherlink.uwm.edu ([127.0.0.1]) by localhost (mta02.pantherlink.uwm.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id s0zSSejASsgC; Sun, 8 Apr 2012 15:45:35 -0500 (CDT)
Received: from mail17.pantherlink.uwm.edu (mail17.pantherlink.uwm.edu [129.89.7.177]) by mta02.pantherlink.uwm.edu (Postfix) with ESMTP id DD58012E3BC; Sun, 8 Apr 2012 15:45:35 -0500 (CDT)
Date: Sun, 08 Apr 2012 15:45:35 -0500
From: Mukul Goyal <mukul@uwm.edu>
To: C Chauvenet <c.chauvenet@watteco.com>
Message-ID: <1380616773.1851920.1333917935800.JavaMail.root@mail17.pantherlink.uwm.edu>
In-Reply-To: <97B69B30E0EF244B940B65EA541E3F2D02216532@AMXPRD0510MB390.eurprd05.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
X-Originating-IP: [129.89.7.91]
X-Mailer: Zimbra 6.0.13_GA_2918 (ZimbraWebClient - IE8 (Win)/6.0.13_GA_2918)
X-Authenticated-User: mukul@uwm.edu
Cc: roll@ietf.org
Subject: Re: [Roll] [roll] #93: A single P2P-RPL invocation can discovery upto 4 source routes. Why 4?
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: Sun, 08 Apr 2012 20:45:37 -0000

Please see inline (note the changed title of this ticket)

Thanks
Mukul


#93: Whether P2P-RPL should support establishment of a backward hop-by-hop route?

 Resolution: Open

 Discussion:

 p12 :  This specification does not allow for the establishment of hop-by-  hop routes in the backward direction.

 [Cedric]
 Why ? This would enable to establish 2 routes within a single route  request.
 Furthermore, you stipulates in the draft that links have to be  bidirectional to propagates RDO, in order to be able to send back the DRO.
 So if I understand it correctly you ensure that you have a reliable path  in both ways. Why using it in a single way only ?

 [Mukul]
 Suppose a DRO establishing a forward hop-by-hop route fails to make it to  the origin. In this case, all we have is some nodes storing the hop-by-hop  state for a broken route but that route is never used since the origin  never gets the DRO. On the other hand, if the DRO establishing a backward  hop-by-hop route fails to make it to the origin, we have a broken route  that the target is likely to use (to reach the origin). So, if we want  P2P-RPL to establish a backward hop-by-hop route, the target MUST ask for  a DRO-ACK from the origin (to make sure that the DRO does reach the origin  and hence the backward route is not broken). This can be done if you think  it will be useful. We did not include this in P2P-RPL because we did not  have a usecase for backward hop-by-hop routes and we wanted to avoid the  additional complexity.

 This is how we can implement this functionality: we will let the target  decide whether it wants the DRO to establish a backward hop-by-hop route.
 In that case:
 1) the target will set a new flag, the B flag (B for backward hop-by-hop  route), inside the DRO to let intermediate routers know that backward  route state needs to be established as well;
 2) the target will set the A flag to require a DRO-ACK from the origin;
 3) the target will specify (inside a new field in the DRO), an  RPLInstanceID under which the hop-by-hop state for the backward route will  be stored. Note that the RPLInstanceID of the forward route (selected by  the origin) may not be OK for use in backward route (because the target  may have already used this RPLInstanceID for another hop-by-hop route,  using different routing-metrics/constraints/OF, to the origin).
 When the intermediate routers receive this DRO, they will store the hop-  by-hop state for the backward route. This hop-by-hop state will consist
 of:
 1) Target address (taken from P2P-RDO inside the DRO).
 2) RPLInstanceID specified by the target
 3) The destination, i.e., the origin address (same as DODAGID inside the  DRO).

 Do you want this functionality?

[Cedric2] 
The group has to discuss and decide wether it is usefull or not. I personnaly think that RPL-P2P draft may be used for binding devices, so it could be valuable to create a 2 way path between the origin and the target. So I would vote in favor of such a mechanism. 
Though, I don't think we should create a new DAG (i.e. select a new RPLInstanceID) for the backward route. What I would like is just the ability for 2 devices to exchange packet in both ways using the same temporary DAG created by RPL-P2P. Let me explain the use case with an example : For instance, if you have nodes deployed in a building or a city, and you want to configure some of them. An operator could go in the area where devices to be programmed are installed (or in the neighborhood at least) with a "configurator node", and need to established a P2P route between this configurator node and the node(s) to be configurated. They create a temporary DAG (possibly through several hops) and exchange configuration frames. Because such messages are  critically important, you often need application layer acknowledgments, so a backward route is needed.
Is the actual specification compliant with such a use case without modification ? (using piggybacked DATA inside RDO and DRO messages) ? Or do wee need an additional mechanism such as the one you described ?

[Mukul2]
The target can always use the route inside a received P2P-RDO to source-route a message (e.g. an application level ack) back to the origin. Also, as you noticed, the target can place one or more data options inside the DRO to send an application level message back to the origin. So, the use case you have mentioned (which is, by the way, a common use case in commercial building environment) is supported by current P2P-RPL specification. In my view, no additional mechanism is required if the intent is to just support the usecase you described. Infact, we could not come up with a usecase where backward hop-by-hop routes are absolutely must. So, we decided to keep the specs simple by not allowing establishment of such routes. Also, currently we are shooting for an experimental RFC. If, at a later stage, we realize that backward hop-by-hop routes are necessary, we could support them in standards track RFC. 
 

-- 
-----------------------------------+---------------------
 Reporter:  jpv@…                  |      Owner:  mukul@…
     Type:  defect                 |     Status:  new
 Priority:  major                  |  Milestone:
Component:  p2p-rpl                |    Version:
 Severity:  Submitted WG Document  |   Keywords:
-----------------------------------+---------------------

Ticket URL: <http://trac.tools.ietf.org/wg/roll/trac/ticket/93>
roll <http://tools.ietf.org/wg/roll/>

_______________________________________________
Roll mailing list
Roll@ietf.org
https://www.ietf.org/mailman/listinfo/roll