How to develop and validate a scalable mesh routing solution for IEEE sensor networks Altran Benelux

Similar documents
6LoWPAN (IPv6 based Low Power WPAN)

IPv6 Stack. 6LoWPAN makes this possible. IPv6 over Low-Power wireless Area Networks (IEEE )

Outlook on IEEE ZigBee Implications IP Requirements IPv6 over Low Power WPAN (IEEE ) Conclusions. KRnet /21

Evaluation of 6LoWPAN Implementations

Mobile Communications. Ad-hoc and Mesh Networks

Chapter 4 Network Layer: The Data Plane

Outline. Introduction. The Internet Architecture and Protocols Link Layer Technologies Introduction to 6LoWPAN The 6LoWPAN Format Bootstrapping

TinyOS meets IP -- finally

Unicast Routing in Mobile Ad Hoc Networks. Dr. Ashikur Rahman CSE 6811: Wireless Ad hoc Networks

Internet Protocols (chapter 18)

The Internet. 9.1 Introduction. The Internet is a global network that supports a variety of interpersonal and interactive multimedia applications.

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia

Proposed Node and Network Models for M2M Internet

An Industry view of IPv6 Advantages

TCP/IP and the OSI Model

Introduction to Internetworking

CMPE 257: Wireless and Mobile Networking

This tutorial will help you in understanding IPv4 and its associated terminologies along with appropriate references and examples.

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ

Politecnico di Milano Advanced Network Technologies Laboratory. 6LowPAN

Data and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications

MULTICAST AND IGMPv3. Announcements. Today s Lecture. Multicast (No Sharing) Unicast. I. HW5 will be online today CIDR, subnets, routing

RAJIV GANDHI COLLEGE OF ENGINEERING AND TECHNOLOGY

1. The Internet 2. Principles 3. Ethernet 4. WiFi 5. Routing 6. Internetworking 7. Transport 8. Models 9. WiMAX & LTE 10. QoS 11. Physical Layer 12.

Routing over Low Power and Lossy Networks

SEN366 (SEN374) (Introduction to) Computer Networks

The Interconnection Structure of. The Internet. EECC694 - Shaaban

TCP/IP Overview. Basic Networking Concepts. 09/14/11 Basic TCP/IP Networking 1

ETSF05/ETSF10 Internet Protocols Network Layer Protocols

Chapter 09 Network Protocols

CMPE 257: Wireless and Mobile Networking

EEC-684/584 Computer Networks

Faculty of Science and IT Course title. Pre-requisite/corequisite

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964

VXLAN Overview: Cisco Nexus 9000 Series Switches

TSIN02 - Internetworking

Introduction to routing in the Internet

Internetworking/Internetteknik, Examination 2G1305 Date: August 18 th 2004 at 9:00 13:00 SOLUTIONS

Need For Protocol Architecture

Integration of Wireless Sensor Network Services into other Home and Industrial networks

Loosely Coupled Actor Systems

CASAN: A New Communication Architecture for Sensors Based on CoAP

IP - The Internet Protocol

Introduction to routing in the Internet

Guide to TCP/IP, Third Edition. Chapter 3: Data Link and Network Layer TCP/IP Protocols

Cisco Virtual Networking Solution for OpenStack

OSI Network Layer. Network Fundamentals Chapter 5. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Chapter 12 Network Protocols

TCP/IP Protocol Suite

Enhancement of CoAP Packet Delivery Performance for Internet of Things. Hang Liu

Introduction to Computer Networks. CS 166: Introduction to Computer Systems Security


EE 610 Part 2: Encapsulation and network utilities

TCP/IP Protocol Suite and IP Addressing

Agenda L2 versus L3 Switching IP Protocol, IP Addressing IP Forwarding ARP and ICMP IP Routing First Hop Redundancy

TCP/IP Networking. Training Details. About Training. About Training. What You'll Learn. Training Time : 9 Hours. Capacity : 12

Internetworking. different kinds of network technologies that can be interconnected by routers and other networking devices to create an internetwork

