2/14/2025
©IT-FIT-2024
NEW TECHNOLOGIES
IN IT APPLICATION DEVELOPMENT
code: 2101416
presented by: Dr. Tran Thi Minh Khoa
IoT
1. Prototyping Boards And Languages
2. IoT protocol stack
1. Messaging Protocols
1. IoT protocol stack
2. MQTT
3. AMQP
4. CoAP
5. HTTP
6. Others
2. Network Protocols
1. IPv4, IPv6
2. WiFi, Zigbee, Bluetooth, LoRaWAN, 6LoWPAN
3. Sensor Data Management (optional)
4. IoT vs. WoT
5. IoT Projects Architecture
1
2/14/2025
IoT Protocol Stack
presented by: Dr. Tran Thi Minh Khoa
Networking Protocols and Standards for Internet of Things, Prof. Raj Jain
IoT Protocol Stack
Application/Session MQTT, SMQTT, CoRE, Security Management
(Messaging protocols) DDS, AMQP, CoAP, TCG, Oath IEEE 1905
HTTP, … 2.0, SMACK, IEEE 1451
Network Encapsulation 6LowPAN, 6TiSCH, 6Lo, ISASecure,
Thread, … ace, DTLS,
Routing RPL, CORPL, CARP, … Dice, …
DataLink WiFi, Bluetooth Low
Energy, Z-Wave, Zigbee
Smart, 3G/LTE, NFC,
802.11ah, 802.15.4e,
LoRaWAN, …
2
2/14/2025
IOT MESSAGING PROTOCOLS
IoT Messaging protocols
● Session/Application Layer Protocols
1. Providing the abstraction of “message” (elementary unit of data communication
among IoT end-points).
2. Providing primitives for data communication/message exchange to the upper-layer
IoT applications.
3. Implementing specific networking paradigms (e.g. publish-subscribe or request-
response).
4. Providing additional reliability or security mechanisms.
5. Sometimes adaptation of pre-existing (not natively M2M) solutions
3
2/14/2025
IoT Messaging protocols
● Based on the interaction paradigm, IoT messaging protocols can be
classified into two main categories:
○ Publish-subscribe protocols
○ Request-response protocols
IoT Messaging protocols
● Session/Application Layer Protocols … WHICH
protocols?
○ HTTP
○ MQTT
○ AMQP
○ CoAP
○ XMPP
○ DDS
○ …
4
2/14/2025
Publish/subscribe paradigm: Overview
● Publish/subscribe is a popular communication paradigm involving the
presence of three actors:
○ Publishers: produce data in forms of events
○ Subscribers: declare their interest in specific events
○ Mediator: notifies to each subscribers every published event that matches its
subscription
● Roles of publishers/subscribers are purely logical
● The paradigm is general and can be applied on many different usecases
of distributed/networking systems.
10
10
Publish/subscribe paradigm: Overview
11
11
5
2/14/2025
Publish/subscribe paradigm: Overview
12
12
Source: https://www.dis.uniroma1.it/~querzoni/corsi_assets/1112/SistemiDistribuiti/11-Pubsub.pdf
Publish/subscribe paradigm: Overview
Paradigm Characteristics
● C1. Many-to-many interactions
○ Same piece of information can be delivered at the same time to various consumers.
Each consumer receives information from various producers.
● C2. Space Decoupling
○ Interacting parties do not need to know each other . Message addressing is based on
their content.
● C3. Time Decoupling
○ Interacting parties do not need to be actively participating in the interaction at the
same time.
13
13
6
2/14/2025
MQTT
Message Queuing Telemetry Transport Protocol
● Lightweight messaging protocol designed for M2M (machine to
machine) telemetry in resource-constrained environments.
● Proposed initially by Andy Stanford-Clark (IBM) and Arlen Nipper
in 1999 for connecting Oil Pipeline telemetry systems over
satellite.
● Released Royalty free in 2010 and as OASIS standard in 2014
○ MQTT (current specification 3.1/3.1.1)
○ MQTT for Sensor Networks (MQTT-SN)
14
14
15
15
7
2/14/2025
MQTT
Message Queuing Telemetry Transport Protocol
16
16
MQTT
Message Queuing Telemetry Transport Protocol
17
17
8
2/14/2025
MQTT
Message Queuing Telemetry Transport Protocol
18
18
MQTT
Message Queuing Telemetry Transport Protocol
19
19
9
2/14/2025
MQTT
Message Queuing Telemetry Transport Protocol
20
20
MQTT
Message Queuing Telemetry Transport Protocol
21
21
10
2/14/2025
MQTT
Message Queuing Telemetry Transport Protocol
● Despite using TCP, MQTT messages can still be lost …
1. TCP guarantees delivery on a single link (agent broker, or viceversa), what
about publisher subscriber delivery?
2. What about if the receiver is temporarily down while a sender is attempting
to send a message?
MQTT clients can request three level of Quality of Service (QoS) to the broker:
QoS Level 0 (fire & forget) default QoS level, clients do not store messages
and do not receive ACKs from broker, same delivery guarantees than TCP.
QoS Level 1 (deliver at least once)
Qos Level 2 (deliver exactly once)
22
22
MQTT Tutorial: http://www.steves-internet-guide.com/understanding-mqtt-qos-levels-part-1/
MQTT
Message Queuing Telemetry Transport Protocol
23
23
11
2/14/2025
MQTT Tutorial: http://www.steves-internet-guide.com/understanding-mqtt-qos-levels-part-1/
MQTT
Message Queuing Telemetry Transport Protocol
24
24
Stefan Mijovic, Erion Shehu, Chiara Buratti, “Comparing Application Layer Protocols for the Internet of Things via Experimentation”, Proc. of iEEE RTSI 2016
MQTT
Message Queuing Telemetry Transport Protocol
25
25
12
2/14/2025
[1] AMQP Protocol OASIS Specifications: http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-overview-v1.0-os.html
AMQP
Advanced Message Queuing Protocol
27
27
AMQP
Advanced Message Queuing Protocol
28
28
13
2/14/2025
AMQP
Advanced Message Queuing Protocol
29
29
AMQP
Advanced Message Queuing Protocol
30
30
14
2/14/2025
AMQP
Advanced Message Queuing Protocol
31
31
https://www.cloudamqp.com/blog/amqp-vs-mqtt.html
AMQP vs. MQTT
32
32
15
2/14/2025
IoT Messaging protocols
● Based on the interaction paradigm, IoT messaging protocols can be
classified into two main categories:
○ Publish-subscribe protocols
○ Request-response protocols
33
33
34
34
16
2/14/2025
35
35
COAP Specifications: https://tools.ietf.org/html/rfc7252#section-4.8
CoAP
Constrained Application Protocol
36
36
17
2/14/2025
CoAP
Constrained Application Protocol
37
37
Overhead???
Lightweight???
CoAP
Constrained Application Protocol
38
38
18
2/14/2025
CoAP
Constrained Application Protocol
39
39
CoAP
Constrained Application Protocol
40
40
19
2/14/2025
CoAP
Constrained Application Protocol
41
41
CoAP
Constrained Application Protocol
42
42
20
2/14/2025
CoAP
Constrained Application Protocol
43
43
CoAP
Constrained Application Protocol
44
44
21
2/14/2025
CoAP
Constrained Application Protocol
45
45
N. Naik, Choice of Effective Messaging Protocols for IoT Systems: MQTT, CoAP, AMQP and HTTP, Proc. of IEEE ISSE, 2017
Protocol Comparison
47
47
22
2/14/2025
N. Naik, Choice of Effective Messaging Protocols for IoT Systems: MQTT, CoAP, AMQP and HTTP, Proc. of IEEE ISSE, 2017
Protocol Comparison
48
48
N. Naik, Choice of Effective Messaging Protocols for IoT Systems: MQTT, CoAP, AMQP and HTTP, Proc. of IEEE ISSE, 2017
Protocol Comparison
49
49
23
2/14/2025
Tran, K.T.M., Pham, A.X., Nguyen, N.P. et al. Analysis and Performance Comparison of IoT Message Transfer Protocols Applying in Real Photovoltaic System. Int J
Netw Distrib Comput 12, 131–143 (2024)
Conclusions
50
50
Conclusions
51
51
24
2/14/2025
52
52
53
53
25