Syllabus - A.A. 2018/2019

27/09/2018 Introduction to course contents. IPv6: introduction and motivations behind its definition. IPv6 deployment: current status and projections.

27/09/2018 Introduction to course contents. IPv6: introduction and motivations behind its definition. IPv6 deployment: current status and projections.

28/09/2018 Basic introduction to Contiki OS: basic operations, proto-threads, timers, event management. Introduction to the Cooja emulator. IEEE 802.15.4 refresher: main features, topologies, addressing and MAC frame format. Usage of sniffer for data monitoring in IEEE 802.15.4 networks.

01/10/2018 IPv6 vs. IPv4 protocol basic features. Structure of the IPv6 packet: base header, Hop-by-Hop extension header, source routing. Structure of the IPv6 packet: fragmentation. IPv6 packet processing in routers.

02/10/2018 IPv6 address architecture. IPv6 address categories and scopes. Current IPv6 prefix allocation. IPv6: global, link-local, local unicast addresses. Interface ID determination: privacy issues.

04/10/2018 Anycast addresses: use cases and possible implementations. Multicast addresses: scope definition and use cases. ICMPv6: introduction; Neighbour Discovery; address autoconfiguration.

05/10/2018 Introduction to the Internet of Things. Internet of Things: domains and example scenarios. Vertical vs. horizontal solutions.

08/10/2018 IP for Smart Objects and the Web of Things. Definition of Low Power and Lossy Networks (LLN); survey of current link-layer technologies for the IoT. Introduction to 6LoWPAN.

09/10/2018 6LoWPAN architecture: simple, extended and ad-hoc networks. Multi-hop wireless networks: L2 vs. L3 forwarding and link models for IP (mesh-under).

11/10/2018 Multi-hop wireless networks: L2 vs. L3 forwarding and link models for IP (route-over). Issues in determining IPv6 links in LLNs and illustration of the undetermined link addressing model. IPv6 addressing in 6LoWPAN. Illustration of the 6LoWPAN adaptation layer header format. IP header compression: stateless vs. stateful options. IP header compression in 6LoWPAN.

15/10/2018 Contiki IPv6 basic operations. Unicast and Multicast Simple UDP examples.

16/10/2018 6LoWPAN Neighbor Discovery: introduction, optimizations and extensions to the ND protocol for 6LoWPAN networks. Introduction to RPL: the IPv6 Routing Protocol for LLNs. RPL: multi-point to point routing with destination oriented directed acyclic graphs.

18/10/2018 RPL instances. RPL routing metrics and constraints. RPL: node rank and DODAG formation.

19/10/2018 RPL protocol configuration in Contiki. Overview of the general configuration parameters.

22/10/2018 Border router implementation with Contiki. Example deployments with real motes and Cooja.

23/10/2018 The Trickle algorithm: rationale, description and analysis. RPL loop detection and avoidance. RPL: P2MP and P2P routing. Introduction to Low-Power WANs: LoRaWAN.

25/10/2018 Introduction to Service Oriented Architectures. Web Services (SoAP and WSDL). RESTful Web Services and applications for networked embedded systems.

30/10/2018 The Constrained Application Protocol (CoAP): features, interaction model, asynchronous messages and request/response sub-layers, packet format. CoAP: proxying, resource observing. CoAP: service discovery, resource discovery and the CORE Link Format.

06/11/2018 Hands on CoAP on Contiki. Overview of the Erbium implementation and the Copper plugin. Introduction to CoAP Observing. Californium Java CoAP Library. Overview of Apache Maven.

08/11/2018 Interoperable data encoding: introduction to XML. XML documents: main syntactical constructs and well-formed documents. XML namespaces. XML schema languages. Introduction to XML Schema. XML Schema: basic constructs; primitive and predefined types. JSON: basic constructs; examples. Binary XML encoding and EXI.

13/11/2018 Design of a CoAP client and related exercises. Introduction to observing in Californium. Interaction between CoAP server deployed in cooja and CoAP Client deployed through Californium.

14/11/2018 IoT architectures: introduction to the oneM2M standard platform.

14/11/2018 oneM2M platform: case study.

20/11/2018 Sensor data models and representation. The Sensor Markup Language (SENML): data model and encoding in XML and JSON. IPSO Smart Objects. Languages for semantic-driven data representation.

21/11/2018 Introduction to oM2M. Installation and configuration of oM2M. Overview of oM2M platform interface, source tree, and navigation between IN and MN. Creation of Application Entities, Containers, and Content instances through CoAP. Explanation of JSON encoding for oM2M. Exercise on the creation of entities in the IN.

28/11/2018 Advanced oM2M. Modification of oM2M to handle CoAP on the MN. Exercises on CoAP interactions on the MN. Subscriptions and notifications on the oM2M platform. Overview of an oM2M system with simulated sensors attached to the MN and data published in the MN's AE. Controller deployed on the IN through a dedicated AE. Exercises on interactions between AEs deployed on different hosts.

30/11/2018 Project work.

04/12/2018 Project work.

11/12/2018 Project work.

Student resources

Restricted access to authenticated users