
IoT Technologies and Communication Models
Explore the key IoT technologies such as NB-IoT, 5G, LoRaWAN, and more along with details on IEEE 802.15.4 standard, LR-WPAN networks, and communication models in IoT. Discover insights on 802.15.4 challenges and device roles.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
IoT models LR-WPAN LoRaWAN 6LoWPAN IPv6 (for IoT) *surprise* Tommaso Pecorella - Davide Magrin ns-3 training Jun. 18, 2019
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 Relevant IoT technologies The most relevant technologies used in IoT are: NB-IOT 5G (MMTC, URLL) 802.15.4 LoRA Sigfox [add here your favourite] along with the companion standards used in IoT. 2
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 What we ll see today Transmission (NetDevices) 802.15.4 the LR-WPAN module LoRA - the LoRaWAN module Adaptation 6LoWPAN IPv6 quirks related to IoT A surprise The summary of what s not [yet] available (but we re working on it) 3
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 IoT communication models Option 1: Direct communication (i.e., star topology) Long or short range Examples: NB-IOT, 5G, LoRaWAN Option 2: Multi-hop communication (i.e., mesh and tree topologies) Short range Examples: 802.15.4 (LR-WPAN) 4
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 802.15.4 According to Wikipedia (https://en.wikipedia.org/wiki/IEEE_802.15.4) IEEE 802.15.4 is a technical standard which defines the operation of low- rate wireless personal area networks (LR-WPANs). It specifies the physical layer and media access control for LR-WPANs, and is maintained by the IEEE 802.15 working group, which defined the standard in 2003. It is the basis for the Zigbee, ISA100.11a, WirelessHART, MiWi, 6LoWPAN, Thread and SNAP specification, each of which further extends the standard by developing the upper layers which are not defined in IEEE 802.15.4. It maps into a NetDevice. 5
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 802.15.4 problems The Standard is all but obvious. It defines: Multiple operation modes: Beacon-enabled (star topology) Non-Beacon-enabled (peer-to-peer topology) Cluster-tree (peer-to-peer with multihop) Multiple device roles: PAN coordinator Coordinator Leaf node Multiple device capabilities Full Functional Device (FFD) Reduced Functional Device (RFD) 6
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 802.15.4 and least but not least It does NOT define exactly the MAC ! Beacon-enabled: the MAC is defined perfectly. ... but nobody uses it. Non-beacon-enabled: the MAC is defined more or less There are a lot of variants, all technically compatible, but different. The differences are mostly about How sleep periods are handled How to wake up and synchronize with neighbors 7
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 802.15.4 MAC variants Beacon-enabled (star topology) Potentially interesting, but NullMac the simples possible The radio is always on No syncronization problems Extremely energy hungry ContikiMac a complex one Sleep periods Syncronization (caveat nodes don t drift) Energy efficient 8
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 802.15.4 Examples Switch to ns-3 cd src/lr-wpan/examples/ lr-wpan-data.cc lr-wpan-error-distance-plot.cc lr-wpan-error-model-plot.cc lr-wpan-packet-print.cc lr-wpan-phy-test.cc 9
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 802.15.4 It s complicated (on purpose) Why didn t we use the Helper class ? 1. 802.15.4 is not like a normal network Each device should be associated to a PAN 2. 802.15.4 s packets MTU is small... It s so small that IPv6 can t use it and most IPv4 packets would be too large Using an Helper class in the NetDevice example would have created too many silly mistakes. It s wiser to look at the larger picture. 10
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 802.15.4 you don t use it bare bones The typical 802.15.4 node stack is slightly different from the one of standard nodes. Normal IPv6 node LR-WPAN IPv6 node Application Application UDP UDP Adaptation layer IPv6 IPv6 6LoWPAN Wi-Fi 802.15.4 11
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 6LoWPAN what s the purpose Provide an adptation layer between protocol X (in this case 802.15.4) and IPv6, in order to adapt: Packet Error Rate (IPv6 assumes that it s low) Packet MTU (IPv6 wants 1280 bytes) Moreover: Try to not waste bandwidth compress headers about 100 bytes datagram and 40 bytes of IPv6 header ? Bad idea Finally Adapt some IPv6 mechanisms to the quirks of a multihop network 12
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 6LoWPAN How do it works ? Packet Error Rate Adds link-level ACKs and retransmissions (optional) Packet MTU (IPv6 wants 1280 bytes) Allows link-level fragmentation and reassembly Header compression 40 bytes are compressed into 6 bytes (best case) but the application layer must be kind , Use the right port numbers, Use a standard Hop Count, Use UDP and not TCP, etc. 13
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 6LoWPAN Examples Switch to ns-3 cd src/sixlowpan/examples/ example-ping-lr-wpan.cc example-sixlowpan.cc 14
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 6LoWPAN interesting facts 6LoWPAN pretends to be a NetDevice (it is not) This is because IPv6 wants to talk to a NetDevice 6LoWPAN implementation supports both HC0 and IPHC compressions 6LoWPAN is not enough (ouch ) 15
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 LR-WPAN / 6LoWPAN missing features This line says it all: lrWpanHelper.AssociateToPan (lrwpanDevices, 0); It is the sign of a missing feature: The node bootstrap During the bootstrap the node should Find a PAN coordinator Register itself, and receive a short address Generate its IPv6 link-local and global addresses (!?!?!?!) The last point is done by 6LoWPAN-ND 16
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 6LoWPAN-ND why I miss it so much The purpose of 6LoWPAN-ND is not just to distribute addresses: Ensures the uniqueness of addresses Provides a substitution for DAD and NDP Allows more advanced and efficient 6LoWPAN compression types Without 6LoWPAN-ND, we have to use an all-knowing NDP which is as bad as using a normal NDP it s not realistic but it s more realistic than using a plain NDP. 17
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 So, what now ? Now you should be able to build an IPv6-based, 802.15.4 network, with the following limitations: - No realistic NDP - missing 6LoWPAN-ND - No realistic node association to a PAN - no mobility, not a big issue - No more than 1-hop - because you miss the routing ! 18
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 [add your title here] Now you should be able to build an IPv6-based, 802.15.4 network, with the following limitations: - No realistic NDP - missing 6LoWPAN-ND - No realistic node association to a PAN - no mobility, not a big issue - No more than 1-hop - because you miss the routing ! 19
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 What s wrong with multihop ? All the nodes in a PAN belong to the same IPv6 prefix Are they on the same link ? => NO Is there a single router ? => NO What is the optimal router => difficult to say In general, multihop routing protocols are complex Esisting multihop protocols (AODV, DSDV, DSR, etc.) are made for ad-hoc networks, not for IoT Plus they re built for IPv4. IPv6 extensions are possible, but they re not efficient for IPv6. 20
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 Routing mesh-under (transparent) DLL? Mesh? FIB (dest,? next? hop) Application Application UDP UDP IPv6 IPv6 IPv6 6LoWPAN 6LoWPAN 6LoWPAN DLL/Mesh DLL/Mesh DLL/Mesh PHY PHY PHY 2001:db8::/64 21
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 Routing mesh-under (6LoWPAN) 6LoWPAN? FIB (dest,? next? hop) Application Application UDP UDP IPv6 IPv6 IPv6 6LoWPAN 6LoWPAN 6LoWPAN DLL/Mesh DLL/Mesh DLL/Mesh PHY PHY PHY 2001:db8::/64 22
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 Routing route-over RPL? FIB (dest,? next? hop) Application Application UDP UDP IPv6 IPv6 IPv6 6LoWPAN 6LoWPAN 6LoWPAN DLL/Mesh DLL/Mesh DLL/Mesh PHY PHY PHY 2001:db8::/64 23
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 Vaporware Vaporware [noun] In the computer industry, vaporware (or vapourware) is a product, typically computer hardware or software, that is announced to the general public but is never actually manufactured nor officially cancelled. Examples of Vaporware: Half-Life 2: Episode Three AirPower (Apple s wireless charging pad) ns-3 s RPL module 24
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 RPL for ns-3 is Vaporware (sorry about that) Built in ns-3.15 Four complete refactorings and I m still unhappy. The bad news: it doesn t work (anymore) Half-finished refactoring, and Changes in ns-3 The good news: We have people willing to complete it, and https://gitlab.com/DaCoNetS/ns-3-rpl/ 25
ns-3 training Jun. 18, 2019 IoT Jun. 18, 2019 RPL Development status What you ll not find: Documentation What you ll find: Mode of Operation: Storing mode Objective Functions: OF0 and MRHOF Metrics: HC, ETX, and LQL Clear examples Working out of the box Summarizing: feel free to ask to join the project on github 26