Implementation and Testing of Loadng: a Routing Protocol for WSN
Total Page:16
File Type:pdf, Size:1020Kb
Bachelor of Science Thesis Telecommunication Engineering Implementation and Testing of LOADng: a Routing Protocol for WSN by Alberto Camacho Martínez Directed by: Thomas H. Clausen Paris, 2012 To my family Abstract The Wireless Sensor Networks is an emerging technology with strong poten- tial in a wide range of fields. Data acquisition, connectivity, and monitoring are real demand services in constant growth in which sensor networks can take an important role. Routing protocols for wireless sensor networks must be developed to sat- isfy the needs of the applications and to adapt to the limited sensor nodes resources. The current standardized routing protocol for Wireless Sensor Networks, RPL, has been proved to be inefficient in some scenarios and for certain traffic patterns. There is a need to develop routing protocols adapted to the traffic patterns in which RPL is not optimized. The work collected in this manuscript contributes in the developing process of a routing protocol for wireless sensor networks, LOADng [32], which was submitted as an IETF internet-draft during the elaboration of this thesis. The description of LOADng draft is presented in chapter 3. A LOADng implementation has been written and integrated into Contiki OS, an operating system for sensor nodes and other embedded systems. This implementation is documented in chapter 5. During the development of this work, some interoperability tests were made in cooperation with HIPERCOM, Hitachi YRL, and EDF. The results were satisfactory and are published in [10]. The results of the simulations testing LOADng implementation – and per- formance – for Contiki OS are presented in chapter 6 of this manuscript. This manuscript concludes stating that LOADng is able to discover routes in mesh networks, and is able to find optimal paths towards the destination when using the hop-counting metrics. Resumen Las Redes de Sensores (Wireless Sensor Networks, WSN) es una tecnología emergente con un gran potencial de uso en distintas aplicaciones. La adquisi- ción de datos, conectividad y monotorización son servicios cada vez más necesarios y demandados, en los que las redes de sensores pueden tomar un papel importante. Los protocolos de enrutamiento para redes de sensores deben ser diseñadas para satisfacer los requerimentos de las aplicaciones y adaptarse a los recur- sos limitados de los nodos sensores. Se ha probado que el protocolo estándar de enrutamiento en WSN, RPL, es ineficiente en cierto tipo de escenarios y cierto tipo de tráfico de datos. Es necesario por tanto diseñar nuevos proto- colos de enrutamiento que se adapten a los patrones de tráfico en que RPL no es eficiente. El trabajo contenido en este manuscrito contribuye en el proceso de desar- rollo de un protocolo de enrutamiento para redes de sensores, LOADng [11], que fue presentado como internet-draft en el IETF durante la elaboracion de esta tesis. El capítulo 3 contiene la descripción de LOADng. LOADng se ha implementado e integrado en Contiki OS, un sistema opera- tivo para nodos sensores y otros sistemas embebidos. Dicha implementación está documentada en el capítulo 5. Durante el desarrollo de esta tesis se realizaron unos tests de interoperabilidad para LOADng en cooperación con HIPERCOM, Hitachi YRL y EDF. Los resultados fueron satisfactorios y están publicados en [10]. En el capítulo 6 se presenta los resultados de las simulaciones realizadas para testear la implementación – y eficiencia – de LOADng para Contiki OS. Este manuscrito concluye afirmando que LOADng es capaz de descubrir rutas multisalto en redes mesh, y usando la métrica del número de saltos es capaz de obtener rutas óptimas. Resum Les Xarxes de Sensors (Wireless Sensor Networks, WSN) es una tecnologia emergent amb un gran potencial d’ús en diverses aplicacions. L’adquisició de dades, connectivitat, i monotorització són serveis cada cop més necesaris i demandats en què les xarxes de sensors poden jugar un paper important. Els protocols d’enrutament per xarxes de sensors deuen ser dissenyats per satisfer els requeriments d les aplicacions i adaptar-se als recursos limitats dels nodes sensors. S’ha provat que el protocol estàndard d’enrutament en WSN, RPL, és ineficient en cert tipus d’escenaris i cert tipus de tràfic de dades. És necessari, per tant, dissenyar nous protocols d’enrutament que s’adaptin als patons de àfic en que RPL no és eficient. El treball contingut en aquest manuscrit contribueix en el procès de desen- volumapent d’un protocol d’enrutament per a xarxes de sensors, LOADng [11], que va ser presentat com internet-draft al IETF durant l’elaboració d’aquesta tesi. El capítol 3 conté una descripció de LOADng. LOADng s’ha implementat i integrat en Contiki OS, un sistema operatiu per a nodes sensors i altres sistemes embeguts. Aquesta implementació esta documentada al capítol 5. Durant el desenvolupament d’aquesta tesi es van realitzar uns tests d’interoperabilitat per a LOADng en cooperació amb HIPERCOM, Hitachi YRL, i EDF. Els resultats van ser satisfactoris i estàn publicats a [10]. El capítol 6 presenta els resultats de les simulacions realitzades per testejar la implementació – i aficiència – de LOADng per a Contiki OS. Aquest manuscrit conclou afirmant que LOADng és capaç de descobrir rutes multisalt en xarxes mesh i, emprant la mètrica del número de salts és capaç d’obtindre rutes òptimes. Acknowledgements This work was realized during an internship at the Hipercom research group, at the Laboratoire d’Informatique (LIX) of the Ecole Polytechnique. This means this work would not have been possible without the opportunity that Prof. Dr. Thomas Clausen gave to me to join his group. Special thanks to my colleagues. Listed alphabetically: Thomas Clausen, Juan Antonio Cordero, Ulrich Herberg, Matthias Philipp, Axel C. de Verdière, Georg Wittenburg, and Jiazi Yi. It was a privilege working with such a high level team. They gave me the opportunity to discuss ideas, contribute to the development of a protocol and, definitely, made me feel part of a research team. Last, but not the least, I would also thank the research group at Hitachi YRL: Yuichi Igarashi, Yoko Morii, and Hiroki Satoh for his kindness and courtesy during the development of the interoperability tests at Tokyo, Japan. Contents Contentsi 1 Wireless Sensor Networks1 1.1 Description and Characteristics.................... 1 1.1.1 Elements of a WSN ...................... 1 1.1.2 Characteristics of WSN .................... 2 1.1.3 Design Factors ......................... 5 1.2 Nodes in a WSN ............................ 6 1.2.1 Hardware............................ 6 1.2.2 Platform comparison...................... 7 1.3 Applications of WSN.......................... 10 1.3.1 Medicine ............................ 10 1.3.2 Military............................. 11 1.3.3 Road Traffic........................... 12 1.3.4 Environment .......................... 13 1.3.5 Home .............................. 14 1.4 Standardization............................. 14 1.4.1 IETF Working Groups..................... 15 1.4.2 IEEE 802.15.4 ......................... 17 1.5 Motivation ............................... 18 1.5.1 WSN evolution......................... 19 1.5.2 Future Internet Networks ................... 20 1.6 Conclusion ............................... 21 2 Routing protocols in WSN 23 2.1 Protocol Stack ............................. 23 2.1.1 The Physical Layer....................... 24 2.1.2 The Data Link Layer...................... 24 2.1.3 Network Layer ......................... 25 2.1.4 Transport Layer ........................ 25 ii CONTENTS 2.1.5 Application Layer ....................... 25 2.2 Routing in WSN ............................ 25 2.2.1 Route selection criteria..................... 26 2.2.2 Route managing ........................ 26 2.2.3 Packet routing ......................... 27 2.3 Mesh-under vs. Route-over Routing ................. 28 2.3.1 Analysis............................. 29 2.3.2 Benefits of each scheme .................... 29 2.4 Routing protocols............................ 30 2.4.1 RPL protocol.......................... 30 2.4.2 AODV.............................. 36 2.4.3 OLSR.............................. 37 2.4.4 ZRP............................... 38 2.5 Conclusion ............................... 40 3 LOADng Draft 41 3.1 Process Overview............................ 41 3.2 Definitions................................ 42 3.2.1 Terminology........................... 42 3.2.2 Parameters ........................... 43 3.3 Structures................................ 44 3.3.1 LOADng Packets........................ 44 3.3.2 Information Base........................ 47 3.4 Algorithm................................ 49 3.4.1 Common rules for RREQ and RREP messages . 49 3.4.2 LOADng Packet Processing.................. 52 3.4.3 LOADng Packet Forwarding.................. 54 3.5 Route Maintenance........................... 56 3.6 Conclusion ............................... 56 4 Working Tools 59 4.1 Contiki OS ............................... 59 4.1.1 Rime Stack........................... 60 4.2 Cooja Simulator ............................ 62 4.2.1 Graphical User Interface.................... 63 4.2.2 Wireless Channel Model.................... 64 4.2.3 Debbugging in Cooja...................... 65 4.3 Tools................................... 66 4.4 Conclusion ............................... 67 5 LOADng Implementation 69 5.1 Implementation overview........................ 69 CONTENTS iii 5.2 Routing in Contiki OS......................... 70 5.3 Modules................................. 71 5.3.1