ET4254 Communications and Networking 1

Question 7: What are Asynchronous links?

Ad Hoc Networks: Issues and Routing

Unit 5 - IPv4/ IPv6 Transition Mechanism(8hr) BCT IV/ II Elective - Networking with IPv6

Need For Protocol Architecture

MODULE: NETWORKS MODULE CODE: CAN1102C. Duration: 2 Hours 15 Mins. Instructions to Candidates:

RMIT University. Data Communication and Net-Centric Computing COSC 1111/2061. Lecture 2. Internetworking IPv4, IPv6

The Internet Protocol (IP)

SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN

LOGICAL ADDRESSING. Faisal Karim Shaikh.

The Internetworking Problem. Internetworking. A Translation-based Solution

Chapter 20 Network Layer: Internet Protocol 20.1

Ch. 22 Bootstrap And Autoconfiguration (DHCP, NDP or IPv6-ND)

CS-435 spring semester Network Technology & Programming Laboratory. Stefanos Papadakis & Manolis Spanakis

Internetworking Over SpaceWire: A Link-Layer Layer Broadcast Service for Network Stack Support

Mobile Communications

CCRI Networking Technology I CSCO-1850 Spring 2014

Content. 1. Introduction. 2. The Ad-hoc On-Demand Distance Vector Algorithm. 3. Simulation and Results. 4. Future Work. 5.

CIS 632 / EEC 687 Mobile Computing

Chapter 16 Networking

Gateway Discovery Approaches Implementation and Performance Analysis in the Integrated Mobile Ad Hoc Network (MANET)-Internet Scenario

IP Address Assignment

Configuring IPv4. Finding Feature Information. This chapter contains the following sections:

Design Considerations for Low Power Internet Protocols. Hudson Ayers Paul Crews, Hubert Teo, Conor McAvity, Amit Levy, Philip Levis

Cisco CCNA (ICND1, ICND2) Bootcamp

Fixed Internetworking Protocols and Networks. IP mobility. Rune Hylsberg Jacobsen Aarhus School of Engineering

Topics for This Week

To make a difference between logical address (IP address), which is used at the network layer, and physical address (MAC address),which is used at

Top-Down Network Design, Ch. 7: Selecting Switching and Routing Protocols. Top-Down Network Design. Selecting Switching and Routing Protocols

Where we are in the Course

Lecture 8: February 19

IEEE s ESS Mesh Networking

CHAPTER 4: ROUTING DYNAMIC. Routing & Switching

Exercise Sheet 4. Exercise 1 (Routers, Layer-3-Switches, Gateways)

Reti di Calcolatori I

Ad Hoc Routing Protocols and Issues

Chapter 5. The Network Layer. Network Layer Design Isues. Store-and-Forward Packet Switching 10/7/2010. Implementation of Connectionless Service

Chapter 5. The Network Layer

IP Protocols. ALTTC/Oct

Mobile Communications Chapter 8: Routing Protocols

Networked Embedded Systems: 6LoWPAN

CS 43: Computer Networks. 21: The Network Layer & IP November 7, 2018

Chapter 5. The Network Layer. CEN Chapter 5 1

Transcription:

How to develop and validate a scalable mesh routing solution for IEEE 802.15.4 sensor networks Altran Benelux Leuven, 29 October 2015 Daniele Lacamera <daniele.lacamera@altran.com>

picotcp The reference TCP/IP Stack for the Internet of Things Modularity Performance Portability Quality A fully featured highly portable TCP/IP Stack designed for embedded devices

Modularity SELECT COMPILE Your picotcp make ARCH=stm32 CROSS_COMPILE=arm-none-eabi- IPV4=1 TCP=1 UDP=1

Portability CPU Architecture independent 8, 16, 32 & 64 bit. Big or Little endian Bare Metal / Embedded OS / OS / RTOS 10+ different platforms already supported New platforms easily added (RT)OS easily added: e.g. FreeRTOS 10 days

