Accepted Manuscript
Total Page:16
File Type:pdf, Size:1020Kb
Accepted Manuscript Matrix: Multihop Address allocation and dynamic any-To-any Routing for 6LoWPAN Bruna Peres, Bruno P. Santos, Otavio A. de O. Souza, Olga Goussevskaia, Marcos A.M. Vieira, Luiz F.M. Vieira, Antonio A.F. Loureiro PII: S1389-1286(18)30177-4 DOI: 10.1016/j.comnet.2018.04.017 Reference: COMPNW 6479 To appear in: Computer Networks Received date: 30 September 2017 Revised date: 18 April 2018 Accepted date: 20 April 2018 Please cite this article as: Bruna Peres, Bruno P. Santos, Otavio A. de O. Souza, Olga Goussevskaia, Marcos A.M. Vieira, Luiz F.M. Vieira, Antonio A.F. Loureiro, Matrix: Multihop Address alloca- tion and dynamic any-To-any Routing for 6LoWPAN, Computer Networks (2018), doi: 10.1016/j.comnet.2018.04.017 This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain. ACCEPTED MANUSCRIPT Matrix: Multihop Address allocation and dynamic any-To-any Routing for 6LoWPAN a, a a a a a Bruna Peres ∗, Bruno P. Santos , Otavio A. de O. Souza , Olga Goussevskaia , Marcos A. M. Vieira , Luiz F. M. Vieira , Antonio A. F. Loureiroa aComputer Science Department, Universidade Federal de Minas Gerais (UFMG) Av. Antonio Carlos 6627, Belo Horizonte, MG, Brazil. Abstract Standard routing protocols for IPv6 over Low power Wireless Personal Area Networks (6LoWPAN) are mainly designed for data collection applications and work by establishing a tree-based network topology, enables packets to be sent upwards, from the leaves to the root, adapting to dynamics of low-power communication links. In this work, we propose Matrix, a platform-independent routing protocol that utilizes the existing tree structure of the network to enable reliable and efficient any-to-any data traffic in 6LoWPAN. Matrix uses hierarchical IPv6 address assignment to optimize routing table size while preserving bidirectional routing. Moreover, it uses a local broadcast mechanism to forward messages to the right subtree when a persistent node or link failures occur. We implemented Matrix on TinyOS and evaluated its performance both analytically and through simulations on TOSSIM. Our results showed that the proposed protocol is superior to available protocols for 6LoWPAN when it comes to any-to-any data communication, concerning reliability, message efficiency, and memory footprint. Keywords: 6LoWPAN, IPv6, CTP, RPL, any-to-any routing, fault tolerance 1. Introduction Protocol for Low-Power and Lossy Networks [7]), have two distinctive characteristics: communication devices use unstruc- IPv6 over Low-power Wireless Personal Area Networks (6LoW-tured IPv6 addresses that do not reflect the topology of the net- 1 PAN ) is a working group inspired by the idea that even the work (typically derived from their MAC addresses), and routing smallest low-power devices should be able to run the Internet lacks support for any-to-any communication since it is based on Protocol to become part of the Internet of Things. The main distributed collection tree structures focused on bottom-up data function of a low-power wireless network is usually some sort flows (from the leaves to the root). of data collection. Applications based on data collection are The specification of RPL defines two modes of operation for plentiful, examples include environment monitoring [1], field top-down data flows: the non-storing mode, which uses source surveillance [2], and scientific observation [3]. In order to per- routing, and the storing mode, in which each node maintains a form data collection, a cycle-free graph structure is typically routing table for all possible destinations. This requires O(n) maintained and a convergecast is implemented on this network space (where n is the total number of nodes), which is unfea- topology. Many operating systems for sensor nodes (e.g. Tiny sible for memory-constrained devices. Our experiments show OS [4] and Contiki OS [5]) implement mechanisms (e.g. Col- that in random topologies with one hundred nodes, with no link lection Tree Protocol (CTP) [6] or the IPv6 Routing Protocol for or node failures, RPL succeeds to deliver less than 20% of top- Low-Power and Lossy Networks (RPL) [7]) to maintain cycle- down messages sent by the root (see Figure 8). free network topologies to support data-collection applications. Some works have addressed this problem from different per- In some situations, however, data flow in the opposite direc- spectives [8, 9, 10]. CBFR [8] is a routing scheme that builds tion — from the root, or the border router, towards the leaves upon collection protocols to enable point-to-point communica- becomes necessary. These situations might arise in network tion. Each node in the collection tree stores the addresses of configuration routines, specific data queries, or applications that its direct and indirect child nodes using Bloom filters to save require reliable data transmissions with acknowledgments. Stan- memory space. ORPL [9] also uses bloom filters and brings dard routing protocols for low-power wireless networks, such opportunistic routing to RPL to decrease control traffic over- as CTP (Collection Tree Protocol [6]) and RPL (IPv6 Routing load. Both protocols suffer from false positives problem, which ACCEPTED MANUSCRIPTarises from the use of Bloom filters. Even though CTP does not ∗Corresponding author support any-to-any traffic, XCTP [10], an extension of this pro- Email addresses: [email protected] (Bruna Peres), tocol, uses opportunistic and reverse-path routing to enable bi- [email protected] (Bruno P. Santos), [email protected] directional communication in CTP. XCTP is efficient in terms (Otavio A. de O. Souza), [email protected] (Olga Goussevskaia), [email protected] (Marcos A. M. Vieira), [email protected] of message overload, but exhibits the problem of high memory (Luiz F. M. Vieira), [email protected] (Antonio A. F. Loureiro) footprint. 1We use the acronym 6LoWPAN to refer to Low power Wireless Personal In this work, we build upon the idea of using hierarchical Area Networks that use IPv6 Preprint submitted to Computer Networks April 30, 2018 ACCEPTED MANUSCRIPT IPv6 address allocation that explores cycle-free network struc- tocols, such as XCTP and RPL. In addition, when compared to tures and propose Matrix, a routing scheme for dynamic net- our any-to-any routing scheme, the reverse-path routing is more work topologies and fault-tolerant any-to-any data flows in 6LoW- efficient in terms of control traffic. However, the performance of PAN. Matrix assumes that there is an underlying collection tree XCTP is highly dependent on the number of data flows, and can topology (provided by CTP or RPL, for instance), in which be highly degraded when the application requires more flows or nodes have static locations, i.e., are not mobile, and links are the top-down messages are delayed. dynamic, i.e., nodes might choose different parents according to To sum up, Matrix achieves the following essential goals link quality dynamics. Therefore, Matrix is an overlay protocol that motivated our work: that allows any low-power wireless routing protocol to become Any-to-any routing: Matrix enables end-to-end connec- part of the Internet of Things. Matrix uses only one-hop infor- • tivity between hosts located within or outside the 6LoW- mation in the routing tables, which makes the protocol scalable PAN. to extensive networks. In addition, Matrix implements a local broadcast mechanism to forward messages to the right subtree Memory efficiency: Matrix uses compact routing tables • when node or link failures occur. Local broadcast is activated and, therefore, is scalable to extensive networks and does by a node when it fails to forward a message to the next hop not depend on the number of flows in the network. (subtree) in the address hierarchy. Reliability: Matrix achieves 99% delivery without end- After the network has been initialized and all nodes have • to-end mechanisms, and delivers 90% of end-to-end received an IPv6 address range, three simultaneous distributed packets when a route exists under≥ challenging network trees are maintained by all nodes: the collection tree (Ctree), the conditions. IPv6 address tree (IPtree), and the reverse collection tree (RC- tree). The Ctree is built and maintained by a collection protocol Communication efficiency: Matrix uses adaptive bea- (in our case, CTP). It is a minimum cost tree to nodes that adver- • coning based on Trickle algorithm [11] to minimize the tise themselves as tree roots. The IPtree is built by matrix over number of control messages in dynamic network topolo- the first stable version of the Ctree in the reverse direction, i.e., gies (except with node mobility). nodes in the Ctree receive an hierarchical IPv6 address from Hardware independence: Matrix does not rely on spe- root to leaves, originating a static structure. Since the Ctree is • cific radio chip features, and only assumes an underlying dynamic, i.e., links might change due to link qualities, at some collection tree structure. point in the execution the IPtree no longer corresponds to the reverse Ctree. Therefore, the RCtree is created to reflect the IoT integration: Matrix allocates global (and structured) dynamics of the collection tree in the reverse direction. • IPv6 addresses to all nodes, which allow nodes to act as Initially, any-to-any packet forwarding is performed using destinations integrated into the Internet, contributing to Ctree for bottom-up, and IPtree for top-down data flows. When- the realization of the Internet of Things.