## 3 Related Technologies
### IPv6 Routing Protocol for Low Power and Lossy Networks  
The IETF routing over low-power and lossy networks (RoLL) working group was chartered to design a routing protocol to be used in 6 LoWPAN networks that addresses the requirements described in RFCs 5548 [37], 5673 [38], 5826 [39], and 5867 [40]. In 2010, RoLL introduced the IPv6 Routing Protocol for Low-power and lossy networks (RPL) [31].  
Currently multipoint-to-point traffic pattern is dominant, because in most LoWPAN applications a few nodes are used to retrieve data from sensor nodes and the sensors rarely communicate between each other. To support this traffic pattern, RPL builds a destination oriented directed acyclic graph (DODAG) to route the data traffic. RPL defines a new ICMPv6 message with three possible types: DODAG information object (DIO) used to transport information that allows a node to discover an RPL instance, learn its configuration parameters and select DODAG parents; the DODAG information solicitation (DIS) to request a DODAG information object from a RPL node and the destination advertisement object (DAO) used to propagate information upwards along the DODAG.  
During the DODAG construction and maintenance, nodes send DIO messages to their neighbors, carrying the objective function used to compute the rank value of each node. The rank defines the node relative position within a DODAG with respect to the root. The objective function specifies the metrics and constraints used to compute the routing path, the node rank position and the parent node set. RPL includes a flexible framework that incorporates dynamic routing metrics, such as expected number of transmissions (ETX). RPL also describes the constraints on how nodes select potential parents from their neighbors. For example, the node security support can be used as a constraint and, in this case, the nodes that do not support some security mechanism cannot be members of the DODAG. Nodes listen for DIO messages and use their information to join a new DODAG or to maintain an existing DODAG. Based on the DIO information, nodes choose parents that minimize path cost to the DODAG root. In the steady state, each node has a set of parents where the one with least rank value is selected as the preferred parent and the others are used as backup nodes.  
DIO messages only enable upward routes computation and nodes have no knowledge about their children. In order to support routing to other destinations within the DODAG, RPL uses DAO messages to inform parents of their presence and reachability to descendants. The root node gathers the DAO messages from all other nodes and uses them to build downward routes to all destinations. RPL also defines local and global repair methods for re-computing routes when some inconsistency is detected.  
Security is an important design consideration for LoWPAN networks because several attacks against the routing protocols were already identified. In order to guarantee the integrity of routing messages, RPL defines an optional cryptographic operation mode, in which advanced encryption mechanisms are used for message authentication. AES for message authentication and RSA signatures for checking the integrity of routing messages are already considered. Using ECC signatures to substitute RSA is possible and desirable because it provides the same security guarantees with much smaller keys, although the ECC inclusion is a work in progress [41].