Internet DRAFT - draft-baraq-roll-drizzle
draft-baraq-roll-drizzle
ROLL
INTERNET-DRAFT B.Ghaleb
Intended Status: Standards Track A.Al-Dubai
Expires: September 23, 2018 I.Romdhani
M.Qasem
Edinburgh Napier University
March 22, 2018
Drizzle Algorithm
draft-baraq-roll-drizzle-00
Abstract
Trickle algorithm used in RPL routing protocol suffers from some
issues related to power, network convergence time and overhead and
load-distribution. To optimize this algorithm for Low-power and Lossy
Networks (LLNs), a new algorithm called Drizzle is introduced.
Drizzle uses an adaptive suppression mechanism that permits the nodes
to have different transmission probabilities, which are consistent
with their transmission history. Compared to Trickle, Drizzle removes
the listen-only period from Drizzle's intervals, thus, leading to
faster convergence time. Furthermore, a new policy for setting the
redundancy coefficient has been used to mitigate the negative effect
of the short-listen problem presented when removing the listen-only
period and to further boost the fairness in the network.
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), its areas, and its working groups. Note that
other groups may also distribute working documents as
Internet-Drafts.
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."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html
Ghaleb, et al. Expires September 23, 2018 [Page 1]
INTERNET DRAFT Drizzle Algorithm March 22, 2018
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
Copyright and License Notice
Copyright (c) 2018 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.
Table of Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Drizzle Algorithm . . . . . . . . . . . . . . . . . . . . . . 4
2.1 Drizzle Variables . . . . . . . . . . . . . . . . . . . . . 4
2.1 Drizzle Parameters . . . . . . . . . . . . . . . . . . . . . 4
2.1 Drizzle Operations . . . . . . . . . . . . . . . . . . . . . 5
3 Security Considerations . . . . . . . . . . . . . . . . . . . . 7
4 References . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.1 Normative References . . . . . . . . . . . . . . . . . . . 7
4.2 Informative References . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8
Ghaleb, et al. Expires September 23, 2018 [Page 2]
INTERNET DRAFT Drizzle Algorithm March 22, 2018
1 Introduction
A key design principle of any routing protocol is to have an
efficient mechanism for disseminating routing information through the
network, and maintaining up-to-date information. One of the
mechanisms to perform this task is to periodically propagate the
routing information so often which is widely used in unconstrained
wired networks. A major issue with adopting this approach is the high
volume of traffic overhead that may affect negatively the performance
of the resource-constrained large-scale LLNs [1]. The simplicity of
route update and maintenance adopted by those routing protocols is
the primary reason behind this issue. This is because that routing
information must be propagated periodically by each sensor node even
in the case when there is no a significant change in the state of the
network [1]. A recent and more efficient approach is the one
standardized by the IETF ROLL group to regulate the emission of
routing information in LLNs, namely, Trickle algorithm [RFC 6206].
The basic idea behind Trickle is to equip resource-constrained nodes
with a simple and energy-efficient primitive for disseminating
routing information throughout the network. Trickle uses two
mechanisms to achieve this goal. The first mechanism is to adaptively
increase the signaling rate upon detecting new routing information.
In contrast, it exponentially reduces the signaling rate when the
network state is up-to-date in order to save energy and bandwidth.
The second is the suppression mechanism in which a node suppresses
the transmission of its routing information if detected that enough
number of its neighbors have transmitted the same piece of
information. The main issue with Trickle is that it is mainly
developed for code propagation which in one way or another has
different characteristics in comparison with routing maintenance in a
routing protocol [2]. Specifically , Trickle has some issues related
to its convergence time and fairness as detailed in [3][4]
To alleviate Trickle issues, an enhanced algorithm for disseminating
routing information in LLNs is proposed. The proposed Drizzle
algorithm attempts to address the limitations of the previous
algorithms and in particular Trickle algorithm. Drizzle offers an
adaptive suppression mechanism that permits the nodes to have
different transmission probabilities, which are consistent with their
transmission history, removes the listen-only period thus, leading to
faster convergence time and implements a new policy for setting the
redundancy coefficient.
1.1 Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
Ghaleb, et al. Expires September 23, 2018 [Page 3]
INTERNET DRAFT Drizzle Algorithm March 22, 2018
document are to be interpreted as described in RFC 2119 [RFC2119].
2. Drizzle Algorithm
Compared to Trickle, Drizzle has many distinguishing features and
different policies enhance routing maintenance in LLNs. Drizzle
differs in two major ways. First, the suppression mechanism in
Drizzle is adaptive so that the nodes have the capacity to adjust
their transmission probability according to their transmission
history. This, in one hand, relieves the network administrator from
the concern of configuring the redundancy coefficient. On the other
hand, it will endorse the fairness of the algorithm, as the nodes
that have transmitted more in the previous intervals would have less
probability to send in the current interval. The fairness of the
algorithm has been further supported by giving each node a
transmission slot within each interval also depending on their
transmission history. Second, Drizzle eliminates the listen-only
period presented in Trickle intervals so that each node can schedule
its transmission at any point throughout the interval rather than the
second half only. This would enable the nodes to contend in a wider
window reducing the collision probability. Another advantage of this
primitive is that any change in the network state will have the
chance to be propagated more rapidly than in other techniques such as
in Trickle algorithm. In this regards, Drizzle uses the same number
of parameters used by Trickle and seven maintaining-state variables
as described in the following sections.
2.1 Drizzle Variables
- s: Number of sent messages until the algorithm reset its interval to
the minimum interval.
- n: Number of intervals between two resets.
- R: A flag (0 or 1) according to the case that produced inconsistency
state.
- ck: Current value of the redundancy coefficient.
- I: Length of the current interval.
- t: A randomly chosen time within the current interval to transmit at.
- c: Message counter to keep a track of number of received consistent
messages within the current interval.
2.1 Drizzle Parameters
Ghaleb, et al. Expires September 23, 2018 [Page 4]
INTERNET DRAFT Drizzle Algorithm March 22, 2018
Drizzle uses the following parameters:
- The minimum interval length (Imin): This is the fastest transmission
rate in time units that a node should transmit at when inconsistency
in the network has been discovered.
- The maximum interval length (Imax): This is the slowest transmission
rate in time units that a node should transmit at when the network
reaches its steady phase.
- The redundancy factor (K): represents the number of received
consistent messages that a node should receive during one interval
before suppressing its own transmission.
2.1 Drizzle Operations
Drizzle is executed over eight steps:
- Step 1: Drizzle starts its operations by setting its first interval
to "Imin", and the redundancy value "ck" to the initial value of the
redundancy coefficient "k". It also sets the broadcast messages
number "s" and the consistency counter "c" to 0. Finally, it sets the
"R" and the number of intervals "n" to 1.
- Step 2: On the beginning of each interval "I", Drizzle assigns a
randomly selected value in the interval to the variable "t" taken
from the range: [s * I/n, (s + 1) * I/n].
- Step 3: Upon receiving a consistent message, Drizzle increments its
consistency counter by one.
- Step 4: When a node running Drizzle detects inconsistency state,
Drizzle resets its timer by setting I to "Imin", if it was not
already set, resets the interval counter "c" and the message counter
"s" to 0 while it resets the value of interval counter "n" to 1. It
also sets the value of the "R" to either one or 0 according to the
case that produced the inconsistency. We limit the cases in which the
"R" is set to 1 to only three cases:
* (a) when the root establishes the construction of the DODAG,
* (b) when the root initiates a global repair,
* and (c) when a node firstly joins the DODAG.
- Step 5: At the randomly selected time "t", if the counter "c" is
less than the redundancy coefficient "ck", Drizzle transmits its
scheduled message, otherwise, the message is suppressed. At this time
Drizzle also resets the consistency counter "c" to 0.
- Step 6: If the scheduled message has been transmitted, Drizzle
Ghaleb, et al. Expires September 23, 2018 [Page 5]
INTERNET DRAFT Drizzle Algorithm March 22, 2018
increases the broadcasted messages number "s" by a value of 1. It
also decrements the redundancy coefficient current value by 1. If the
value of "ck" would be less than 0, Drizzle sets it to 0.
- Step 7: If the scheduled message has been suppressed, Drizzle
increments the redundancy coefficient current value by 1. If the
value of "ck" would exceed the initial value of the redundancy
coefficient "k", Drizzle sets it to "k".
- Step 8: Finally, once the interval "I" expires, Drizzle decreases its
transmission rate through doubling the length of the interval
providing that the "R" value is 1. If the value of the "R" is equal
to 0, Drizzle decreases its transmission rate through entering
directly the slowest transmission rate. In all cases, if the size of
the new interval would exceed "Imax". Drizzle sets the interval size
"I" to "Imax" and re-executes the steps from Step 2. The interval
counter "n" is increased by 1.
Ghaleb, et al. Expires September 23, 2018 [Page 6]
INTERNET DRAFT Drizzle Algorithm March 22, 2018
3 Security Considerations
Since the routing metrics/constraints are carried within RPL message,
the security routing mechanisms defined in [RFC6550] apply here.
4 References
4.1 Normative References
[RFC6550] Winter, T., Ed., Thubert, P., Ed., 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.
[RFC6552] Thubert, P., Ed., "Objective Function 0 for the Routing
Protocol for Low-Power and Lossy Networks (RPL)", RFC
6552, March 2012.
[RFC6719] Gnawali, O. and P. Levis, "The Minimum Rank with
Hysteresis Objective Function", RFC 6719, DOI
10.17487/RFC6719, September 2012.
[RFC6551] Vasseur, J., Ed., Kim, M., Ed., Pister, K., Dejean, N.,
and D. Barthel, "Routing Metrics Used for Path Calculation
in Low-Power and Lossy Networks", RFC 6551, March 2012.
[RFC 6206] P. Levis, T. Clausen, J. Hui, O. Gnawali, and J. Ko, "The
Trickle algorithm," RFC 6206, Internet Engineering Task
Force (IETF), 2011
4.2 Informative References
[1] L. Praditasnee, Y.-C. Tian, and D. Jayalath, "Efficient route
update and maintenance processes for multipath routing in large-
scale industrial wireless sensor networks," in Telecommunication
Networks and Applications Conference (ATNAC), 2012 Australasian,
2012, pp. 1-6.
[2] C. Vallati and E. Mingozzi, "Trickle-F: Fair broadcast suppression
to improve energy-efficient route formation with the RPL routing
protocol,"in Sustainable Internet and ICT for Sustainability
(SustainIT), 2013,2013, pp. 1-9.
[3] B. Djamaa and M. Richardson, "Optimizing the Trickle
Ghaleb, et al. Expires September 23, 2018 [Page 7]
INTERNET DRAFT Drizzle Algorithm March 22, 2018
Algorithm,"IEEE Communications Letters, vol. 19, no. 5, pp. 819-
822, May 2015.
[4] B. Ghaleb, A. Al-Dubai, I. Romdha, Y. Nasser and A. Boukerche,
"Drizzle: Adaptive and fair route maintenance algorithm for Low-
power and Lossy Networks in IoT," 2017 IEEE International
Conference on Communications (ICC), Paris, 2017, pp. 1-6.
Authors' Addresses
Baraq Ghaleb (Editor)
Edinburgh Napier Universty
10 Colinton Road, EH10 5DT, Edinburgh, UK
EMail: b.ghaleb@napier.ac.uk
Ahmed Al-Dubai
Edinburgh Napier Universty
10 Colinton Road, EH10 5DT, Edinburgh, UK
Phone: +44 131 455 2796
EMail: a.al-dubai@napier.ac.uk
Imed Romdhani (Editor)
Edinburgh Napier Universty
10 Colinton Road, EH10 5DT, Edinburgh, UK
Phone: +44 131 455 2726
EMail: i.romdhani@napier.ac.uk
Mamoun Qasem
Edinburgh Napier Universty
10 Colinton Road, EH10 5DT, Edinburgh, UK
EMail: m.qasem@napier.ac.uk
Ghaleb, et al. Expires September 23, 2018 [Page 8]