ROLL P. Thubert, Ed.
Internet-Draft Cisco Systems
Intended status: Standards Track March 29, 2011
Expires: September 30, 2011
RPL Objective Function 0
draft-ietf-roll-of0-08
Abstract
The Routing Protocol for Low Power and Lossy Networks defines a
generic Distance Vector protocol for Low Power and Lossy Networks.
That generic protocol requires a specific Objective Function to
establish a desired routing topology. This specification defines a
basic Objective Function that operates solely with the protocol
elements defined in the generic protocol specification.
Thubert Expires September 30, 2011 [Page 1]
Internet-Draft draft-ietf-roll-of0 March 2011
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 30, 2011.
Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Thubert Expires September 30, 2011 [Page 2]
Internet-Draft draft-ietf-roll-of0 March 2011
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Objective Function 0 Overview . . . . . . . . . . . . . . . . 6
4. Selection of the Preferred Parent . . . . . . . . . . . . . . 8
5. Selection of the backup feasible successor . . . . . . . . . . 9
6. Abstract Interface with RPL core . . . . . . . . . . . . . . . 10
7. OF0 Constants and Variables . . . . . . . . . . . . . . . . . 11
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
9. Security Considerations . . . . . . . . . . . . . . . . . . . 13
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 14
11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 15
11.1. Normative References . . . . . . . . . . . . . . . . . . 15
11.2. Informative References . . . . . . . . . . . . . . . . . 15
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 17
Thubert Expires September 30, 2011 [Page 3]
Internet-Draft draft-ietf-roll-of0 March 2011
1. Introduction
The IETF ROLL Working Group has defined application-specific routing
requirements for a Low Power and Lossy Network (LLN) routing
protocol, specified in [RFC5548], [RFC5673], [RFC5826], and
[RFC5867].
The Routing Protocol for Low Power and Lossy Networks
[I-D.ietf-roll-rpl] was designed as a generic core that is agnostic
to metrics and that is adapted to a given problem using Objective
Functions (OF). This separation of Objective Functions from the core
protocol specification allows RPL to adapt to meet the different
optimization criteria the wide range of use cases requires.
RPL forms Destination Oriented Directed Acyclic Graphs (DODAGs)
within instances of the protocol. Each instance is associated with
an Objective Function that is designed to solve the problem that is
addressed by that instance.
An Objective Function selects the DODAG version that a device joins,
and a number of neighbor routers within that version as parents or
feasible successors. The OF generates the Rank of the device, that
represents an abstract distance to the root within the DODAG. In
turn, the Rank is used by the generic RPL core to enable a degree of
loop avoidance and verify forward progression towards a destination,
as specified in [I-D.ietf-roll-rpl].
The Objective Function 0 (OF0) corresponds to the Objective Code
Point 0 (OCP0). OF0 only requires the information in the RPL DIO
base container, such as Rank and the DODAGPreference field that
describes an administrative preference [I-D.ietf-roll-rpl]. The Rank
of a node is obtained by adding a normalized scalar Rank-increase to
the Rank of a selected preferred parent. OF0 uses a unit of Rank-
increase of 0x100 so that Rank value can be stored in one octet.
This allows up to at least 28 hops even when default settings are
used and each hop has the worst Rank-increase of 9.
Since there is no default OF or metric container in the RPL main
specification, it might happen that, unless given two implementations
follow a same guidance for a specific problem or environment, those
implementations will not support a common OF with which they could
interoperate. OF0 is designed to be used as a common denominator
between all generic implementations. This is why it is very abstract
as to how the link properties are transformed into a Rank-increase
and leaves that responsibility to implementation; rather, OF0
enforces normalized values for the Rank-increase of a normal link and
its acceptable range, as opposed to formulating the details of the
its computation. This is also why OF0 ignores metric containers.
Thubert Expires September 30, 2011 [Page 4]
Internet-Draft draft-ietf-roll-of0 March 2011
2. Terminology
The terminology used in this document is consistent with and
incorporates that described in `Terminology in Low power And Lossy
Networks' [I-D.ietf-roll-terminology] and [I-D.ietf-roll-rpl].
The term feasible successor is used to refer to a neighbor that can
possibly be used as a next-hop for upwards traffic following the loop
avoidance and forwarding rules that the nodes implements and that are
defined outside of this specification, in particular in the RPL
specification.
Thubert Expires September 30, 2011 [Page 5]
Internet-Draft draft-ietf-roll-of0 March 2011
3. Objective Function 0 Overview
The core RPL specification describes constraints on how nodes select
potential parents, called a parent set, from their neighbors. All
parents are feasible successors for upgoing traffic (towards the
root). Additionally, RPL allows the use of nodes in a subsequent
version of a same DODAG as feasible successors, in which case this
node acts as a leaf in the subsequent DODAG version. Further
specifications might extend the set of feasible successors, for
instance to nodes of a same Rank, aka siblings.
The Goal of the OF0 is for a node to join a DODAG version that offers
connectivity to a specific set of nodes or to a larger routing
infrastructure. For the purpose of OF0, Grounded thus means that the
root provides such connectivity. How that connectivity is asserted
and maintained is out of scope.
Objective Function 0 is designed to find the nearest Grounded root.
This can be achieved if the Rank of a node represents closely its
distance to the root. This need is balanced with the other need of
maintaining some path diversity.
In the absence of a Grounded root, LLN inner connectivity is still
desirable and floating DAGs will form, rooted at the nodes with the
highest administrative preference.
OF0 selects a preferred parent and a backup feasible successor if one
is available. All the upward traffic is normally routed via the
preferred parent. When the link conditions do not let an upward
packet through the preferred parent, the packet is passed to the
backup feasible successor.
OF0 assigns a Step-of-Rank to each link to another node that it
monitors. The exact method for computing the Step-of-Rank is
implementation-dependent.
One trivial OF0 implementation might compute the Step-of-Rank from as
a classical administrative cost that is assigned to the link. Using
a metric similar to hop count implies that the OF0 implementation
only considers neighbors with good enough connectivity, for instance
neighbors that are reachable over an ethernet link, or a WIFI link in
infrastructure mode.
In most wireless networks, a Rank that is analogous to an unweighted
hop count favors paths with long distance links and poor connectivity
properties. Other link properties such as the expected transmission
count metric (ETX) [DeCouto03] should be used instead to compute the
Step-of-Rank. For instance, the Minimum Rank Objective Function with
Thubert Expires September 30, 2011 [Page 6]
Internet-Draft draft-ietf-roll-of0 March 2011
Hysteresis [I-D.ietf-roll-minrank-hysteresis-of] provides guidance on
how link cost can be computed and on how hysteresis can improve Rank
stability.
An implementation MAY allow to stretch the Step-of-Rank with a
Stretch-of-Rank up to no more than MAXIMUM_RANK_STRETCH in order to
enable the selection of a feasible successor in order to maintain
some path diversity. The use of a Stretch-of-Rank augments the
apparent distance from the node to the root and distorts the DODAG;
it should be used with care so as to avoid instabilities due to
greedy behaviours.
The Step-of-Rank is expressed in units of MINIMUM_STEP_OF_RANK. As a
result, the least significant octet in the RPL Rank is not used. The
default Step-of-Rank is DEFAULT_STEP_OF_RANK for each hop. An
implementation MUST maintain the stretched Step-of-Rank between
MINIMUM_STEP_OF_RANK and MAXIMUM_STEP_OF_RANK, which allows to
reflect a large variation of link quality.
The gap between MINIMUM_STEP_OF_RANK and MAXIMUM_RANK_STRETCH may not
be sufficient in every case to strongly distinguish links of
different types or categories in order to favor, say, powered over
battery-operated or wired over wireless, within a same DAG. An
implementation SHOULD allow a configurable factor called Rank-factor
and to apply the factor on all links and peers.
An implementation MAY recognizes sub-categories of peers and links,
such as different MAC types, in which case it SHOULD be able to
configure a more specific Rank-factor to those categories. The Rank-
factor SHOULD be set between MINIMUM_RANK_FACTOR and
MAXIMUM_RANK_FACTOR. The Step-of-Rank Sp that is computed for that
link s multipled by the Rank-factor Rf and then possibly stretched by
a Stretch-of-Rank Sr. The resulting Rank-increase Ri is added to the
Rank of preferred parent R(P) to obtain that of this node R(N):
R(N) = R(P) + Ri where Ri = Rf*Sp + Sr.
Optionally, the administrative preference of a root MAY be configured
to supercede the goal to reach Grounded root. In that case, nodes
will associate to the root with the highest preference available,
regardless of whether that root is Grounded or not. Compared to a
deployment with a multitude of Grounded roots that would result in a
same multitude of DODAGs, such a configuration may result in possibly
less but larger DODAGs, as many as roots configured with the highest
priority in the reachable vincinity.
Thubert Expires September 30, 2011 [Page 7]
Internet-Draft draft-ietf-roll-of0 March 2011
4. Selection of the Preferred Parent
As it scans all the candidate neighbors, OF0 keeps the parent that is
the best for the following criteria (in order):
1. [I-D.ietf-roll-rpl] spells out the generic rules for a node to
reparent and in particular the boundaries to augment its Rank
within a DODAG version. A candidate that would not satisfy
those rules MUST NOT be considered.
2. An implementation should validate a router prior to selecting it
as preferred. This validation process is implementation and
link type dependent, and is out of scope. A router that has
been validated is preferrable.
3. When multiple interfaces are available, a policy might be
locally configured to prioritize them and that policy applies
first; that is a router on a higher order interface is
preferable.
4. In the absence of a Grounded DODAG version, the router with a
higher administrative preference SHOULD be preferred.
Optionally, this selection applies regardless of whether the
DODAG is Grounded or not.
5. A router that offers connectivity to a grounded DODAG version
SHOULD be preferred over one that does not.
6. When comparing 2 routers that belong to the same DODAG, a router
that offers connectivity to the freshest version SHOULD be
preferred.
7. The parent that causes the lesser resulting Rank for this node
SHOULD be preferred.
8. A DODAG version for which there is an alternate parent SHOULD be
preferred. This check is optional. It is performed by
computing the backup feasible successor while assuming that the
router that is currently examined is finally selected as
preferred parent.
9. The preferred parent that was in use already SHOULD be
preferred.
10. A router that has announced a DIO message more recently SHOULD
be preferred.
Thubert Expires September 30, 2011 [Page 8]
Internet-Draft draft-ietf-roll-of0 March 2011
5. Selection of the backup feasible successor
When selecting a backup feasible successor, the OF performs in order
the following checks:
1. When multiple interfaces are available, a router on a higher
order interface is preferable.
2. The backup feasible successor MUST NOT be the preferred parent.
3. The backup feasible successor MUST be either in the same DODAG
version as the preferred parent or in an subsequent version.
Note that if the backup feasible successor is not from the
current version then it can not be used as parent.
4. Along with RPL rules, a Router with a Rank that is higher than
the Rank computed for this node MUST NOT be selected as a
feasible successor. Further specifications might allow a node of
a same Rank as a feasible successor.
5. A router with a lesser Rank SHOULD be preferred.
6. A router that has been validated as usable by an implementation
dependant validation process SHOULD be preferred.
7. The backup feasible successor that was in use already SHOULD be
preferred.
Thubert Expires September 30, 2011 [Page 9]
Internet-Draft draft-ietf-roll-of0 March 2011
6. Abstract Interface with RPL core
Objective Function 0 interacts with the core RPL in the following
ways:
Processing DIO: This core RPL triggers the OF when a new DIO was
received. OF0 analyses the information in the DIO and may
select the source as a parent or sibling.
Providing DAG information The OF0 support can be required to provide
the DAG information for a given instance to the RPL core.
This includes the material that is contained in a DIO base
header.
Providing a Parent List The OF0 support can be required to provide
the ordered list of the parents and feasible successors
for a given instance to the RPL core. This includes the
material that is contained in the transit option for each
entry.
Trigger The OF0 support may trigger the RPL core to inform it that
a change occurred. This can be used to indicate whether
the change requires a new DIO to be fired or whether
trickle timers need to be reset.
Thubert Expires September 30, 2011 [Page 10]
Internet-Draft draft-ietf-roll-of0 March 2011
7. OF0 Constants and Variables
OF0 uses the following constants:
MinHopRankIncrease: 256
DEFAULT_STEP_OF_RANK: 3 * MinHopRankIncrease
MINIMUM_STEP_OF_RANK: 1 * MinHopRankIncrease
MAXIMUM_STEP_OF_RANK: 9 * MinHopRankIncrease
MAXIMUM_RANK_STRETCH: 5 * MinHopRankIncrease
DEFAULT_RANK_FACTOR: 1
MINIMUM_RANK_FACTOR: 1
MAXIMUM_RANK_FACTOR: 4
Thubert Expires September 30, 2011 [Page 11]
Internet-Draft draft-ietf-roll-of0 March 2011
8. IANA Considerations
IThis specification requires the assignment of an OCP for OF0. The
value of 0 is suggested.
Thubert Expires September 30, 2011 [Page 12]
Internet-Draft draft-ietf-roll-of0 March 2011
9. Security Considerations
Security Considerations for OCP/OF are to be developed in accordance
with recommendations laid out in, for example,
[I-D.tsao-roll-security-framework].
Thubert Expires September 30, 2011 [Page 13]
Internet-Draft draft-ietf-roll-of0 March 2011
10. Acknowledgements
Most specific thanks to Philip Levis for his help in finalizing this
document, in particular WRT wireless links, to Tim Winter, JP
Vasseur, Julien Abeille, Mathilde Durvy, Teco Boot, Navneet Agarwal
and Henning Rogge for in-depth review and first hand implementer's
feedback.
Thubert Expires September 30, 2011 [Page 14]
Internet-Draft draft-ietf-roll-of0 March 2011
11. References
11.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
11.2. Informative References
[DeCouto03]
De Couto, Aguayo, Bicket, and Morris, "A High-Throughput
Path Metric for Multi-Hop Wireless Routing", MobiCom
'03 The 9th ACM International Conference on Mobile
Computing and Networking, San Diego, California,, 2003, <h
ttp://pdos.csail.mit.edu/papers/grid:mobicom03/paper.pdf>.
[I-D.ietf-roll-minrank-hysteresis-of]
Gnawali, O. and P. Levis, "The Minimum Rank Objective
Function with Hysteresis",
draft-ietf-roll-minrank-hysteresis-of-01 (work in
progress), February 2011.
[I-D.ietf-roll-routing-metrics]
Vasseur, J., Kim, M., Pister, K., Dejean, N., and D.
Barthel, "Routing Metrics used for Path Calculation in Low
Power and Lossy Networks",
draft-ietf-roll-routing-metrics-19 (work in progress),
March 2011.
[I-D.ietf-roll-rpl]
Winter, T., Thubert, P., Brandt, A., Clausen, T., Hui, J.,
Kelsey, R., Levis, P., Pister, K., Struik, R., and J.
Vasseur, "RPL: IPv6 Routing Protocol for Low power and
Lossy Networks", draft-ietf-roll-rpl-19 (work in
progress), March 2011.
[I-D.ietf-roll-terminology]
Vasseur, J., "Terminology in Low power And Lossy
Networks", draft-ietf-roll-terminology-05 (work in
progress), March 2011.
[I-D.tsao-roll-security-framework]
Tsao, T., Alexander, R., Daza, V., and A. Lozano, "A
Security Framework for Routing over Low Power and Lossy
Networks", draft-tsao-roll-security-framework-02 (work in
progress), March 2010.
[RFC5548] Dohler, M., Watteyne, T., Winter, T., and D. Barthel,
Thubert Expires September 30, 2011 [Page 15]
Internet-Draft draft-ietf-roll-of0 March 2011
"Routing Requirements for Urban Low-Power and Lossy
Networks", RFC 5548, May 2009.
[RFC5673] Pister, K., Thubert, P., Dwars, S., and T. Phinney,
"Industrial Routing Requirements in Low-Power and Lossy
Networks", RFC 5673, October 2009.
[RFC5826] Brandt, A., Buron, J., and G. Porcu, "Home Automation
Routing Requirements in Low-Power and Lossy Networks",
RFC 5826, April 2010.
[RFC5867] Martocci, J., De Mil, P., Riou, N., and W. Vermeylen,
"Building Automation Routing Requirements in Low-Power and
Lossy Networks", RFC 5867, June 2010.
Thubert Expires September 30, 2011 [Page 16]
Internet-Draft draft-ietf-roll-of0 March 2011
Author's Address
Pascal Thubert (editor)
Cisco Systems
Village d'Entreprises Green Side
400, Avenue de Roumanille
Batiment T3
Biot - Sophia Antipolis 06410
FRANCE
Phone: +33 497 23 26 34
Email: pthubert@cisco.com
Thubert Expires September 30, 2011 [Page 17]