IoT Networking
IoT Networking
Analogy
-Roots - Communication Protocol and device technologies
- Trunk- Architectural Reference Model (ARM)
- Leaves – IoT Applications
Goal
- To select a minimal set of roots and propose a potential trunk that enables the
creation of a
maximal set of the leaves.
Resource utilization
- Requires control on the storage and bandwidth for data reception and
transmission.
- QoS policies for resource utilization:
Resource limit policy
Controls the amount of message buffering
Useful for memory constrained IoT devices
Time filter policy
Controls the data sampling rate (interarrival time) to avoid buffer overflow
Controls network bandwidth, memory, and processing power
Data timeliness
- Measure of the freshness of particular information at the receiver end
- Important in case of healthcare, industrial and military applications
-Data timeliness policies for IoT network include
Deadline policy
Provides maximum interarrival time of data
Drops the stale data; notify the missed deadline to the application
end
Latency budget policy
Latency budget is the maximum time difference between the data
transmission and reception from source end to the receiver end.
Provides priority to applications having higher urgency
Data availability
- Measure of the amount of valid data provided by the sender/producer to
receiver/consumer
- QoS policies for data availability in IoT network include
Durability policy
Controls the degree of data persistence transmitted by the sender
Data persistence ensures the availability of the data to the receiver even
after sender is unavailable
Lifespan policy
Controls the duration for which transmitted data is valid
History policy
Controls the number of previous data instances available for the receiver.
Data delivery
- Measure of successful reception of reliable data from sender to receiver
- QoS policies for data delivery include
Reliability policy
Controls the reliability level associated with the data distribution
Transport priority
Allows transmission of data according to its priority level
MQTT
-Message Queue Telemetry Transport
- Introduced by IBM and standardized by Organization for the Advancement of
Structured Information Standards (OASIS) in 2013
-Works on Publish/Subscribe framework on top of TCP/IP architecture
-Advantages: Reliable, Lightweight, and cost-effective protocol
MQTT QoS
- QoS of MQTT protocol is maintained for two transactions
First transaction: Publishing client -> MQTT Server
Second transaction: MQTT Server -> Subscribing Client
- Client on each transaction sets the QoS level
For the first transaction, publishing client sets the QoS level
For second transaction, client subscriber sets the QoS level
MQTT QoS Levels
-Supports 3-level of QoS
QoS 0:
- Also known as “at most once” delivery
- Best effort and unacknowledged data service
- Publisher transmits the message one time to server and server transmits it once to
subscriber
- No retry is performed
QoS 1:
- Also known as “at least once” delivery
- Message delivery between the publisher, server and then between server and
subscribers occurs at least once.
- Retry is performed until acknowledgement of message is recieved
QoS 2:
- Also known as “exactly once” delivery
- This QoS level is used when neither packet loss or duplication of message is
allowed
- Retry is performed until the message is delivered exactly once
CoAP
- Constrained Application Protocol
- CoAP was designed by IETF Constrained RESTful Environment (CoRE) working
group to enable application with lightweight RESTful (HTTP) interface
- Works on Request/Response framework based on the UDP architecture, including
Datagram Transport Layer Security (DTLS) secure transport protocol
- CoAP defines four types of messages
CON: Conformable
NON: Non-conformable
RST: Reset
ACK: Acknowledgement
-For conformable type message, the recipient must explicitly either acknowledge or
reject the message.
- In case of non-conformable type message, the recipient sends reset message if it
can’t process the message.
- Utilizes GET, PUT, OBSERVE, PUSH, and DELETE messages requests to retrieve,
create, initiate, update, and delete subscription respectively.
-Supports caching capabilities to improve the response time and reduce bandwidth
consumption.
- Uses IP multicast to support data requests sent to a group of devices.
- Specialized for machine-to-machine (M2M) communication.
XMPP
- Extensible Messaging and Presence Protocol
- Supports Publish/Subscribe messaging framework on top of TCP protocol
- The communication protocol is based on Extensive Markup Language (XML).
- Uses Datagram Transport Layer Security (DTLS) secure transport protocol
- XMPP model is decentralized, no central server is required.
-Advantages of XMPP:
- Interoperability: Supports interoperability between heterogeneous networks
- Extensibility: Supports privacy lists, multi-user chat, and publish/subscribe chat
status notifications
- Flexibility: Supports customized markup language defined by different
organizations according to their needs
AMQP
-Advance Message Queuing Protocol
- Optimized for financial applications
- Binary message-oriented protocol on top of TCP
- Supports Publish/Subscribe framework for both
- Point-to-point (P2P)
- Multipoint communication
-Uses token-based mechanism for flow control
Ensures no buffer overflow at the receiving end
- Message delivery guarantee services:
At least once: Guarantees message delivery but may do so multiple times
At most once: Each message is delivered once or never
Exactly once: No message drop and delivered once one
IEEE 1888
- Energy-efficient network control protocol
- Defines a generalized data exchange protocol between network components over
the IPv4/v6-based network.
- Universal Resource Identifiers (URIs) based data identification
- Applications: Environmental monitoring, energy saving, and central management
systems.
DDS RTPS
-Distributed Data Service Real Time Publish and Subscribe
- Supports Publish/Subscribe framework and on top of UDP transport layer protocol.
-Data-centric and binary protocol
- Data is termed as “topics”.
- The users/listeners may subscribe to their particular topic of interest
- A single topic may have multiple speakers of different priorities
- Supports enlisted QoS for data distribution
Data persistence
Delivery deadline
Reliability
Data freshness
- Applications: Military, Industrial, and healthcare monitoring