Internet DRAFT - draft-gnawali-roll-rpl-recommendations
draft-gnawali-roll-rpl-recommendations
Networking Working Group O. Gnawali
Internet-Draft University of Houston
Intended status: BCP P. Levis
Expires: September 15, 2013 Stanford University
March 14, 2013
Recommendations for Efficient Implementation of RPL
draft-gnawali-roll-rpl-recommendations-05
Abstract
RPL is a flexible routing protocol applicable to a wide range of Low
Power and Lossy Networks. To enable this wide applicability, RPL
provides many configuration options and gives implementers choices on
how to implement various components of RPL. Drawing on our
experiences, we distill the design choices and configuration
parameters that lead to efficient RPL implementations and operations.
Status of this Memo
This Internet-Draft is submitted to IETF 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 15, 2013.
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.
Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the
document authors. All rights reserved.
Gnawali & Levis Expires September 15, 2013 [Page 1]
Internet-Draft draft-gnawali-roll-rpl-recommendations March 2013
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 BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Set the Minimum Trickle Interval with Care . . . . . . . . . . 3
4. Use Large Maximum Trickle Interval . . . . . . . . . . . . . . 4
5. Use Small Trickle Redundancy Constant . . . . . . . . . . . . . 4
6. Poison Route Sparingly . . . . . . . . . . . . . . . . . . . . 4
7. Preserve Neighbor Information . . . . . . . . . . . . . . . . . 4
8. Slow-Down Datapath Traffic During Path Inconsistency . . . . . 4
9. Choose Better Path Cost Over Route Stability . . . . . . . . . 5
10. Consider State Overhead While Running Storing Mode . . . . . . 5
11. Prevent Situations That Make Nodes a Leaf . . . . . . . . . . . 5
12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 5
13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
14. Security Considerations . . . . . . . . . . . . . . . . . . . . 6
15. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6
15.1. Normative References . . . . . . . . . . . . . . . . . . . 6
15.2. Informative References . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 6
Gnawali & Levis Expires September 15, 2013 [Page 2]
Internet-Draft draft-gnawali-roll-rpl-recommendations March 2013
1. Introduction
RPL [RFC6550] is a routing protocol that is applicable in a wide
range of settings in networks characterized by low power and lossy
links (LLN). Because RPL is designed to work in a wide range of
settings, it offers many configuration parameters and choices in how
different mechanisms are implemented. This flexibility is essential
to ensure the wide applicability of this protocol.
One can take advantage of this flexibility to implement and configure
RPL in the most efficient way for a given network. However, it is
easy to inadvertently configure RPL to work inefficiently in the
network. These design choices must be made carefully drawing on
implementation and operational experiences.
In this document, we describe aspects of configuration and mechanisms
that impact the performance of RPL. We hope these descriptions serve
as guidelines and best practices for RPL implementers and enables
them to understand why certain design and configuration choices are
favored over others.
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in RFC
2119 [RFC2119].
This terminology used in this document is consistent with the
terminologies described in [I-D.ietf-roll-terminology], [RFC6550],
and [RFC6551].
This document does not introduce new terms.
3. Set the Minimum Trickle Interval with Care
The minimum Trickle interval determines the fastest rate at which RPL
will send DIOs. It is not useful to have multiple DIOs in the
transmit queue at a given node. The information in the older DIOs is
likely already stale when the new DIO is generated. In systems that
cannot cancel the packets that are already in the queue, it is
advisable to set the minimum interval to be much larger than the
minimum link layer packet time.
Gnawali & Levis Expires September 15, 2013 [Page 3]
Internet-Draft draft-gnawali-roll-rpl-recommendations March 2013
4. Use Large Maximum Trickle Interval
The maximum Trickle interval determines the slowest rate at which RPL
will send DIOs. It is recommended that the maximum interval is set
to several hours. A large interval does not necessarily make RPL
less agile or the routing information stale. Trickle will operate at
a rate between the minimum and maximum interval depending on the
dynamics in the network.
5. Use Small Trickle Redundancy Constant
If a node receives more DIOs than the redundancy constant, it does
not transmit, i.e., suppresses, its DIO. The rationale for this
suppression is that the additional DIOs do not help discover new or
better paths if certain number of DIOs have already been transmitted
in the neighborhood of a node. In general, the smaller this number
the more energy-efficient the route discovery. But setting this
value too small can lead to network partitioning as many nodes will
suppress their DIOs and will not be discovered. A constant of 3-5
has been found adequate in deployments.
6. Poison Route Sparingly
It is often not necessary for a node to poison a route explicitly by
advertising a rank of INFINITY. With datapath validation, it is easy
to detect a loop and coupled with adaptive beaconing, the routes can
be repaired quickly without additional explicit mechanism for route
poisoning. Poisoning the route does not prevent loops because the
control packet can get dropped on the lossy link.
7. Preserve Neighbor Information
The neighborhood information is useful even when a node detects that
it has lost a route. It is recommended that the nodes not flush the
entire or subset of the neighbor table even when a node loses its
route or detects a loop. It is sufficient to mark the nodes in the
table with the updated information that resulted in route loss or
loops, e.g., marking the particular parent with a rank of INFINITY.
8. Slow-Down Datapath Traffic During Path Inconsistency
When a node detects that a path is inconsistent through datapath
validation, it tasks the control plane to repair the topology and
make it consistent. During this time, although the route is
Gnawali & Levis Expires September 15, 2013 [Page 4]
Internet-Draft draft-gnawali-roll-rpl-recommendations March 2013
available, it is advisable that the data packets are sent at lower
rates to reduce contention with the control packets. This slow-down
can increase data packet latency or lead to queue overflow.
9. Choose Better Path Cost Over Route Stability
With bursty links, a link metric designed to reflect link quality
accurately can change rapidly. Other link metrics may also change
rapidly. As a result, the path cost computed using these agile
metrics can change rapidly. Selecting the best path then implies
frequent parent changes. Route flapping is not detrimental to the
performance of many network protocols such as sensor data collection
over UDP. Hence, oftentimes, it is better to optimize for path cost
than for path stability.
10. Consider State Overhead While Running Storing Mode
A naive implementation of storing mode will have large state
overhead, especially in large networks. However, it may be possible
for storing mode to use RAM more efficiently by state aggregation,
compression, and other techniques. The extent to which these
techniques reduce the memory overhead, although promising based on
experiences with other protocols, has not been evaluated for RPL
state overhead. TinyOS open source implementation on TelosB, which
has 10KB of RAM, is known to limit the routing table size to 30. An
implementation on Contiki on MSP430F5438-based platform with has 16K
of RAM is reported (in a private email to the authors) to support 100
entries.
11. Prevent Situations That Make Nodes a Leaf
When different nodes in a single network run different OFs, have
incompatible metrics, or run a mix of storing and non-storing
modes[I-D.ko-roll-mix-network-pathology], the nodes may not join the
DODAG or join as leaf nodes which do not extend DODAG connectivity as
described in Section 8.5 of [RFC6550]. Thus, operating as a leaf
node in the middle of a network can lead to network partitioning even
though the network is physically connected. Generally avoid
configurations that force some nodes to operate as leaf nodes even
though the leaf nodes are at the physical edge of the network.
12. Acknowledgements
Thanks to Ulrich Herberg, Mukul Goyal, C Chauvenet, JP Vasseur, and
Gnawali & Levis Expires September 15, 2013 [Page 5]
Internet-Draft draft-gnawali-roll-rpl-recommendations March 2013
Joakim Eriksson for their valuable comments.
13. IANA Considerations
None.
14. Security Considerations
There are no security implications related to this draft.
15. References
15.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC6550] Winter, T., Thubert, P., Brandt, A., Hui, J., Kelsey, R.,
Levis, P., Pister, K., Struik, R., Vasseur, JP., and R.
Alexander, "RPL: IPv6 Routing Protocol for Low-Power and
Lossy Networks", RFC 6550, March 2012.
[RFC6551] Vasseur, JP., Kim, M., Pister, K., Dejean, N., and D.
Barthel, "Routing Metrics Used for Path Calculation in
Low-Power and Lossy Networks", RFC 6551, March 2012.
15.2. Informative References
[I-D.ietf-roll-terminology]
Vasseur, J., "Terminology in Low power And Lossy
Networks", draft-ietf-roll-terminology-12 (work in
progress), March 2013.
[I-D.ko-roll-mix-network-pathology]
Ko, J., Jeong, J., Park, J., Jun, J., Kim, N., and O.
Gnawali, "RPL Routing Pathology In a Network With a Mix of
Nodes Operating in Storing and Non-Storing Modes",
draft-ko-roll-mix-network-pathology-02 (work in progress),
February 2013.
Gnawali & Levis Expires September 15, 2013 [Page 6]
Internet-Draft draft-gnawali-roll-rpl-recommendations March 2013
Authors' Addresses
Omprakash Gnawali
University of Houston
577 Philip G. Hoffman Hall
Houston, TX 77204
USA
Phone: +1 713 743 3356
Email: gnawali@cs.uh.edu
Philip Levis
Stanford University
412 Gates Hall, Stanford University
Stanford, CA 94305
USA
Email: pal@cs.stanford.edu
Gnawali & Levis Expires September 15, 2013 [Page 7]