IoT and applications
Chapter 3: IP as the IoT Network Layer
Assoc. Prof. Dr. Nam-Hoang Nguyen
Content
1. Advantages and disadvantages of IP from an IoT perspective
2. 6LoWPAN and 6Lo Working Group
3. 6TiSCH
4. RPL
1. Advantages and limitations of IP from an IoT perspective
Advantages of IP (also question: What if not using IP ??)
• Open and standards-based
• Versatile: the layered IP architecture is well equipped to cope
with any type of physical and data link layers
• Ubiquitous
• Scalable
• Manageable and highly secure
• Stable and resilient
Limitations of IP in IoT
• Constrained Nodes
Low hardware resources
Limited communications bandwidth
Power consumption
• Constrained Networks
low-power and lossy networks (LLNs):
low-power, low bandwidth links
• Protocol optimization requirements:
Low control plane traffic
Energy efficiency
Low delay and low loss
Optimizing IP for IoT
• IP adaptation layers are typically defined by an IETF working group
• For example, RFC 864 describes how an IPv4 packet gets encapsulated over an Ethernet
frame, and RFC 2464 describes how the same function is performed for an IPv6 packet.
2. 6LoWPAN
6LoWPAN : IPv6 over Low-Power Wireless Personal Area Networks (RFC 4944)
IEEE 802.15.4 defines the operation of a low-rate wireless personal area network (LR-WPAN)
6LoWPAN defines frame headers for the capabilities of:
• header compression
• (data) fragmentation
• mesh addressing
Header Compression
• Compress IPv6’s 40-byte headers and UDP’s 8-byte headers to 6 bytes: more space for payload
• Header compression for 6LoWPAN is only defined for an IPv6 header and not IPv4
Fragmentation
• The term MTU defines the size of the largest protocol data unit that can be passed.
• The maximum transmission unit (MTU) for an IPv6 network must be at least 1280 bytes.
• For IEEE 802.15.4, 127 bytes is the MTU: large IPv6 packets must be fragmented
Mesh Addressing
• 6LoWPAN forward packets over multiple hops using Hop Limit, Source Address, Destination Address.
• Hop Limit : how many times the frame can be forwarded.
• Source Address and Destination Address fields for mesh addressing are IEEE 802.15.4 addresses
indicating the endpoints of an IP hop.
6LoWPAN to 6Lo working group
• 6Lo working group means IPv6 over Networks of Resource- Constrained
Nodes working group
• 6Lo ‘s work is to facilitate the IPv6 connectivity over constrained-node
networks
• Focus on IPv6-over-foo adaptation layer specifications using 6LoWPAN
technologies (RFC4944, RFC6282, RFC6775) for link layer technologies
IPv6 over Bluetooth Low Energy
Transmission of IPv6 packets over near-field communication
IPv6 over 802.11ah
Transmission of IPv6 packets over DECT Ultra Low Energy
Transmission of IPv6 packets on WIA-PA (Wireless Networks for Industrial Automation–
Process
Automation)
Transmission of IPv6 over Master Slave/Token Passing (MS/TP)
3. 6TiSCH
• Known as: IPv6 over the TSCH mode of IEEE 802.15.4e
• Terminology: TSCH = Time-Slotted Channel Hopping
• Standard: RFC 7554, “Using IEEE 802.15.4e Time-Slotted Channel
Hopping (TSCH) in the Internet of Things (IoT): Problem Statement”
• Devices implementing IEEE 802.15.4e TSCH communicate by following
a Time Division Multiple Access (TDMA) schedule.
Unit of bandwidth or time slot is scheduled between neighbor nodes.
This allows the programming of predictable transmissions and enables
deterministic, industrial-type applications.
In comparison: other 802.15.4 implementations do not allocate slices of
bandwidth, so communication may be delayed or lost
6top (6TiSCH Operation Sublayer): a sublayer glues the MAC layer and 6LoWPAN
adaptation layer.
• provides commands to the upper network layers, such as RPL.
• these commands enable functionalities including network layer routing decisions,
configuration, and control procedures for 6TiSCH schedule management.
• Perform scheduling for IEEE 802.15.4e standard
The 6TiSCH architecture defines four schedule management
mechanisms:
• Static scheduling: All nodes in the constrained network share a fixed schedule.
• Neighbor-to-neighbor scheduling: A schedule is established that correlates with
the observed number of transmissions between nodes.
• Remote monitoring and scheduling management: Time slots and other resource
allocation are handled by a management entity that can be multiple hops away.
• Hop-by-hop scheduling: A node reserves a path to a destination node multiple
hops away by requesting the allocation of cells in a schedule at each
intermediate node hop in the path.
4. RPL
• IETF ‘s RoLL (Routing over Low-Power and Lossy Networks)
working group:
Evaluate Layer 3 IP routing protocols
Determine the needs and requirements for developing a routing
solution for IP smart objects
Developed the new distance-vector routing protocol was named the
IPv6 Routing Protocol for Low Power and Lossy Networks (RPL),
specified in RFC 6550.
• RPL is a ...
Distance Vector (DV) protocol (???)
Source Routing Protocol (???)
What is a Distance Vector (DV) protocol?
The term distance vector refers to the fact that the protocol
manipulates vectors (arrays) of distances to other nodes in the network
Intra-domain routing protocol
Requires that a router inform its neighbors of topology changes
periodically
Have less computational complexity and message overhead
What is a Source Routing (path addressing) protocol?
Allows a sender of a packet to partially or completely specify the route
the packet takes through the network.
Enables a node to discover all the possible routes to a host.
To cope with the constraints of computing and memory that are
common characteristics of constrained nodes, the protocol defines two
modes:
• Storing mode:
• All nodes contain the full routing table of the RPL domain.
• Every node knows how to directly reach every other node.
• Non-storing mode:
Only the border router(s) of the RPL domain contain(s) the full routing table.
All other nodes in the domain only maintain their list of parents and use this
as a list of default routes toward the border router.
This abbreviated routing table saves memory space and CPU.
When communicating in non-storing mode, a node always forwards its
packets to the border router, which knows how to reach the final destination.
RPL is based on the concept of a directed acyclic graph (DAG):
- A DAG is a directed graph where no cycles exist.
- From any point in the graph, you cannot follow an edge or a line back to this same point.
- All edges are arranged in paths oriented toward and terminating at one or more root nodes.
A basic RPL process involves building a destination-oriented directed
acyclic graph (DODAG).
A DODAG is a DAG rooted to one destination.
In RPL, this destination occurs at a border router known as the DODAG root.
Below example: compares a DAG and a DODAG which shows that a DAG
has multiple roots, whereas the DODAG has just one.
RPL uses:
• DODAG Information Object (DIO) messages for discover and configuration of upward routes
• Destination Advertisement Object (DAO) messages for advertising downward routes
RPL operation:
• Each node maintains up to three parents that provide a path to the root
one of these parents is the preferred parent, which means it is the preferred next hop for
upward routes toward the root.
• Nodes listen to DIOs to handle changes in the topology that can affect routing. The
information in DIO messages determines parents and the best path to the DODAG root.
• Nodes establish downward routes by advertising their parent set toward the DODAG root
using a Destination Advertisement Object (DAO) message. DAO messages allow nodes
to inform their parents of their presence and reachability to descendants.
• Storing mode: each node keeps track of the routing information that is advertised in the
DAO messages. The nodes can make their own routing decisions;
• Non-storing mode: nodes sending DAO messages report their parent sets directly to the
DODAG root (border router), and only the root stores the routing information. All packets
must go up to the root to get a route for moving downstream.
Long video: https://www.youtube.com/watch?v=kSiUGeUgJYQ
Short video: https://www.youtube.com/watch?v=UGDHnjJxukI
RPL’s metric
• Expected Transmission Count (ETX): the number of transmissions a node expects to
make to deliver a packet.
• Hop Count
• Latency
• Link Quality Level
• Link Color: administratively setting values to make a link more or less desirable
• Node State and Attribute: select nodes having less workload
• Node Energy: Avoids nodes with low power,
• Throughput: allows the prioritization of paths with higher throughput.