Quality RFC 768 User Datagram Protocol (UDP) RFC 791 Internet Protocol (IP) RFC 792 Internet Control Message Protocol (ICMP) RFC 793 Transmission Control Protocol (TCP) RFC 816 Fault Isolation and Recovery RFC 826 Address Resolution Protocol (ARP) RFC 879 The TCP Maximum Segment Size and Related Topics RFC 894 IP over Ethernet RFC 896 Congestion Control in IP/TCP Internetworks RFC 919 Broadcasting Internet Datagrams RFC 922 Broadcasting Internet Datagrams in the Presence of Subnets RFC 950 Internet Standard Sub-netting Procedure RFC 1009 Requirements for Internet Gateways RFC 1034 Domain Names Concepts and Facilities RFC 1035 Domain Names Implementation and Specification RFC 1071 Computing the Internet Checksum RFC 1112 Internet Group Management Protocol (IGMP) RFC 1122 Requirements for Internet Hosts Communication Layers RFC 1191 Path MTU Discovery RFC 1323 TCP Extensions for High Performance RFC 1337 TIME-WAIT Assassination Hazards in TCP RFC 1534 Interoperation Between DHCP and BOOTP RFC 1542 Clarifications and Extensions for the Bootstrap Protocol Quality oriented development environment Test Driven Development Continuous Integration & Automated testing (Virtual testing is possible) Code Quality check: Tiobe Tics Continuous improvement Full compliance with IETF TCP/IP standards

picotcp Community driven Full source code freely available Public issue-tracking system

picotcp Free/Open Source licensing policy in place Freely distributed under the GNU General Public License for the benefit of the community Proprietary license available at user's option, when the platform code can't fully comply with the terms of GPL Full copyright is owned by TASS: different licensing agreements are possible for special cases github! http://www.github.org/tass-belgium/picotcp

Mesh networks Nodes low-power limited resources (RAM, Flash) small payload short RF range limited availability (nodes turning off, moving off-range, ) Reaching a distant node in the mesh requires other node to forward the message every node in the path knows the route to destination

Mesh networks Cognitive networking Each node adapts its routing table to reflect the current topology Nodes communicates to each other to retrieve updated topology information Protocols standardized by IETF OLSR - proactive dynamic routing AODV - reactive dynamic routing 6loWPAN - L2+IPv6 based routing

picomesh Technical Challenge port picotcp to tinyos establish TCP/IP routes on small nodes using IP Fragmentation test the dynamic routing mechanism on a real MESH network Goals provide picotcp driver for IEEE802.15.4 radio device improve OLSR support integrate real test scenarios with emulation and virtualization tools release validated software as Open Source

picomesh Step 1: port picotcp to tinyos Modify tinyos application Makefile to link with the picotcp library add a nesc wrapper for the picotcp API add a nesc wrapper for the radio Driver

picomesh Step 2: putting it all together

picomesh Step 3: Program the nodes in the testbed

picomesh Once the development loop is in place: compile, test, debug, repeat Schedule the job on TESTBED gather test Results from DB Build test application gather debug information from test node Analysis Fix implementation

picomesh In order to speed up development, an emulator was written inspired by the wilab-t testbed released under GPL available on github: https://github.com/danielinux/geomess

picomesh The emulator introduced a new workflow, to debug protocol-specific issues not related to the porting Schedule Run in the the job emulator on TESTBED gather routing tables gather from test Results simulated from DB nodes Build test application Schedule the job on TESTBED gather debug information from test node Analysis Fix implementation

picomesh The emulator can reproduce the exact location of the physical nodes

