Survey of IoT application layer protocols
1st Ruzmetov Artem Aleksandrovich, 2st Khudaybergenov Timur Arturovich
Information Security
Urgench Branch of Tashkent university of Information Technologies Named After Muhammad al-Khwarizmi
Khorezm, Uzbekistan
ruzmetovartem@gmail.com
Information Technologies
Urgench Branch of Tashkent university of Information Technologies Named After Muhammad al-Khwarizmi
Khorezm, Uzbekistan
https://doi.org/10.5281/zenodo.10471669
Keywords:
Application layer protocol, The Internet of Things, MQTT, JMS, XMPP, AMQP, DDS, CoAP.
Abstract:
The Internet of Things (IoT) is an extension of the existing Internet that allows Internet contacts, interaction and manipulation
between various devices and physical objects. At the same time, for the interaction of intelligent sensors without human
intervention, it is represented by a new class of applications. In addition, IoT has a wide range of life applications such as
industry, transportation, logistics, healthcare, smart environment and urban information. In the near future, IoT is expected to
combine various technologies to create new applications that connect all physical objects to support intelligent decision
making. This article provides an overview of popular IoT application layer protocols, including MQTT, JMS, XMPP, AMQP,
DDS, and CoAP. A protocol comparison table will be presented to assist researchers in selecting application layer protocols
for their subject area.
1
INTRODUCTION
The Internet of Things refers to a system in which
inanimate objects automatically collect and exchange data
over wireless networks. They can also be described as the act
of connecting various gadgets and objects such as smart TVs.
Smart sensors provide a new form of communication
between objects and people. The Internet of Things (IoT) is
one of the most popular terms in today's world. The Internet
of Things is the expansion and growth of Internet-based
networks. It is a vast network formed by connecting to it
various devices that own information, which allows people,
machines and objects to be connected at any time and in any
place. The Internet of Things (IoT) is one of the most
constructive forms of wireless communication in the 21st
century. Today, IoT technology plays an important role in
people's lives, and its use is changing our lives, making it
easier and more convenient[1]. The IoT is having a
disruptive impact on this and is becoming a significant driver
of innovation and success in the industry. In recent years,
with the rapid development of IoT devices, these
applications have become increasingly important. In the IoT
environment, all devices can be connected to the Internet,
and the penetration of the Internet of Things into various
sectors has been fast and disruptive. In the next decade, the
depth of influence and the speed of adoption of IoT
technology will grow. The depth of influence and the speed
of adoption of IoT technology will be enormous.
In this article, we will present a comparative analysis of
several IoT application layer communication protocols. The
second part of the chapter will introduce application layer
protocols, the third chapter will describe analyzes and
comparisons of application layer protocols. And in
conclusion, by discussion, comparative characteristics and
further research in this area will be presented.
2
OVERVIEW OF IOT APPLICATION
LAYER PROTOCOLS
a.
MQTT
MQTT (Message Queue Telemetry Transport) is a data
exchange protocol between publishers and subscribers,
which was developed in 1999 specifically for the Internet of
things. MQTT is based on the idea of sending small
messages, such as sensor readings, between devices. When
creating the MQTT protocol, the limitations of industrial
networks, such as low bandwidth and communication
instability, were mainly taken into account.
Figure 1. Architecture of the MQTT protocol.
The main features of the MQTT protocol:
• Lightness, compactness, high throughput to reduce
energy costs;
• Asynchrony to serve a large number of devices;
• Isolation of clients for ease of network scaling;
• Stability for work in conditions of unstable connection;
• Support for multiple QoS levels for message
prioritization.
The transmitted messages differ in the degree of
importance, which is determined by the QoS (Quality of
Service) level flag in its structure. The MQTT protocol
supports 3 levels of QoS:
• QoS 0 –
the message is delivered no more than once. If
unsuccessful, the message is lost.
• QoS 1 –
the message is delivered at least once. Sending
is repeated until confirmation is received from the recipient.
• QoS 2
- message delivery is performed only once. If
there are problems on the MQTT link, delivery is delayed.
However, the recipient will in any case receive a message
when the connection is restored[4].
b.
JMS
The Java Message Service (JMS) is an API designed for
Message-Oriented Middleware (MOM) to facilitate
asynchronous communication between two applications or
distributed systems. It is platform-independent and
supported by most MOM providers. JMS provides different
levels of message persistence, which impact the reliability of
message delivery, in conjunction with acknowledgment
modes.
JMS Persistence Levels:
At Most Once, Nonpersistent: In this mode, a JMS
message is delivered at most once, and it's considered
nonpersistent (sent with JMSDeliveryMode set to
NON_PERSISTENT). This mode prioritizes speed over
reliability. The message is not stored on the MOM server
(e.g., IBM IoT MessageSight). As a result, if the publisher
disconnects or if the server fails, the message might be lost.
Similarly, if a subscriber is disconnected at the time the
server receives the published message, that subscriber might
not receive the message.
Exactly Once, Persistent:
In this mode, a JMS message is delivered exactly once,
and it's considered persistent (sent with JMSDeliveryMode
set to PERSISTENT). This mode offers the highest
reliability. The message is stored on the MOM server (e.g.,
IBM IoT MessageSight) until it is successfully sent to all
subscribers of the message. The message remains stored until
acknowledgment is received from each subscriber, ensuring
that it is not lost during the process.
These two persistence levels allow developers to choose
the appropriate trade-off between speed and reliability based
on the specific requirements of their messaging applications.
Figure 2. IoT protocol structure
c.
XMPP
XMPP, which stands for Extensible Messaging and
Presence Protocol, is a standard for instant messaging (IM)
developed by the Jabber open-source community under the
IETF (Internet Engineering Task Force). It serves various
purposes, including multi-party chat, voice and video calls,
and telepresence [11]. One of its key strengths is its ability
to enable users to communicate via instant messages over the
Internet, irrespective of their choice of operating system.
XMPP boasts several features that make it a highly suitable
protocol for most IM applications, and it also has relevance
in the context of the Internet of Things (IoT).
XMPP operates in a distributed manner across a range of
Internet-based platforms. It prioritizes security and allows
for the integration of new applications into its core protocol.
The communication flow within XMPP connects clients to
servers using XML [12]. The XML section can be broken
down into three key components: Message, Presence, and iq
(info/query) [11]. The message section serves to identify
source and target addresses, message types, and IDs. XMPP
adopts a distributed network architecture, and while it is
based on a client/server model, it doesn't impose strict
limitations on its own architecture. It bears resemblance to
email network architecture but isn't tied to any specific
network, making it versatile in its application.
XMPP exhibits elasticity, finding utility not only in
instant messaging but also in areas like network
management, file sharing, gaming, remote system
monitoring, and more. In terms of security, XMPP employs
the TLS (Transport Layer Security) protocol to encrypt
communication channels, ensuring secure transmission for
both client-to-server and server-to-server communications.
XMPP servers can operate independently from the public
XMPP network, such as within an enterprise's internal
network. Enhanced communication security is achieved
through the implementation of SASL and TLS technologies,
particularly for entities that retrieve data using the push
method.
Message stanzas within XMPP populate subject and
div fields with message titles and content, while an existing
section displays and notifies clients about authorized status
updates. The iq section serves to match senders and receivers
within the context of message exchange [2].
d.
AMQP
AMQP (Advanced Message Queuing Protocol) stands as
an open standard application layer protocol designed to cater
to the messaging requirements of the Internet of Things
(IoT). It employs high-level message queues and traces its
roots back to 2003 when John O'Hara initiated its
development while at JPMorgan Chase in London. One of
the standout features of AMQP is its robust support for
reliable communication, offering delivery guarantee
primitives that encompass at-most-once, at-least-once, and
exactly-once delivery [13]. To facilitate message exchange,
AMQP relies on a dependable transport protocol like TCP.
Interoperability among AMQP implementations is
achieved by establishing line-level protocols. The
communication process hinges on two pivotal components
depicted in Figure 3: Exchange and message queuing. These
elements work together to route messages to their designated
queues. The routing process follows predefined rules and
conditions, ensuring messages are appropriately directed.
Messages can be stored within message queues and
subsequently dispatched to their intended recipients. Beyond
point-to-point communication, AMQP also accommodates
the publish/subscribe communication model.
AMQP introduces a messaging layer atop its transport
layer, classifying messages into two categories: bare
messages provided by the sender and annotated messages
visible to the recipient [2].
Figure 3. Publish/subscribe mechanism of AMQP.
e.
DDS
DDS (Data Distribution Service) serves as a
publish/subscribe protocol tailored for real-time Machine-to-
Machine (M2M) communication. It was developed under the
auspices of the Object Management Group (OMG) [14]. In
comparison to other publish/subscribe application protocols
like MQTT or AMQP, DDS distinguishes itself with a
proxy-free architecture and employs multicast to deliver
superior Quality of Service (QoS) and heightened reliability
to its applications. Its agentless publish-subscribe framework
is particularly well-suited to the real-time demands of the
Internet of Things (IoT) and M2M communications.
DDS offers support for an impressive array of 23 QoS
policies, allowing developers to address various
communication standards such as security, urgency, priority,
durability, and reliability [15]. The DDS architecture is
structured into two key layers: Data-Centric Publish-
Subscribe (DCPS) and Data-Local Reconstruction Layer
(DLRL). DCPS is responsible for delivering information to
users, while DLRL, an optional layer, serves as an interface
to DCPS functionality, facilitating the sharing of distributed
data among distributed objects.
Within the DCPS layer, data flow involves five essential
entities:
1.
Publisher: This entity disseminates the data.
2.
Data Writer: Applications use data writers to
interact with the publisher regarding specific data values and
changes. The association between the data writer and the
publisher indicates that the application will publish the data
specified in the provided context.
3.
Subscriber: Subscribers receive the published data
and relay it to the application.
4.
Data Reader: Subscribers employ data readers to
access the received data.
5.
Topic: Topics are identified by data type and name,
linking data writers to data readers. They establish the
context for data transfer.
DDS enables data transfer within a DDS domain, which
represents a virtual environment used to connect publish and
subscribe applications. Figure 4 illustrates the conceptual
architecture of this protocol.
Figure 4. The conceptual model of DDS
f.
CoAP
CoAP (Constrained Application Protocol), developed by
The IETF RESTful Environments (CoRE) Working Group,
is an application layer protocol specifically designed for the
Internet of Things (IoT) [6][7]. It introduces a Web transport
protocol that builds upon the principles of Representational
State Transfer (REST) while leveraging the functionality of
HTTP [8].
REST, in essence, provides a straightforward method for
data exchange between clients and servers over HTTP. It can
be characterized as a cacheable connection protocol that
relies on a stateless client-server architecture. REST finds
widespread use in mobile and social network applications,
utilizing HTTP's GET and other features to handle resources
efficiently.
POST, PUT, and DELETE methods. Unlike REST,
CoAP uses UDP (rather than TCP) by default, which makes
it more suitable for Internet of Things applications.
Furthermore, CoAP has modified some
Table 1.Comparison
Application layer protocol
MQ
TT
JMS
X
MP
P
AMQ
P
DDS
CoAP
Year
199
9
1999
20
01
2003
2004
2010
Abstraction
Pub/
Sub
Point-to-
point(que
uing)and
publish-
subscribe
forMessa
ging
Na
Pub/S
ub
Pub/
Sub
Request
/Repay
Header Size
2
Byt
es
Message
Max Size
– 70m
Te
xt
Ba
sed
8
Bytes
8
Byte
s
4 Bytes
Architecture
Bro
ker
JMS
provider,
JMS
client,
Messages
,
Administ
ered
objects
Na
P2P/
Broke
r
Glob
al
data
space
P2P
QoS
3
Typ
e
TCP
Na
Na
23
Type
2 Type
Interoperabi
lity
Yes
Yes
Na
Yes
Yes
Yes
Hard
realtime
No
No
No
No
Yes
No
Transportla
yerProtocol
TCP
TCP
TC
P
TCP
UDP
/TCP
UDP
Codingmeth
od
Bin
ary
Binary
X
M
L
Binar
y
Binar
y
Binary
Dynamicdis
covery
No
No
Na
No
Yes
Yes
Security
TLS
/
SSL
SSL
TL
S
TLS
SSL/
TLS
DTLS
CoAP's significance lies in its adaptation of REST
principles to meet the unique demands of the Internet of
Things, such as low power consumption and operation in
challenging network conditions with unreliable or lossy
links. The overall functionality of the CoAP protocol is
depicted in Figure 5.
Figure. 5. CoAP functionality.
3
C
OMPARISON
OF
P
ROTOCOL
IN
A
PPLICATION
L
AYER
This section demonstrates the comparative performance
of the application layer protocols that were given above for
further research on some criteria: Year, Abstraction,
Architecture, QoS, Security, etc. as shown in Table 1.In the
context of abstract models, DDS, MQTT, and AMQP
protocols use a sender/receiver scheme, while CoAP
protocols are based on a request/response principle, and JMS
uses a direct messaging model between endpoints.
According to the architectural style, the DDS protocol
uses a common data space, the CoAP protocol operates in a
direct communication mode between devices, the MQTT
protocol uses a proxy-server approach, and the AMQP
protocol can use both direct communication and proxy
operation. In terms of interoperability, DDS, CoAP, JMS,
MQTT, and AMQP can work and exchange information with
various computer systems, networks, operating systems, and
applications.
In terms of transport layer protocols, DDS protocols use
UDP or TCP, MQTT, AMQP, XMPP, and JMS protocols
use TCP, and CoAP protocols use UDP.
In terms of encoding, the XMPP protocol uses the XML
text format, while the DDS, MQTT, JMS, CoAP, and AMQP
protocols use the binary format.
With respect to dynamic discovery, the DDS and CoAP
protocols provide dynamic discovery capability, while the
MQTT, AMQP, and JMS protocols do not.
From a security point of view, DDS and MQTT use
SSL/TLS, AMQP and XMPP use TLS, and CoAP uses
DTLS.
4
C
ONCLUSION
This paper describes various types of machine-to-
machine communication protocol architectures. No single
protocol can satisfy the needs of all applications. Researchers
should choose an architecture based on the requirements of
their application. The primary goal of this paper was to
provide a comprehensive overview of IoT application layer
protocols to give developers an idea of alternatives for IoT
solutions and applications.
R
EFERENCES
1.
Alexandrovich, R. A. (2023, May). OVERVIEW OF SMART
HOME
SECURITY
THREATS
BASED
ON
THE
INTERNET
OF
THINGS.
In
INTERNATIONAL
SCIENTIFIC
CONFERENCES
WITH
HIGHER
EDUCATIONAL INSTITUTIONS (Vol. 1, No. 05.05, pp.
597-603).
2.
A. Al-Fuqaha, M. Guizani, M. Mohammadi, M. Aledhari and
M. Ayyash, "Internet of Things: A Survey on Enabling
Technologies, Protocols, and Applications," in IEEE
Communications Surveys & Tutorials, vol. 17, no. 4, pp. 2347-
2376,
Fourthquarter
2015,
doi:
10.1109/COMST.2015.2444095. K. Elissa, “Title of paper if
known,” unpublished.
3.
Mariappan, V., MFITUMUKIZA, J., Khudaybergenov, T.,
Lee, M. W., & Cha, J. S. (2018). MQTT based cloud-
connectivity enabled Optical Wireless Light Sensory Network
(OWLSN) Device Design using ESP8266 Controller.
한국통신학회학술대회논문집
, 300-301.
4.
A. Niruntasukrat, C. Issariyapat, P. Pongpaibool, K.
Meesublak, P. Aiumsupucgul and A. Panya, "Authorization
mechanism for MQTTbased Internet of Things," 2016 IEEE
International Conference on Communications Workshops
(ICC),
Kuala
Lumpur,
2016,
pp.
290-295,
doi:
10.1109/ICCW.2016.7503802.
5.
U. Hunkeler, H. L. Truong and A. Stanford-Clark, "MQTT-S
— A publish/subscribe protocol for Wireless Sensor
Networks,"
2008
3rd
International
Conference
on
Communication Systems Software and Middleware and
Workshops (COMSWARE '08), Bangalore, 2008, pp. 791-
798, doi: 10.1109/COMSWA.2008.4554519.
6.
B. Wukkadada, K. Wankhede, R. Nambiar and A. Nair,
"Comparison with HTTP and MQTT In Internet of Things
(IoT)," 2018 International Conference on Inventive Research
in Computing Applications (ICIRCA), Coimbatore, 2018, pp.
249-253, doi: 10.1109/ICIRCA.2018.8597401.
7.
D. Ugrenovic and G. Gardasevic, "CoAP protocol for Web-
based monitoring in IoT healthcare applications," 2015 23rd
Telecommunications Forum Telfor (TELFOR), Belgrade,
2015, pp. 79- 82, doi: 10.1109/TELFOR.2015.7377418.
8.
D. Murayama, S. Mizuno and A. Fujii, "Distributed
Synchronization over RESTful Web API," 2015 18th
International Conference on Network-Based Information
Systems,
Taipei,
2015,
pp.
195-198,
doi:
10.1109/NBiS.2015.33.
9.
J. Dizdarevic, F. Carpio, A. Jukan, and X. Mansip-Bruin,
“ASurvey of Communication Protocols for Internet of Things
andRelated Challenges of Fog and Cloud Computing
Integration” ACM Computing Surveys, Vol. 1, No. 1, Article.
Publication date:February 2019.
10.
P. Saint-Andre, “Extensible messaging and presence protocol
(XMPP): Core,” Internet Eng. Task Force (IETF), Fremont,
CA, USA, Request for Comments: 6120, 2011.
11.
M. Laine and K. Säilä, “Performance evaluation of XMPP on
the Web,” Aalto Univ. Tech. Rep., Aalto, Finland, 2012.
12.
“OASIS Advanced Message Queuing Protocol (AMQP)
Version 1.0,” Adv. Open Std. Inf. Soc. (OASIS), Burlington,
MA, USA, 2012.
13.
Data distribution services specification, V1.2, Object Manage.
Group (OMG), Needham, MA, USA, Apr. 2, 2015. [Online].
Available: http://www.omg.org/spec/DDS/1.2/
14.
C. Esposito, S. Russo and D. Di Crescenzo, "Performance
assessment of OMG compliant data distribution middleware,"
2008 IEEE International Symposium on Parallel and
Distributed Processing, Miami, FL, 2008, pp. 1-8, doi:
10.1109/IPDPS.2008.4536566.
15.
D. Jienan, C. Xiangning and C. Shuai, "Overview of
Application Layer Protocol of Internet of Things," 2021 IEEE
6th
International
Conference
on
Computer
and
Communication Systems (ICCCS), Chengdu, China, 2021, pp.
922-926, doi: 10.1109/ICCCS52626.2021.9449252.
16.
N. Q. Uy and V. H. Nam, "A comparison of AMQP and
MQTT protocols for Internet of Things," 2019 6th
NAFOSTED Conference on Information and Computer
Science (NICS), Hanoi, Vietnam, 2019, pp. 292-297, doi:
10.1109/NICS48868.2019.9023812.
17.
S. P. Win, W. L. Lelt Phyu and T. Z. Thaw, "Shedding Light
on Technological Treasures within IoT Application Layer
Protocol," 2023 IEEE Conference on Computer Applications
(ICCA), Yangon, Myanmar, 2023, pp. 164-169, doi:
10.1109/ICCA51723.2023.10182211.
18.
Khudaybergenov, T., Park, Y., Im, S., Ho, B. J., Seungyoun,
Y., Kim, J., ... & Cha, J. (2020). An IoT routing based Local
River Field Environment Management solution using
Uzbekistan Testbed. The International Journal of Advanced
Smart Convergence, 9(3), 1-8.
19.
Khujamuratov, B., Takhirova, G., & Khudaybergenov, T.
(2022). SMART CITY, SENSOR INFRASTRUCTURE
MONITORING
SYSTEM.
Harvard
Educational
and
Scientific Review, 2(1).