Connecting the World of Embedded Mobiles: The RIOT Approach to Ubiquitous Networking for the IoT Martine Lenders Freie Universität Berlin m.lenders@fu-berlin.de Peter Kietzmann HAW Hamburg peter.kietzmann@haw-hamburg.de Oliver Hahm RIOT oleg@riot-os.org Hauke Petersen Freie Universität Berlin hauke.petersen@fu-berlin.de Cenk Gündoğan HAW Hamburg cenk.guendogan@haw-hamburg.de Emmanuel Baccelli Inria emmanuel.baccelli@inria.fr Kaspar Schleiser RIOT kaspar@schleiser.de Thomas C. Schmidt HAW Hamburg t.schmidt@haw-hamburg.de Matthias Wählisch Freie Universität Berlin m.waehlisch@fu-berlin.de ABSTRACT The Internet of Things (IoT) is rapidly evolving based on low-power compliant protocol standards that extend the Internet into the em- bedded world. Pioneering implementations have proven it is feasible to inter-network very constrained devices, but had to rely on pecu- liar cross-layered designs and ofer a minimalistic set of features. In the long run, however, professional use and massive deployment of IoT devices require full-featured, cleanly composed, and fexible network stacks. This paper introduces the networking architecture that turns RIOT into a powerful IoT system, to enable low-power wireless scenarios. RIOT networking ofers (i) a modular architecture with generic interfaces for plugging in drivers, protocols, or entire stacks, (ii) support for multiple heterogeneous interfaces and stacks that can concurrently operate, and (iii) GNRC, its cleanly layered, recur- sively composed default network stack. We contribute an in-depth analysis of the communication performance and resource efciency of RIOT, both on a micro-benchmarking level as well as by com- paring IoT communication across diferent platforms. Our fndings show that, though it is based on signifcantly diferent design trade- ofs, the networking subsystem of RIOT achieves a performance equivalent to that of Contiki and TinyOS, the two operating systems which pioneered IoT software platforms. 1 INTRODUCTION The Internet is constantly evolving. While Internet mobility was proposed and developed 15 years ago [25, 28], followed by a decade of massive deployment for Internet connected mobiles, we are now facing a strong momentum towards inter-networking the world of small embedded devices. It is the vision of the Internet of Things (IoT) [5] to connect the physical world by means of sensors and Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for proft or commercial advantage and that copies bear this notice and the full citation on the frst page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s). ,, © 2021 Copyright held by the owner/author(s). actuators, thereby enabling entirely new services and drastic ef- ciency improvements for industry, consumers, and the common public environment. The initial mobile revolution was grounded on smartphones and handhelds, smartTVs and other single-board computers such as the RasberryPi. These machines have enough resources to run common operating systems such iOS, Linux, BSD, Windows, or their deriva- tives (e.g., OpenWRT, Android, or uClinux), and use traditional network stacks to run IP protocols over Wi-Fi or Ethernet. The embedded, low-end IoT [9] consists of sensors, actuators, and various ultra-cheap communication modules, which have or- ders of magnitude less resources: kBytes of memory, MHz CPU speed, mW of power, and these limitations are expected to last [26, 32]. Due to the lack of resources, low-end IoT devices cannot run conventional operating systems, and instead use IoT operating systems [18] such as Contiki [15] or RIOT [6]. Equally important from the network perspective, low-end IoT devices typically com- municate via low-power radio (e.g., IEEE 802.15.4, Bluetooth LE, lpWAN). Compared to WiFi or Ethernet, low-power radios impose a variety of constraints which led to the standardization of new protocol elements. Perhaps the most prominent example is the 6LoWPAN stack [31], based on IPv6 and an adaptation layer to low power lossy networks, while retaining interoperability with the core Internet. In this paper, we take a system perspective on small, embed- ded devices and discuss viable options and limitations of how to turn them into frst class Internet citizens. We report on the design and integration of a high-level networking architecture including a full-featured, layered network stack in RIOT that remains com- petitive with monolithically optimized approaches. In detail, the contributions of this paper read: (1) We present an IoT subsystem built of clean layers around well-abstracted APIs that enable full-featured networking for all available drivers including IEEE 802.15.4, Ethernet, LoRa, CAN. Conversely, drivers or upper protocol layers can be seamlessly augmented by new networking functions such as ICN or SDN. (2) This networking subsystem is shown to simultaneously oper- ate on multiple, heterogeneous transceivers. Hence it enables 1 arXiv:1801.02833v1 [cs.NI] 9 Jan 2018