ACM ICN 2017, Berlin

4th ACM Conference on Information-Centric Networking (ICN 2017), Sep. 26-28, 2017

Full-day Tutorial: Running IoT Applications over ICN: A Guided Journey to NDN, RIOT, NDN-RIOT, CCN-Lite



  • Cenk Gündogan

    HAW Hamburg

    • Cenk Gündogan is a research student and PhD student in the Internet Technologies research group (INET) at Hamburg University of Applied Sciences (HAW Hamburg) and one of the core RIOT developers. He received his M.Sc. degree in Computer Science from the Freie Universität Berlin in 2016. His particular interests lie on IoT (routing) protocols. In the German research project I3 (ICN for the Industrial Internet) he focuses on communication paradigms and routing in ICN based and IoT tailored networks.


  • Peter Kietzmann

    HAW Hamburg

    • Peter Kietzmann is a research scientist and PhD student of the Internet Technologies research group (INET) at Hamburg University of Applied Sciences (HAW Hamburg) and one of the core RIOT developers. He holds a M.S. Degree in Information and Communications Technology from HAWHamburg since early 2014. His particular interests lie in radio technologies, embedded programming, and IoT protocols, many of which he not only analyzed, but transformed into code of RIOT. In the German research project I3 (ICN for the Industrial Internet) he is currently involved, exploring IoT-based technologies for information centric networks as local access technology for industrial applications.


  • Martine Lenders

    Freie Universität Berlin

    • Martine Lenders is a scientific researcher and PhD student in the Internet Technologies research group at Freie Universität Berlin, Germany, supervised by Matthias Wählisch. Her research interests include Information Centric Networking, the Internet of Things, and API design. In her current work, she designs and analyzes a common API for ICN and traditional networking approaches. She also is a core developer of the networking components of the RIOT operating system.


  • Claudio Marxer

    University of Basel

    • Claudio Marxer is a researcher in the Computer Networks Group at the University of Basel, Switzerland. His research is focused on secure in-network data processing and access control over Named Function Networking. He is also a developer of CCN-lite.


  • Christopher Scherb

    University of Basel

    • Christopher Scherb is a PhD student in the Computer Networks Group at the University of Basel, Switzerland. His current research is optimal distribution of computation in a NFN and forwarding in ICN. During his Master Thesis he created the first implementation of NFN and integrated it into the CCN-lite forwarder and the principles of forwarding of dynamic names in ICN. Additionally, he belongs to the core developer of CCN-lite.


  • Balazs Faludi

    University of Basel

    • Balazs Faludi is a research scientist in the Computer Networks Group at the University of Basel, Switerland. His current research is about state management of long running innetwork computations.


  • Christian Tschudin

    University of Basel

    • Christian Tschudin is a full professor at the University of Basel and leads the Computer Networks Group. Before joining the University of Basel, he was a PostDoc at ICSI in Berkeley and assoc prof at Uppsala University, Sweden. He has a diploma degree in Mathematics and earned a computer science Ph.D. at the University of Geneva. Regarding information centric networking, he is the main author of CCN-lite and introduced the concept of Named-Function Networking as a complement to NDN.


  • Alex Afanasyev

    Florida International University

    • Alex Afanasyev is an Assistant Professor in the School of Computing and Information Sciences in Florida International University. He received his Ph.D. degree in computer science from UCLA in 2013. His research focus is on the nextgeneration Internet architecture as part of the Named Data Networking (NDN) project. His research interests include a variety of topics that are vital for the success of NDN, including scalability of name-based routing, auto-configuration, distributed data synchronization, application and network security. He is also leading the development effort of the overall NDN codebase.


  • Muktadir Chowdhury

    University of Memphis

    • Muktadir Chowdhury is a PhD student at University of Memphis. He completed Bachelor of Science degree in Electrical and Communication Engineering at Beijing University of Science & Technology, China. He has been involved in the Named-Data Networking(NDN) project since the beginning of his PhD. During this time he worked on the development of NDN Link-State Routing (NLSR) protocol and ndn-cxx (c++ library implementing NDN primitives). His current research interests are focused on various security aspects of Vehicular ad hoc Networking over NDN.


  • Susmit Shannigrahi

    Colorado State University

    • Susmit Shannigrahi is a PhD candidate at Colorado State University. He received his B.Tech from West Bengal University of Technology, India in 2007 and Master of Science in Computer Science in 2009 from Jadavpur University, India. He also received M.S. in computer science from Colorado State University in 2013. His primary area of research is applying Named Data Networking to scientific workflows with very large datasets. He is working with Climate and High Energy Particle Physics domain experts to better understand problems with scientific workflows and how NDN can help solving them. He is also interested in NDN for high speed data transfers and NDN for IoT devices.


  • Oliver Hahm

    Zühlke Engineering

    • Oliver Hahm is an embedded software engineer at Zühlke in Eschborn, Germany. He obtained his Diploma degree in Computer Science from Freie Universität Berlin in 2007. From 2012 to 2017, he joined Inria as a researcher and received his Ph.D. from Universit Paris-Saclay in 2016. His research is focused on operating systems for the Internet of Things, embedded network stacks, information-centric networking, and standardization efforts in the area of low-power and lossy networks. He is a co-founder and one of the core developers of the RIOT operating system.