picomesh the routing table from a test node on the emulator is the same as the same node in the real testbed the emulator is validated ==== ROUTING TABLE ===== Route to 000000e0/000000f0, gw 00000000, dev: picomesh00aa, metric: 1 Route to 00002a0a/0000ffff, gw 00000000, dev: picomesh00aa, metric: 1 Route to 75002a0a/ffffffff, gw ba002a0a, dev: picomesh00aa, metric: 3 Route to 77002a0a/ffffffff, gw ba002a0a, dev: picomesh00aa, metric: 3 Route to 7b002a0a/ffffffff, gw ba002a0a, dev: picomesh00aa, metric: 2 Route to 7d002a0a/ffffffff, gw ba002a0a, dev: picomesh00aa, metric: 2 Route to 81002a0a/ffffffff, gw b9002a0a, dev: picomesh00aa, metric: 2 Route to 82002a0a/ffffffff, gw ba002a0a, dev: picomesh00aa, metric: 2 Route to 83002a0a/ffffffff, gw ba002a0a, dev: picomesh00aa, metric: 2 Route to 84002a0a/ffffffff, gw ba002a0a, dev: picomesh00aa, metric: 2 Route to 87002a0a/ffffffff, gw ba002a0a, dev: picomesh00aa, metric: 2 Route to 89002a0a/ffffffff, gw ba002a0a, dev: picomesh00aa, metric: 2 Route to 8c002a0a/ffffffff, gw ba002a0a, dev: picomesh00aa, metric: 3

picomesh Similar results can be obtained using Cooja, a wireless sensor simulator which is able to run the tinyos firmware image linked with picotcp

picomesh: Crew testbed results OLSR application running on wilab-t Nodes change colors depending on the number of route entries Links have different colors, based on the number of hops: green indicates 1-hop links orange indicates 2-hops links red indicates >2-hops links

picomesh: Crew testbed results OLSR application running on wilab-t

picomesh: project conclusions successfully ported picotcp to tinyos developed an Open Source MESH network emulator, based on geographical positions of the nodes and their ranges improved OLSR (RFC3626) implementation for picotcp proven feasibility of real IPv4 MESH networking over a IEEE802.15.4 topology solved the hidden-node problem using dynamic routing

Feedback w-ilab.t eases to scale the number of nodes using JIRA as an issue tracker is a very efficient way of problem solving CREW team has been very supportive during the whole duration of the experiments All of this has helped a lot to reach the expected results

Statistics Nr of reservation slots: 223 Avg duration of reservation slot: 14 minutes Avg number of wireless nodes: 28.9 Avg number of mobile nodes: 0 Total duration of reservations: 2.2 days First slot: March 17th 2014 Last slot: November 14th 2014

Recent improvements January 2015: the company becomes Intelligent Systems/Altran. The focus remains on research and development of advanced networking solutions Looking for alternatives to OLSR in the field of cognitive networking Q1.2015: Implemented Ad-hoc On-demand Distance Vector Routing (AODV) following specifications from IETF RFC 3561 Q3.2015: Experimental implementation for 6LoWPAN, including 802.15.4 Datalink layer mesh topologies, following specifications from IETF RFC 4944

AODV Different approach from OLSR On-demand route discovery (reactive rather than proactive topology composition) More ultra-low power friendly routes are discovered only when needed) No overhead traffic generated by the discovery algorithm when no payload traffic is present Solution based on network layer routes, applicable to different physical layers (802.15.4, 802.11 ad-hoc, etc.) Part of design and implementation is in common with 802.11s Link-failure awareness

6LoWPAN Based on datalink layer addresses Native solution for compressing and fragmenting IPv6 packets De-facto standard for 802.15.4 networks, proposed by IEEE Support for Broadcast, Multicast and Unicast traffic Built-in mesh solution for multi-hop routing Cross-layer extensions for IPv6 Neighbor Discovery algorithm (RFC 6775) Production ready in picotcp by Q1.2016

Future experiments The validation of the three available solution and the performance comparisons can benefit from the use of a real Testbed like the one provided by CREW Implementing the newer cognitive networking solutions would only require a small porting effort Other parameters can be measured and compared power consumed worst-case route determination time impact of fragmentation strategies on throughput and packet loss topology robustness against node failures

Thanks! Questions? Daniele Lacamera <daniele.lacamera@altran.com>