Information-Centric Networking (ICN) is a promising approach to address the needs of Internet-of-Things (IoT) applications natively at the network level. Instead of sending packets between source and destination devices identified by numeric IP addresses, in ICN the network disseminates the named and secured pieces of data, forwarding directly on names that carry application semantics, avoiding the need to do complex mapping between applications names and network identifiers.

In this tutorial we introduce tools needed to build and evaluate IoT applications using ICN. Using a set of simple driving application examples, we plan to demonstrate a functional ICN interactions across different hardware and software platforms, raning from constrained devices (e.g., ARM Cortex-M microcontrollers) up to fully-fledged systems (e.g., Laptops). Our joint team of RIOT, NDN, and CCN-lite developers will guide participants through the hands-on exercises and deployment processes, encouraging interested students and researchers to further engage with ICN in IoT.

Tutorial outline and slides (full day schedule)

The full-day tutorial (9 hours including coffee breaks and lunch) consists of three parts:

  • ICN/IoT background (1.5 hours)
  • Core concepts of RIOT, NDN-RIOT and CCN-lite (1.5 hours)
  • Hands-on programming with NDN-RIOT and CCN-Lite on RIOT or UNIX based systems (4 hours)
Start Len Topic
09:00 15’ Welcome, brief ICN intro (Slides, Video)
09:15 15’ Why IoT with ICN (Slides, Video)
09:30 10’ Quick ICN+IoT Demo (Video)
09:40 20’ Setup & Hand out PIs
10:00 30’ “hello world” hands-on (incl basic intro to RIOT)
10:30 30’ break
11:50 20’ NDN Security (Slides, Video)
11:00 25’ NDN-RIOT (Slides, Video)
11:25 25’ CCN-lite (Slides, Video)
12:10 20’ IoT-LAB (Slides, Video)
12:30 60’ lunch
13:30 25’ NDN-Android (Slides, Video)
13:55 25’ NFN (Slides, Video)
14:20 10’ Sign up for parallel tracks
14:30 60’ Track 1 – MiniNDN (Video)
    Track 2 – Hacking RIOT
    Track 3 – Hacking NFN
15:30 30’ break
16:00 60’ Tracks 1, 2, 3 (contd)
17:00 10’ Walk back to the main room
17:10 50’ Wrap up and Q&A
18:00   (end, reception at 7pm)

ICN/IoT Background

We will start introducing ICN principles and highlight unique characteristics of ICN for building IoT applications. Later, a short demo presents the functionality and interoperability of the presented components and teases what will be shown in the tutorial.

Data security is one important requirement for IoT applications. Unlike traditional TCP/IP stack, ICN embeds security primitives in the networking layer-each data packet keeps integrity, authenticity, and (when needed) confidentiality properties no matter where it is stored or how it is retrieved. As part of this introduction, we will highlight important properties of ICN/NDN data-centric security and showcase existing work to automate its complex parts.

Essential Concepts and Tools

In this part we will present various ICN tools that are available in the context of IoT.

RIOT We will describe the structure and key design and usage elements of RIOT, an open-source operating system for resource-constrained IoT devices. RIOT targets resource constrained devices with very limited memory, CPU speed and energy supply (kB, MHz, mW) and provides users with a feature rich and extensible networking system.

NDN-RIOT We plan to introduce NDN-RIOT, an open-source implementation of NDN protocol stack for RIOT, its structure, APIs, and a few basic example how to create a simple NDNpowered application for RIOT. NDN-Android We will showcase how to enable NDN stack on Android devices (i.e., by installing NDN-Android from Google Play store) and show how to make a simple Android NDN apps using jNDN.

CCN-Lite We plan to also introduce, give overview, and showcase available tools for CCN-Lite, a lightweight implementation of NDN/CCN supporting major packet formats such as NDN and CCNx 1.0. CCN-Lite can run on different platforms including Linux/Mac OS, RIOT, Arduino, Android, etc. CCN-Lite consists of a core library, a packet encoding library and a forwarder.

FIT IoT-Lab Testbed We will introduce tutorial participants to the IoT-Lab Testbed, which consists of various constrained devices (ARM Cortex M3, 32-bits, 72 Mhz, 64kB RAM). This testbed is free and open for researchers worldwide, allowing experimentation with IEEE 802.15.4 network in large-scale scenarios.

Named Function Networking We also plan to give a brief introduction of Named Function Networking (NFN), an innetwork computation platform for ICN. NFN enables to define user defined functions and workflows. NFN executes computations transparent to the user and optimizes on which device the computation is executed.


For the hands-on session, we plan to split into three tracks, each working at their own speed and supported by tutors:

  1. Demo-style track: a presentation will show how to setup RIOT nodes and full integration into an ICN network

  2. Hacking track 1: real-time developing of an application to publish and read sensor data from constrained devices using NDN-RIOT / CCN-lite on RIOT; showcasing use of FIT IoT-lab testbed.

  3. Hacking track 2: developing a processing pipeline for sensor data on NDN or CCN-lite with NFN on Unix systems. Merging the efforts At the end of the hands-on session, we plan to merge the group projects. The sensor data from the RIOT side should be collected by the relay on the Unix side and processed by the developed pipelines. Furthermore, we use NDN-JS or NDN Browser Plugins to visualizes the resulting data.

Requirements for the attendees

Participants should bring their own laptop and smartphone or tablet.