Internet of Things:: Simon Mensah
Internet of Things:: Simon Mensah
Internet of Things:: Simon Mensah
INTERNET OF THINGS:
A Review on Connectivity Gateway Protocols and Semantic
Interoperability
INTERNET OF THINGS:
A Review on Connectivity Gateway Protocols and Semantic
Interoperability
Simon Mensah
Master’s Thesis
Autumn 2017
Information Technology
Oulu University of Applied Sciences
ABSTRACT
The main objective of this Master’s thesis was to present a detailed overview of the
most promising protocols designed for the Internet of Things (IoT) application
implementation. The objective was also to serve as a comprehension for new
researches and application developers to choose the best protocol for their
applications deployment. A review on the existing IoT architectures, the protocol
stacks, IoT gateway performance and data management with semantic
interoperability of the protocols were presented to serve as a guide for developers.
Also, a quick overview on the upcoming 5G cellular technology, which has been
planned to have more promising technology for IoT full deployment is also presented
to give an idea of what IoT will be in near future.
This thesis work was conducted mainly by a collection of relevant scientific papers
and approved standards of the Internet of Things (IoT) technology. Also, players in
the IoT industry were personally contacted for further real-time application
implementation challenges and the constrains they face in terms of the choice of
protocol and the interconnectivity or interoperability with other applications due to
different protocol standards.
As long as there is no common standard for IoT protocol implementation, the result
of this study will serve as a guide for IoT application developers to help them to
choose the right application protocol when developing an IoT product. Again, due to
the lack of common standard for IoT, interconnectivity or interoperability between
devices from different vendors is a challenge for consumers, hence, the result of this
thesis will help consumers to choose carefully from the vast IoT products on the
market today in other to interoperate the product the buy. However, future studies on
this subject could be conducted to investigate how to achieve a semantic
interoperability among the application layer protocols presented in this work so that
data from one vendor application can be represented in the similar format in another
vendor application.
3
PREFACE
I would like to thank my supervisor Kari Laitinen for his guidance and dedication to
supervise this thesis. My sincere gratitude also goes to my family who has always
stood by me and encouraged me to strive to the end. Finally, I thank Kaija Posio
from ICT department for reviewing my work and also sincere thanks to all my friends.
Oulu, 13.11.2017
Simon Mensah
4
TABLE OF CONTENTS
ABSTRACT 3
PREFACE 4
TABLE OF CONTENTS 5
ABBREVIATIONS 7
1 INTRODUCTION 9
2 IOT ARCHITECTURE 15
4 CoAP PROTOCOL 26
4.3.1 Requests 32
4.3.2 Response 33
5 MQTT PROTOCOL 36
5
5.2 MQTT messaging formats 40
7.1.1 Services 58
8 CONCLUSION 67
9 REFERENCES 69
6
ABBREVIATIONS
7
RTT Round-Trip Time
SDN Software-Defined Network
SenML Sensor Markup Language
SMS Short Message Services
SOAP Simple Object Access Protocol
SSL Secure Sockets Layer
SSN Sensor Semantic Network
TCP Transmission Control Protocol
TLS Transport Level Security
TLV Type-Length-Value
UDP User Datagram Protocol
URI Uniform Resource Identifier
URLLC Ultra-Reliable and Low Latency Communications
VPN Virtual Personal Network
WSN Wireless sensor network
WWW World Wide Web
8
1 INTRODUCTION
Over the past decades, an effort has been made by the information and
communications technology industries to continuously increase the number of
Internet enabled devices. These devices, besides the traditional computers and
mobile devices, are devices that ranges from home or domestic appliances,
industrial machinery and automation, healthcare, transport, energy, buildings, cities
and people are been connected to the Internet. Adding more devices, which were
traditionally offline to the Internet, has become possible or feasible due to the
technological advancement with the hardware, software developments and the idea
of network convergence known as the Internet Protocol (IP) convergence. This
avalanche of many new devices and other things being connected to the Internet
was known as the evolution of the Internet, which is nowadays termed as the
Internet of Things (IoT).
The main idea of IoT is to connect things that are not yet connected to the Internet
and to provide interconnectivity between other devices and the things to the global
information and communications infrastructure. This interconnectivity of things will
allow not only communication between devices and things but it will offer intelligence
to the things being connected and also makes their data available to other network
systems to utilize.
9
1.1 The Internet of Things (IoT)
In recent times, the most widely discussed term in the wireless communications
technology field of engineering is the Internet of Things, abbreviated IoT. The phrase
“IoT” was first used by Kevin Ashton in 1999 (Ashton, 2009) when he was making a
presentation to Procter & Gamble. In his presentation, he asserted that not only
humans should generate or capture and create data but computers and other
embedded devices should be able to gather their own information by sensing or
interacting with their internal states or external environments. In effect, the
introduction of IoT, other devices or “things” will extend the traditional Internet by
making network connections more relevant and valuable than ever before and also
add an entire new meaning to the information and communication technology field.
In short terms, the IoTs can be described more transformational than the traditional
Internet they have will have an effect on the way people live.
The IoT is a network of physical objects or “things” communicating with each other.
They are embedded with electronics, sensors and actuators with computing power,
software and network connectivity that enables users becoming an integral part of it.
The IoT has gone through a lot of development and considerations with different
definitions based on the Internet. Dr. Ovidiu Vermesan and Co. (Dr.Vermesan, et al.,
2011) in their work described the term by considering the greater internet working as
the Internet of Energy (IoE), Internet of Media (IoM), Internet of People (IoP) and
Internet of Services (IoS). Cisco (Evans, 2012) decided to coin the term as the
Internet of Everything where it was viewed as a system comprising of things, where
Process, data and people together formed a “Network of Networks”. In Cisco view,
the IoE will connect People, process, data and the “things” together to form a
network suitable and beneficial to aid in tracking “things” and also to deal with some
global challenges, such as drought, climate change, sources or drinkable water, and
hunger.
The IoT is fast expanding and the application areas as listed by (Asín & Gascón,
2016) include smart cities, smart water, smart metering, security and emergency,
retail, logistics, industrial control, smart agriculture, smart animal faming, domestic
and home automation and eHealth. However, since the application areas cover
different environments and the devices involved are diverse, it makes the IoT very
10
heterogeneous and hence challenges and barriers, such as connectivity, power
management, complexity, rapid development, security and quality of service, which
are always associated with wireless sensor network (WSN) standard challenges,
were listed by Chase (Chase, 2013) as a development impediment of the IoT. Other
challenges that Gubbi (Gubbi, Buyya, Marusic, & Palaniswami, 2013) and his
colleagues noted were privacy, participatory sensing, data analytics, geographic
information system (GIS) based visualization and cloud computing. Moreover, the
IoT connectivity challenge also come with the architectural and protocol challenges
that (Gubbi, Buyya, Marusic, & Palaniswami, 2013) considered in their work as an
open challenge.
Today’s industrial equipment manufacturers are confronted if not with all but most of
the above-mentioned challenges when preparing products for the IoT. Therefore, for
the IoT to work successfully and to meet the predicted volume of devices that are
connected to the Internet by 2020, an analysis shows that it needs to be built on
open, flexible hardware, software and networking platforms, which are capable of
evolving and adapting. However, in this thesis work the challenge of IoT connectivity
gateway protocols and their interoperability are reviewed.
Ever since industries started to connect virtually every device and “things” from trash
cans to thermostat in an event of collecting real time data, nowadays businesses
have been becoming aware that the real value in the IoT is not just the data
collection and processing, but it is the analyzing of the data to derive a business
insight.
11
FIGURE 1. IDC IoT Market Revenue ($B) (MacGillivray, 2016)
The Gartner (Meulen, 2015) prediction in 2015 pointed out that by 2016, 6.4 billion
“things” will be connected worldwide and by 2020 the number of connected devices
will reach 20.8 billion. Cisco (Bradley, Reberger, Dixit, & Gupta, 2013) has also
predicted that the value of the Internet of Everything through cost savings,
productivity gains, new revenues and improving citizen experiences could generate
$4.6 trillion globally by 2022 in the public sector. In addition, McKinsey (Ip, 2016)
estimated that the size of the total IoT market in 2015 was risen to $900Million and
this will grow to $3.7billion by 2020. Figure 2 illustrates an IoT potential economic
impact by 2025 captured by McKinsey Global Institute analysis.
12
FIGURE 2. IoT economic Potential (Ip, 2016)
However, Ericsson (Richard Möller, 2016) focused its predictions on the number of
sensors and devices expected to be connected to the Internet by 2021. In the report,
it was stated that by 2018 the number of IoT sensors and devices will exceed the
number of mobile phones and by 2021 about 28 billion devices will be connected, of
which about 16 billion will be IoT related. Figure 3 shows an infographic comparing a
cellular IoT, non-cellular IoT, PC/laptop/tablet, mobile phones, and fixed phones
connection devices between the years 2015 and 2021
13
FIGURE 3. IoT connected devices are expected to surpass mobile phones in 2018
(Richard Möller, 2016)
The above-mentioned economic analysis of the IoT and the Industrial Internet of
things (IIoT) and many other similar forecasts have been conducted elsewhere
focusing on the economic value and the driving results of rich analytical sensor-
based data sets. Moreover, aside the economic value impact of the IoT and IIoT,
almost all the forecasts sorted to the mentioned areas, such as logistics,
manufacturing, services and supply chain will be the core areas that can deliver the
most economic value.
14
2 IOT ARCHITECTURE
TABLE 1. 7-layer stack and 4-layers’ stacks or OSI, TCP and DoD4
From table 1 it can be seen that the (TCP) Internet model and DoD4 model are 4-
layered and they map to each other. Moreover, the proposed IoT architecture model
was based on the aforementioned model, that is, ISO, TCP and DoD4 are also a 4-
layered model. In fact, based on ISO, TCP and DoD4, the IoT could have been
implemented without further architectural modelling but they failed to conceive IoT
features and issues such as connectivity and communications, data collection and
analysis, device management, scalability, interoperability, integration and security.
Thus, there was the need to restructure all the three models to conform with IoT
15
features and issues. The IoT architecture model consists of various components and
it is a 4-layer centric architecture where specific technologies can be realized at each
layer. Table 2 shows the IoT 4-layered model, which shows what components are
realized at each layer.
IoT Architecture
layers Components
The layer at the bottom basically represents the IoT devices and they come in
various types and forms of architecture, properties and capabilities. A device can be
considered as an IoT device if such a device has any form of communication that
can be connected to the Internet directly or indirectly. Table 3 illustrates some
example devices that can be found at the Sensors Connectivity and Network Layer.
The devices at the sensor layer have the capability to sense and collect information
in real time for processing. They are of Low-Power and low data rate for connectivity.
Application areas of some of these sensors can be termed as body sensor,
environmental sensors and surveillance sensors.
16
TABLE 3. IoT sensor Layer
Sensors Infographic example
Layers Technologies
The Gateway and Network Layer also known as the Communication Layer, supports
the connectivity of the devices in a sensor or at a device layer. It consists of diverse
protocols which aid in the communication between the devices and the cloud. The
most notable of these protocols are the Hypertext Transfer Protocol (HTTP) with the
RESTful approach, the Message Queue Telemetry Transport (MQTT) and the
Constrained Application Protocol (CoAP). The IoT protocols will be studied in greater
17
detail in subsequence chapters. Table 4 shows the Gateway and Network Layer with
the technologies that are involved in it.
Moreover, one most important aspect of the Gateway and Network Layer is its ability
to aggregate data and also to host a broker communication. The broker
communications and data aggregation combine communications and data from
different devices and then route the information to the specific device through a
gateway service (Fremantle, 2015). The Gateway and Network Layer is also capable
of supporting, for example an HTTP Server and a MQTT broker to enable
communications between devices. Moreover, it serves as a bridge and transforms
between different protocols, such as HTTP APIs based on MQTT message to a
device (Fremantle, 2015).
The Management Service Layer consists of two main functional parts as indicated in
table 2. The two main functional parts are the Device Modelling, Configuration and
Management part and the Data Flow Management and Security Control part.
However, before considering the functions of the parts of the Management Service
Layer, it is also important to describe what is management service. Table 5 depicts
some of the services that the Management Service Layer can offer.
18
TABLE 5. IoT Management Service Layer components (Chung, 2017).
Management Service Layer
Services Components of the service
Device Management / Configuration /
Operational Support System (OSS) Management, Performance Management,
Security Management
Service Analytic Platform Statistical Analytics, Data Mining, Text
Mining, In-Memory Analytics, Predictive
Analytics
Billing Support System (BSS) Billing Report
Security Access Control, Encryption, Identify Access
Business Rules Management Rule Definition / Modelling / Simulation /
(BRM) Execution
Business Process Management Workflow Process Modelling / Simulation /
(BPM) Execution
As illustrated in table 5 the Management Service Layer has important roles in the IoT
architecture. The roles can be grouped into two parts. The data service management
is in charge of processes, such as information analytics, security control, process
modelling and device management. The data management has two forms of
techniques, the Periodic and Aperiodic data management schemes (Chung, 2017).
In the Aperiodic data collection technique an IoT sensor collects data and requires
an immediate response or attention on the information as soon as the event
happens. For example, if an IoT sensor device is monitoring a patient if security is
monitored, the delivery of the information should be immediate and would require an
immediate response as well. Beside the data management unit, there is also the
data management unit which provides management on data information flow,
information access, integration and data control (Chung, 2017). There is also the
19
data abstraction unit which provides services, such as information extraction
processing, and can be used as a common business mode.
The IoT Application Layer is the topmost layer and it is the layer that serves as an
interface between the sensor application and the end users. It constitutes of various
applications sectors such as environmental, industrial, healthcare, smart home asset
tracking, and several others as illustrated in table 6 below. It is also a layer that hosts
the IoT Application Layer protocols such as the Hypertext Transfer Protocol (HTTP),
MQTT, CoAP, Advanced Message Queuing Protocol (AMQP), Extensible Messaging
and Presence Protocol (XMPP), Simple Object Access Protocol (SOAP). The first
three above-mentioned IoT protocols will be dealt with in detail in the following
sections.
Moreover, since different applications from diverse industries and sectors are having
different protocols and classifications based on the type of network, coverage area,
size, business model, real time or non-real-time systems, the Application Layer
protocols are able to allocate, link and exchange data or information among other
application systems. The IoT classification is based on application domains, such as
Personal and Home, Enterprise, Utility and Mobile. These classifications define the
size of an application domain and also determine the characteristics of it.
For instance, the Personal and Home application domain represents a small scale.
This mean a limited number of users, individuals or home. The enterprise IoT
represents a large scale of users, in a community level. The utility IoT represents a
much larger scale of users such as a national or regional of IoT support and the
Mobile IoT, which are usually spread across other domains due to their mobility
nature and the devices involves are mostly battery operated and portable. Table 6
illustrates some of the main application domains and market areas and sectors that
the Application Layer can host.
20
TABLE 6. IoT Application Layer
Application Layer
Application A’
Sectors plication Domain
Smart Environmental, Smart Energy, Smart Transportation,
Smart Healthcare, Smart Retail, Smart Industry, Smart Military
applications
Supply Chain, People Tracking, Asset Management, Fleet
Market Areas Management, Surveillance
21
3 IOT GATEWAY PROTOCOL AND IP STACK
The focus of this thesis is to discuss in detail the applications of the main and most
well-known IoT potential protocols at the Application Layer. The three most popular
IoT protocols which this thesis work is studying are summarized in the table 8 below.
22
TABLE 8. A summary of IoT Application Layer protocols
Transport WAN Compute
Protocol Protocol Messaging (2G, 3G, Power Resources Security
4G)
HTTP/ TCP Rqst/Rspnse Excellent Fair 100Ks/RAM Low-
REST Flash Optimal
MQTT TCP Pub/Subsrb Excellent Good 10Ks/RAM Medium-
Rqst/Rspnse Flash Optimal
CoAP UDP Rqst/Rspnse Excellent Excellent 10Ks/RAM Medium-
Flash Optimal
The following sections of the chapter will be a presentation of the details of the
above summarized IoT protocols.
HTTP (Fielding & Reschke, 2014) is the most widely and popularly adapted
Application Layer protocol on the World Wide Web. The standardization of HTTP has
been done by the Internet Engineering Task Force (IETF) in collaboration with the
World Wide Web Consortium (W3C) (MIT). HTTP works on a Client-Server
messaging technology where the client requests for a Hypertext Markup Language
(HTML) page from a server and the server also responses with an HTML page. As
illustrated in table 8 HTTP relies on the TCP as a transport protocol, which uses
sockets to transfer data. The connection between the client and server begins with
the client via a socket connection on the port 80, which is the assigned port number
for HTTP to the Server. When the connection is established, it means that the server
accepts the request of the client, which is in an HTML page form, and other objects.
However, upon the connection establishment, the HTML pages and the objects are
then exchanged between the client browser and the web server. After the completion
of the request, the TCP terminates the connection between the client and the server
and also clears the memory so that previous requests from the client are removed.
With the HTTP, requests, such as GET, PUT, POST and DELETE, are the four
methods mostly used. The GET request displays a web page and its objects upon a
23
request to the user. The PUT and POST request methods are used to modify server
resources and the DELETE request removes resources that are not needed.
Moreover, there are two HTTP connection types that can be established with the
TCP. These are the Non-Persistent (HTTP/1.0) and Persistent (HTTP/1.1)
connections. The main difference between the Non-Persistent (HTTP/1.0) and
Persistent (HTTP/1.1) depends on the number of TCP connections needed to
transmit a Uniform Resource Locator (URL) of a web page and its objects. Figure 4
shows an HTTP connection scheme between a client and a server.
In figure 4 the Round-Trip Time (RTT) is the time spent to send a packet from a
client to a server and to get a response. It also represents the time required to
establish a TCP connection, send a request, and get a response or receive a file with
its transmission time. Mathematically, the total RTT, from the beginning of TCP
connection establishment to the receiving of the file requested, can be expressed as
2 x RTT + File Transmission Time (FTT).
24
with uniform interface and its designed as a lightweight system (Vermesan Ovidiu,
June 1, 2014). The communication mode begins when a client sends a message in
the form of a request to a server and the server replies back to the client in a
response form indicating whether the request sent by the client was successful or
whether there was an error. With REST, the communication between devices to the
cloud is possible over the TCP/IP where an HTTP is used to connect to the world
wide web (www).
25
4 COAP PROTOCOL
CoAP (Shelby, Hartke, & Bormann, Internet Engineering Task Force (IETF), 2014) is
an Internet based Client-to-Server model document transfer protocol similar to HTTP
and it has been standardized within the IETF, the Constrained RESTful
Environments (CoRE) working group (Bormann, Jimenez, & Melnikov, 2010). It is
designed for constrained devices and constrained networks. Constrain devices are
embedded devices with limited power, memory and processing resources and they
are expected to be connected and function similar to mainstream processes. HTTP
is the main protocol because the connectivity between a client and server is too
heavy for such devices. CoAP was developed to address the limitations HTTP has
over constrained devices, such as sensors and devices with Low-Power connected
via Lossy Networks (LLNs).
The design model of CoAP is equivalent to HTTP Client-to-Server model but most of
its implementation is within M2M or D2D communications and they can act both as a
client and a server role. CoAP does not support the Transmission at Transport
Control Protocol but it runs over the User Datagram Protocol (UDP). It utilizes the
UDP broadcast and multicast for addressing and the interaction between a client and
server is asynchronous over the UDP. However, since the datagram-oriented
transport is connectionless, the Client-to-Server communication of CoAP is also
connectionless and it can be used on top of Short Message Services (SMS) and
other Packet based communication protocol.
Moreover, devices connected with CoAP have the ability to discover and explore
each other to negotiate ways to exchange data among themselves. CoAP also
supports the observe resource state changes methodology. It is a state transfer
model which allows a client to continuously receive responses from a server. This is
important for example in an IoT healthcare application where data from a sensor
attached to a patient is vital and needs to be monitored constantly. In other words,
CoAP is an asynchronous message exchanger which happens via
observe/notifications. Similar to HTTP, a client uses the GET request command in an
observable mode to express interest in any updates from the server. The client
receives a notification each time the state of the resource changes at the server.
26
CoAP is also designed as a Conditional Observer (Technical Report - Protocol
Analysis , 2014) or an event-based model. This means that it allows the client to be
notified only when certain actions on the observed resources are met. Since
messages are not received at every event that occurs but only at events that are
needed, energy can be save due to the control messages received. For instance, in
an IoT application for temperature monitoring, a sensor may send an update every
second, even though nothing significant has changed from one data transfer to the
other. With CoAP observed resources, only interesting events that happen
periodically or an observed value changes with a pre-specified step size will be
notified. Another feature of CoAP is that it supports proxies, i.e., a client can request
data from a CoAP server with HTTP requests.
In the course of exchanging messages within the CoAP Network, there are four
defined message types. These are Confirmable, Non-Confirmable,
Acknowledgement and Reset.
27
FIGURE 5. CoAP Confirmable message transmission (Chen, 2014)
A Non-Confirmable data transmission technique does not require ACK and it is
unreliable. This type of data exchange technique uses a NON-message type, which
contains a message ID to supervise the transmission. It is most prevalent with data
streams where data is sent and there is a possibility that data is lost or received out
of order during the transmission. Figure 6 shows Non-Confirmable message
transmission between a client and server.
CoAP supports piggybacked messages too. When a client sends a request using
CON type or NON-type messaging it receives an ACK message immediately if it is a
Confirmable message. The ACK contains a response message of successful or
failed delivery of the sent message. Again, when a server receives a CON message
request and it is unable to response the request immediately, it sends an empty ACK
so that in case a client will resend the message after certain time elapses. However,
a new CON is sent to the client whenever the server is ready to response to the
message and the client replies with an ACK to confirm the CON message from the
server. Figure 7 shows separate responses when a client used the GET request to
request a temperature from a client.
28
FIGURE 7. CoAP CON request message with separate responses (Chen, 2014).
29
TABLE 9. CoAP message format
Ver Type TKL Code Message ID (16bits)
(2bits) (2bits) (4bits) (8bits)
The 2-bit unsigned integer version file specifies the CoAP version number and for
RFC-7252 CoAP specification implementation it is set to 1 (01 binary). This means
that every message must have this version number. Otherwise messages with an
unknown version number are silently ignored. Other values are reserved for future
versions.
Type (T) is also a 2-bit unsigned integer within the header that indicates whether a
message is of type Confirmable, Non-Confirmable, Acknowledgement, or Reset. The
Token Length is a 4-bit unsigned integer within the header that indicates the length
of the variable-length Token field, which is between 0 and 8 bytes. If the number is
set to 0, it means that there are no options and the payload (if any) follows
immediately the header. However, if the number is greater than 0, the field indicates
the number of options to immediately follow the header.
Code is also an 8-bit unsigned integer within the header and it is split into subfields;
a 3-bit class (most significant bits) and a 5-bit detail (least significant bit). The class
can indicate a request, a successful response, a client error response or a server
error response. The message ID is a 16-bit unsigned integer within the header, too,
and it is used to detect a message duplication and to match messages of the type
Acknowledgement/REST to messages of the type Confirmable/Non-Confirmable.
The Token Value is next to the header and it is 0 to 8 bytes as given by the Token
Length field within the header. It is used to correlate requests and responses.
However, the 8-byte long header help to protect attacks, such as spoofing, and it is a
rule that all CoAP messages have Tokens even if they have zero-length.
As stated earlier, CoAP options may only be present if the variable-length Token
field value is a non-zero. The option field holds information that affects the
30
performance and functionality of the CoAP. Moreover, CoAP defines the number of
options that can be included in a message and each option instance in a message
specifies the option number, the length of the option and the option value itself.
Details and an exhausted list of options are elaborated in the RFC-7252
documentation (Shelby, Hartke, & Bormann, 2014). The payload is also optional and
can only be available when it is non-zero-length and prefixed by a one-byte payload
marker (0xFF), which indicates the end of options and the start of the payload.
Payload Data extends from after the marker to the end of the UDP datagram. An
absence of the payload marker represents a zero-length payload and the presence
of a marker on other hand, followed by a zero-length payload, must be processed as
a message format error. Moreover, the request and response messages from client
and server respectively can contain payload data. It can also be carried along with a
Confirmable message and a Non-Confirmable message. It can also be Piggybacked
on Acknowledgement messages.
31
4.3.1 Requests
The request methods of CoAP are similar to that of HTTP request methods of GET,
POST, PUT and DELETE. The GET method is used to retrieve the state of
information resource, which is given in the Uniform Resource Identifier (URI).
Information, such as sensor values, for example temperature, device names or a
state of a device, can be retrieved by the GET method. The POST and PUT methods
are similar in operation, they are simply used to create a new resource or when a
target resource is updated. The DELETE method request is used to remove the
resource specified by the URI.
As stated earlier in this chapter CoAP supports observe method of resource changes
and it is another form of request method for the client to use to observe a resource
over a certain period of time. This method was designed because the GET, POST,
PUT and DELETE methods do not work well when a Client wants to observe a
resource from a server. The observe method allows the CoAP sever node to send
notifications continuously after it has received a registration message from a client.
The aim of the server is to keep the client updated by notifying the observer (client)
of the latest resource values.
32
FIGURE 8. Client observing a resource in CoAP from RFC7641 (K., 2015)
4.3.2 Response
When a request is sent from a client to a server, the server responds with a matching
request by means of the client Generated Token. A response is identified by the
Code field in the CoAP header being set to a Response Code. The following are the
Response Code classes within the CoAP:
33
4.3.2.1 Success 2.xx
This class or Response Code indicates that the client request was successfully
received, understood and accepted.
The DTLS is composed of two layers. The lower layer, known as the DTLS Record
Protocol, provides connection security and it has two basic properties:
34
➢ Connection is reliable by including a message integrity check.
The upper layer is composed of three protocols which include Alert, Handshake and
application Data.
Moreover, in some conditions, the Change Cipher Spec Protocol may replace one of
the above mentioned DTLS security protocols. The Change Cipher Spec message
protocol is used to notify the Record Protocol to protect subsequent records by using
negotiate cipher suite and keys. Figure 9 illustrates the process of DTLS Handshake
protocol.
35
5 MQTT PROTOCOL
36
FIGURE 9. MQTT data transmission architecture with a broker
MQTT defines fourteen (14) different messaging methods. The main messaging
types that end users only need to employ are the connection request to the server
37
(CONNECT), DISCONNECT, SUBSCRIBE, UNSUBSCRIBE and PUBLISH
messages. The other message types are used for internal mechanisms and
message flows. Table 10 shows a list of the messaging types.
Figure 11 illustrates the connection session and subscription setup between a client
and a server with a clean session flag set 1 (flag =1).
38
FIGURE 10. MQTT CONNECT and SUBSCRIBE messaging
Figure 12 illustrates the session and subscription setup between a client and a
server with a clean session flag set 0 (flag = 0).
39
5.2 MQTT messaging formats
The MQTT protocol messaging format also known as the control Packet, consists of
three parts; Fixed Header, Variable Header and Payload. Every MQTT control
Packet contains a Fixed Header. It consists of two bytes. The first byte contains the
Message Type and the Flags that have fields such as the Duplicate flag (DUP), QoS
level and RETAIN. The second field contains the Remaining Length field. Table 11
illustrates the Fixed Header fields.
As depicted in table 11 byte 1 consists of the Message Type and what is term as
Flags (DUP, QoS level and RETAIN) fields. The second byte (byte 2), the Remaining
Length field has at least one-byte. Further description of the MQTT messages in the
Fixed Header fields are explained in table 12.
40
TABLE 12. MQTT message Fixed Header field explained
MQTT
Message Description values
Fixed Header
field
Message 0: Reserved 8: SUNSCRIBE
Type 1: CONNECT 9: SUBACK
2: CONNACK 10:
UNSUBSCRIBE
3: PUBLISH 11: UNSUBACK
4: PUBACK 12: PINGREQ
5: PUBREC 13: PINGRESP
6: PUBREL 14: DISCONNECT
7: PUBCOMP 15: Reserved
DUP A Client or a Server (Broker) attempt to re-delivers a PUBLISH,
(Duplicate) SUBSCRIBE or UNSUBSCRIBE message. The Duplicate (DUP)
Flag bit is set as a message flag to indicates to the receiver a message
may have already been received. This applies to messages with a
QoS value greater that zero (0).
QoS level This indicates the level of delivery assurance of a PUBLISH
message.
Level 0: At most once delivery, no guarantee. Also, known as Fire
and Forget
Level 1: At least once delivery and with acknowledged delivery
Level 2: Exactly once delivery with assurance of delivery
Level 3: Reserved
RETAIN It instructs the Server (Broker) to RETAIN the last received
PUBLISH message and deliver it as a first message to a new
subscription after it has been delivered to the current subscribers.
This is possible when the RETAIN flag is set to one (1).
Remaining It indicates the number of remaining bytes in the current message,
Length including Data in the variable header and the payload.
MQTT provides the typical delivery of QoS levels of message oriented middleware.
Even though the TCP/IP on which MQTT reside provides a guaranteed data delivery,
however, data loss can still occur during the data transmission if the TCP connection
breaks down. Therefore, MQTT adds three (3) QoS levels on top of the TCP.
41
5.3.1 QoS level 0
At Most Once delivery (Fire and Forget). With this QoS level, messages are
delivered in accordance to the delivery guarantees of the underlying TCP/IP
Network. No PUBACK is expected and no retry semantics are defined in the
protocol. The message is delivered to the Server or not at all. An example of
application scenario could be a temperature sensor. Temperature sensor data is
published regularly and loss of any individual value is not critical since subscribers to
the temperature data integrate lots of sample values over time and hence an
individual sample does not make any difference. Figure 13 illustrates a published
message flow with QoS level 0 delivery semantics.
At least once delivery. With this delivery semantics, messages are guaranteed to
arrive at the server and should be acknowledged (PUBACK). However, there could
be a Duplicate (DUP) which could arise due to a delay in the arrival of an
Acknowledgement (PUBACK) or an identified (ID) failure of either the
communications link or the sending device. This means that when a sender (client)
PUBLISH is data, after sometime if PUBACK is not received, it resends the data
again with a DUP bit set in the message header resulting in duplication of messages.
However, the application can discard a Duplicate message by evaluating the
message ID field. An application scenario could be a sensor monitoring the state of a
door. This means that a door state is either OPEN/CLOSE or CLOSE/OPEN and
these changes of states are published To Subscribers, For Example In The Form Of
An Alarm Or Beacon A Buzzer. Figure 14 below shows the QoS level 1 delivery
semantics
42
FIGURE 13. QoS Level 1 At Least Once delivery semantics
Exactly once delivery semantics. This is the highest, safest, and slowest and QoS
level and it guarantees that each message is received only once by the subscriber. It
also incurs most overheads in terms of control messages and the need for locally
storing the messages. It is also a combination of At Least Once and At Most Once
delivery guarantee semantics.
With QoS level 2, when a receiver received the PUBLISH message, it processes the
message and acknowledges it with the PUBREC message. The receiver also stores
the message with a reference to the message identifier until it has sent the
PUBCOMP. This is to avoid a duplication of processing the message twice. Also, the
store PUBLISH message stored at the client can be discarded after it has received
the PUBREC. The PUBREC message is stored upon the arrival and the client
responds with a PUBREL. The receiver on the other side also deletes all stored
messages upon receiving the PUBREL and a similar event happens at the client side
after receiving the PUBCOMP from the subscriber. Figure 15 explains the QoS level
2 semantics.
43
FIGURE 14. QoS Level 2 Exactly Once delivery semantics.
Some types of MQTT messages contain a variable header component. This variable
header component resides between the Fixed Header and the payload (Richard J
Coppen, 2016). The content of the variable header varies depending on the Packet
type. The Packet Identifier field of a variable header is common in several Packet
types. The component of many of the control Packet types consists of a 2-bytes
Packet Identifier. These control packets are PUBLISH (where QoS >0), PUBACK,
PUBREC, PUBCOMP, SUBSCRIBE, SUBACK, UNSUBSCRIBE and UNSUBACK.
Table 13 illustrates the variable header format residing between the Fixed Header
and the payload with the various fields included in it.
44
TABLE 13. Variable Header residing between Fixed Header and Payload
Field 7 6 5 4 3 2 1 0
Length
(bits)
Byte 1 Message Type - - -
Byte 2 Remaining Length
Byte 3 Protocol name UTF-8 encoded prefixed with 2 bytes string length (MSB)
Byte 4 Protocol version (0x03 for MQTT version 3)
Byte 4 Username Password Will Will Will Clean
Flag Flag RETAIN QoS Flag Session Reserved
Byte 5 Keep Alive Timer MSB
Byte 6 Keep Alive Timer LSB
Byte 7 Client Identifier
Byte 8 Will Topic
Byte 9 Will Message
Byte 10 Username
Byte 11 Password
45
The variable header fields are described in table 14 in which they appear in the
header.
Table 13 shows other fields, such as Keep Alive Timer within the variable header of
the MQTT CONNECT message. It is the maximum time interval between messages
received from the client in seconds. In case there is a drop-in connection between
the client and the server, it enables the server to detect the drop without waiting for
the long TCP/IP timeout. Within the Keep Alive Time period, the client has to send a
46
packet or data to the server. With the absence of data during the Keep Alive Time,
the client sends a PINGREQ message to the server, which the server responds with
a PINGRESP Acknowledgement.
However, after one and half (1.5) Keep Alive Time period, the server disconnects the
client as if a DISCONNECT message had been sent by the client if no message has
been received within the period. In addition, the client will disconnect or will end the
TCP/IP socket connection if it does not receive a PINGRESP message after sending
the PINGREQ message. Figure 16 shows the communication between the client and
server utilizing the Keep Alive Timer with PINGREQ.
47
FIGURE 16. MQTT Will Messaging between Client-Server-subscriber.
48
5.5 MQTT security
The Security in MQTT is divided into multiple layers and each layer prevents
different kinds of attacks. The layers at which some levels of security are
implemented are the Network level, Transport level and the Application Level.
The Transport Level Security (TLS), a successor of the Secure Sockets Layer (SSL),
is a cryptographic protocol designed to provide secure communication between the
client and the server over unsecure network and when confidentiality of the system
needs to be provided. It operates on top of the TCP providing a secure transport for
upper layer protocols, such as HTTP. TLS is a very secure method for encrypting
traffic but it is also resource intensive due to its required handshake and an
increased Packet overhead. However, since MQTT is built on top of the TCP, it can
use TLS to secure traffic between the MQTT client and server. But since TLS is
resource intensive and MQTT clients are lightweight and energy is of high priority,
encrypting just the payload is sufficient instead of encrypting all the Packet.
According to IANA.org port assignment and standards (Touch & Eliot Lear, Service
Name and Transport Protocol Port Number Registry, 2017), MQTT uses or is
49
assigned to port 8883 on the Broker side when TLS is used. It is a standard for
MQTT connections when it is used on top of the TLS. Moreover, when MQTT is used
over a Plaintext TCP connection, it uses the port 1883 (Touch & Eliot Lear, Service
Name and Transport Protocol Port Number Registry, 2017). The TLS and TCP port
connections can be mixed and not all clients have to be connected in the same way
to the Broker. This means that a client may connect to the Broker with TLS and to
another one with the Plaintext over TCP. TLS is a complex protocol. It is resource
intensive and computationally expensive thus some target platforms may not support
it. But with MQTT it is possible to implement security and secure packets at the
Application Layer.
50
6 COMPARISON OF MQTT AND COAP PROTOCOLS
The Internet of Things network is a complex one due to the large number of physical
interconnected IoT devices and the constrained nature of the devices, environment
and the lossy type of Network they operate. One of the key challenges of
implementing an IoT project is to efficiently support machine-to-machine (M2M)
communication in constrained conditions. So far in this work it has been elaborated
that MQTT and CoAP are the most promising protocols that can be implemented in
those constrained conditions.
Although, MQTT and CoAP are totally different protocols, they have some
similarities, such as that they are designed to be used in lightweight devices and in
constrained environments. This means that they both work well with Low-Power and
constrained network devices. Due to their similarities, choosing the appropriate
protocol for the development of an IoT application could be difficult depending on the
application. However, there are many factors to be considered while planning the
right protocol to be used. In this chapter, a comparison of the MQTT protocol and
CoAP protocol will be examined based on performance evaluations from different
scenarios done elsewhere.
The main difference between CoAP and MQTT is that CoAP runs on top of the UDP
while MQTT runs on top of the TCP. Table 16 illustrates the comparisons:
51
TABLE 16. Comparison table between MQTT and CoAP
MQTT CoAP
Mode of communication within MQTT is CoAP is request and response oriented
publish and subscribe that are highly and has an asynchronous
decoupled to each other communication model
MQTT generally has larger Packet size. CoAP has smaller Packet size as MTU
Smaller packets less than 127bytes 1280 bytes for IPv6, 127 bytes for
have a 1byt Packet length find and the 6LOWPAN and 127 bytes for IEEE
maximum Packet size is 256MB 802.15.4
MQTT Header field is 2bytes CoAP Header field is 4bytes
MQTT allows 16 different messaging CoAP allows for 4 messaging types
types
MQTT supports asynchronous CoAP support both synchronous and
messaging asynchronous messaging
MQTT has 3 levels of application CoAP have 2 levels of application
reliability which are the QoS levels reliability in the form Confirmable (CON)
and Non-Confirmable (NON)
Transmitting cycle within MQTT is much CoAP has faster transmit cycle
slower
MQTT is not a RESTful protocol CoAP is RESTful protocol
MQTT works on flexible topic CoAP has stable resource discovery
subscription mechanism
For security, MQTT is unencrypted but it CoAP uses UDP’s DTLS security
uses TCP’s TLS/SSL security
encryption
FIGURE 17. IoT Network Layer Interoperability architecture (Pratikkumar, Amit , &
Pramod , 2015)
The Network interoperability protocols are designed for a specific domain and
applications for some standardized hardware components developed to support
multiple networking protocols.
53
However, this thesis work is on the research of identifying the interoperability among
the IoT Application Level protocols specifically between the MQTT and CoAP
protocol.
As elaborated in this thesis, the most competing and proposed Application Level IoT
protocols are CoAP and MQTT. Each protocol has a unique characteristics and
massaging architecture for an IoT applications. However, the interoperability
between devices implemented with these Application Layer protocols and other
proposed IoT protocols remains a challenge.
Moreover, there are various interoperability initiatives emerging and working to solve
the interoperability challenge within the IoT Application Layer protocols. Most of the
initiatives are open source and are built on top of the IoT Application Layer protocols.
They focus on the data structure, communication model and semantics of IoT data
(OCF Solving The IOT Standards Gap, n.d.).
Notable initiative consortiums are the AllSeen Alliance and AllJoyn (AllSeen Alliance,
n.d.) which are open source, universal, secure and development connectivity
frameworks with the aim to support and enable the interoperability between the IoT
devices. The AllJoyn framework supports device discovery to interoperate and
interact. This means that products, applications and services implemented with the
AllJoyn framework can connect even without the Internet access to various network
layers, regardless of manufacturer or operating system.
54
6.1.2 Semantics interoperability
However, the Application Layer in terms of data methods is divided into sub-layers:
Data transfer and semantics. Table 17 shows the IoT Application Layers presented
in this sub-layer of the thesis.
55
The IoT-A project was initiated and proposed by the EU as an IoT architecture model
that could allow developers to choose the architecture that will best fit the devices
they develop. Data serialization frameworks are open source and they were
developed to assist developers to define data and also to enable them to use the
data in their preferred programming language. Franca is also a data framework
developed by the Eclipse projects. It defines and transforms software interfaces and
integrates software components. HyperCat is also an interoperability layer semantic
that allows applications to explore data and available resources and also to help to
find right URIs. The Lightweight M2M semantic device management protocol
designed for sensor networks is suitable for IoT applications that have a low
bandwidth and Lossy Networks. LwM2M is developed based on the CoAP and
Datagram Transport Layer, bond to UDP and standardized by Open Mobile Alliance
(Open Mobile Alliance, n.d.).
56
7 IOT IN 5TH GENERATION MOBILE COMMUNICATION (5G)
Since the emergence of the IoT, it has gone through various stages of ubiquitous
computing with applications built with various types of sensors. As the applications of
connected “things”, the IoT is expected to grow to an average of 6-7 devices per
person by 2020 and with most of the challenges at the device and protocol levels
being solved since the past decade. The trend and the challenges currently
confronted with the implementation if the IoT is on the integration and interoperability
of IoT based systems and other network systems together with mobile data and
wireless broadband communication services. Another challenge arises with the cloud
computing that requires a new network with the capacity that can handle everything
on cloud.
However, the vision of 2020 and beyond (ITU, n.d.) cannot be fully achieved during
the current evolution of International Mobile Telecommunications-Advanced (IMT-
Advanced) technologies (Blust, 2017) based on the requirements. Hence, the birth of
the 5th Generation Mobile Communication Technology (5G), which has been
projected to have features over the legacy technologies, will represent the
convergence of all Network access technologies. The 5G technology is still in its
initial stages and it is yet to be standardized but it has been proposed that the
architecture should integrate the need for IoT applications and other seamless
integrations. An IoT integration will help in managing the challenges within the IoT
networks. This means that there will be fast and high capacity networks for IoT
applications, such as a D2D (Devices-to-Device) connection which is expected to
form the major network portion of the 5G technology.
Moreover, the economic and social impact of 5G has been reviewed by a research
commissioned by Qualcomm technologies (Karen , et al., 2017). As 5G is new and
more devices will be connected on 5G, it is expected to generate up to $12.3 trillion
worth of goods and services of the global economic output in 2035. This according to
the research represents or is equivalent to the spending power of US in 2016 on
consumer products and it is also more than the consumer spending of China, Japan,
Germany, United Kingdom and France combined in 2016. Again, the 5G technology
will support up to 22 million jobs and generate $3.5 trillion with the value chain in
57
2035. This value chain according to the research is approximately the combined
revenue of the top 13 companies on the 2016 Fortune Global 500 list (Fortune
Global 500 lists, 2017). Qualcomm research also reports that the 5G development
will sustain the global Gross Domestic Product (GDP) growth for a longer term. It has
been predicted that the total global GDP will grow from 2020 to 2035 to an
equivalent of an economy of the size of India, which is the seventh largest economy
in the world at the moment.
The vision of the 5G technology has been categorized in three main components:
Services, Technology and Standards.
7.1.1 Services
The main objective of the service vision is to connect everything to the cloud.
However, to make this connecting everything to the cloud a reality, a major
transformation within the mobile technology will take place to deliver the much
needed ubiquity, low latency and adaptability to transform the entire industry. This
transformation is the core of the evolution of the 5G technology and efforts are being
made to enhance the Mobile Broadband termed as eMBB (enhance Mobile
Broadband) Network as one aspect to realize the 5G vision. The Mobile Broadband
enhancement will improve the network and enable efficient data transmission. The
cost per bit for data transmission will be much lower, which will increase the use of
the Mobile Broadband Network. Thus, an improvement on the Mobile Broadband
Network will support and extend the cellular coverage into a wider range of
structures, such as office buildings, industrial environment, shopping malls and large
venues.
Another service vision of 5G, and the most important or the main core reason for its
birth, is to extend IoTs into a Massive Internet of Things (MIoT). The machine-to-
Machine (M2M) IoT application will be improved by the 5G technology and will be
termed D2D that will enable a significant increase in the adoption and utilization
across all sectors. 5G will improve Low-Power requirements and will have the ability
58
to operate both in the licensed and unlicensed spectrum and increase in the
coverage area where cost within the MIoT will be much cheaper than what it is
today.
IoT is already in existence and many applications are being rolled out operating with
older generations of mobile and cellular technologies and other Low-Power wireless
technologies operating in both licensed and unlicensed spectrum. However, while
waiting for the 5G MIoT to be implemented and rolled out, efforts are being made to
improve the current cellular technology Long Term Evolution (LTE) to improve the
cellular IoT market. Technologies such as the LTE Cat-M1 enhancedMachine Type
Communication (eMTC) and the LTE Cat-NB1 Narrowband IoT (NB-IoT), are being
started to incorporate Low-Power to enable a cellular IoT. These LTE IoT cellular
network technologies deployments are expected in 2017 after major operators
worldwide, such as AT&T (AT&Tnewsroom, 2016), China Telecom (Joseph, 2016),
SK Telecom (Agam, 2016), Verizon (Brumfield, 2016) and Vodafone (Ibbetson,
2016) have committed to it. The above-mentioned technology (NB-IoT and eMTC)
which will be enabled by the various telecom companies around the world, is a
foundation for MIoT which will improve and extend the Low-Power operational
capabilities, have an ability to utilize both licensed and unlicensed spectrum and
reduce costs due to the economic scale.
Another 5G vision of importance is the Mission Critical Services (MCS) which, when
implemented, will support IoT applications, such as industrial automation, remote
patient monitoring, smart grid connectivity, autonomous vehicles and commercial
drones, that require a high reliability, an ultra-low latency connectivity with a high
security and availability. Figure 19 illustrates the 5G vision.
59
FIGURE 18. 5G vision and usage scenarios for 2020 and beyond (Mallinson, 2016)
However, these minimum requirements do not restrict the full range of capabilities or
the performance Radio Interface Technologies (RITs) might have. It gives room for
further and advanced performance in order to achieve IMT-2020. Table 18 is a
summary of the ITU-R for IMT-2020 minimum technical performance requirements.
60
TABLE 18. ITU-R for IMT-2020 minimum technical performance requirements
(SG05, 2017)
Metric Performance Definition
Requirement
Peak Data Rate DownLink (DL) is 20Gbit/s It is the received Data bits
UpLink (UL) is 10Gbit/s rate under ideal
conditions by a single
eMBB mobile station
assuming all assignable
radio resources are
utilized
DL is 30bit/s/Hz It is the maximum
Peak Spectral Efficiency (assuming 8 streams) received Data bit rate
UL is 15bit/s/Hz under ideal conditions by
(assuming 4 streams) a single eMBB mobile
station assuming all
assignable radio
resources are utilized
DL is 100Mbits/s It is 5% point of the
UL is 50Mbits/s Cumulative Distribution
User Experience Data Function (CDF) of the
Rate eMBB user throughput.
That is the number of bits
correctly received by the
user during the active
period
5th percentile user Reference to It is the 5%-point CDF of
spectral efficiency the normalized user
throughput.
TABLE 19
Average spectral Reference to TABLE 20 It is the average
efficiency throughput of all users
corresponding to the
number of correctly
received bits in the eMBB
Average Traffic Capacity DL is 10Mbit/s/m2 in the It is the total traffic
Indoor Hotspot-eMBB throughput served per
geographical area. That is
the correctly received bits
per an area
Latency
User Plane Latency 4ms for eMBB Single user for small IP
1ms for URLLC packets for both DL and
UL
eMBB and URLLC (Ultra-
Control Plane Latency 20ms (encouraged to Reliable and Low Latency
consider lower control Communications)
latency 10ms) Transition from Idle to
61
Active (eMBB and
URLLC)
For mMTC (massive
Connection Density 1000 000 devices per km2 Machine Type
Communications)
Efficient Data
Energy Efficiency transmission in a loaded Evaluation in the eMBB
case scenario
Low energy consumption
when there is no Data
99.9999% (1-10-5) Evaluation in the URLLC
Reliability success probability scenario for 32 bytes in
layer 2 within 1ms at cell
edge
Stationary: 0km/h
Pedestrian: 0km/h -
Mobility 10km/h Evaluation in the eMBB
Vehicular:10km/h- scenario
120km/h
High speed vehicular:
120km/h - 500km/h
Mobility Interruption Time 0ms Evaluation in the eMBB
and URLLC scenarios
Bandwidth At least 100MHz and up Evaluation in the eMBB
to 1 GHz for above 6GHz and URLLC scenarios
operations
TABLE 19. 5th percentile user spectral efficiency performance (SG05, 2017)
Test environment DL (bit/s/Hz) UL (bit/s/Hz)
Indoor Hotspot-eMBB 0.3 0.2
Dense Urban-eMBB 0.225 0.15
Rural-eMBB 0.12 0.045
As mentioned earlier in this chapter, one of the main targets of the 5G technology is
to massively connect everything to realize the full roll out of the IoT. However, it can
also be deduced from the 5G target performance in table 18 that it is really gearing
62
towards the MIoT. A capacity of 1,000 to 5,000 more than the capacity of 3G and 4G
networks will be delivered and it will support cells peak rates between 20Gbit/s and
10 Gbit/s. With the high capacity and peak rate, a connection density of about one
million (1M) devices within one-kilometer (1km) area could be achieved.
Furthermore, an energy efficiency monitor is expected to be implemented to monitor
an efficient energy consumption during the data transmission and to give a very low
energy consumption when devices or sensors are idle. It is also targeted to perform
on ultra-low latency of about 1-10 milliseconds (1-10ms) of data transmission from
one point to another, compared to the 40-60 milliseconds of today’s 3G and 4G
Networks. This target performance will support applications, such as fast-moving
vehicles at speeds 120km/h-500km/h, where the delivery of information or data
between the source and the destination will be within five milliseconds.
Another goal of the 5G performance is the interoperability between 5G, 4G and WiFi,
in which a separation of commutations infrastructures will be done to allow mobile
users move freely between these infrastructures without any break in connection.
This means that for example, cellular networks will be integrated with other
communication infrastructures, such as WiFi, and a user will not experience a
connection break when moving between the networks. Furthermore, another
performance feature will be that the networks will become programmable. This
means that operators will be able to make changes to the network to best suit, for
example, its customer needs without the need to touch the physical infrastructure.
This will be a reality when the 5G Advanced Network infrastructure is implemented
using the Software-Defined Network (SDN) and the Network Functions Virtualization
(NFV).
63
FIGURE 19. 5G technology standardization timeline (Romano, 2017)
3GPP has categorized into a phase based approach and each phase comprises one
or more study items and one or more work items. These phases are also termed as
release standards where the release 13, which is based on the existing LTE-A, and
the release 14 marked the beginning of the study into the 5G technology are already
standardized. The Release 15, also termed phase one (1), is the beginning of the 5G
standardization and it is aiming at enabling the phase 1, which is expected to be
deployed in 2020. The Release 16 will help users into further enhancements and is
ready for the products that will make up the 5G technology.
64
FIGURE 20. IMT-2020 Standardization process (Ying Peng, 2017)
FIGURE 21. Detailed timeline and process for IMT-2020 in ITU-R (Ying Peng, 2017)
65
7.1.3 5G key technologies
As the standardization of the 5G is ongoing, there are some key technologies that
are being considered and to be enabled. These are the Advance Network Millimeter
Wave (mmWave) system, Multi-Radio Access, Advanced Massive Multiple Input
Multiple Output (MIMO), Multiple access, advance Device-to-Device (D2D), and an
advanced small cell.
With the Advanced Network technology, the aim is to create an integrated and
distributed network function which is programmable using the network software, such
as SDN and NFV. With SDN, the network control can be programmed to allow
flexibility of enhancing the network features and to aid in data forwarding paths and
functions. The NFV is a technology used to virtualize a complex hardware based
network node function into software building blocks that can be combined a chained
to create advanced communication service (Chung, 2017). It eliminates dependency
and complex hardware based Network nodes using flexible software blocks that are
called Virtualized Network Functions (VNTs).
The millimeter Wave system has huge bandwidth in the mmWave band, which is has
a frequency above 6 GHz more than LTE mmWave band. More capacity can be
gained with mmWave, for example 2.2Gbits/s of data rate can be supported by the
28GHz band using a multi-cell and 500MHz bandwidth. The Massive MIMO on the
other hand will enhance a data rate using the Full-Dimension MIMO (FD-MIMO), the
spectral efficiency will be enhanced using Multi-User MIMO and the Energy
efficiency and data rate will be enhanced accordingly using Virtual MIMO (MIMO).
The advanced D2D technology proposed for the 5G is critical for the IoT. With
Advanced D2D, offloading data from a mobile network so that the loading and cost of
processing data and signaling is reduced. Mission Critical Push-to Talk (MCPTT) is
another technology emanating from the Advanced D2D that will support the Vehicle-
to-Anything (V2X) communication. A throughput enhancement could be achieved
significantly by the Small Cells technology where a large number of small cells in a
given area will be used to realize this. Small cells are easy to deploy, self-configure
and distribute.
66
8 CONCLUSION
This thesis work was started by studying a little bit of the history of the IoT and the
global economic impact on the world market at large. It has been reviewed that by
2020, about 26 billion units, excluding computers and smartphones, will be
connected to the Internet. Having many devices connected will in return generate
some revenue in the global economy of about $1.9 trillion through sales and other
markets by 2020.
Furthermore, the existing IoT architecture, and standards that enable protocols were
presented. Chapter 2 deals with the IoT architecture where the IoT reference model
is compared with the traditional Internet to identify the differences and similarities
and the applications are also reviewed at each level. A review on the IoT gateway
connectivity protocols and the IoT protocol stacks, which provide the end to end
connectivity from a sensor to the backend application, were discussed in Chapter 0.
Here, the important features and functionalities of IoT gateway protocols were
reviewed and the IoT Application Level protocols, such as HTTP and RESTful, were
discussed. It was reviewed that even though HTTP is widely used on the www and
has been standardized, it is not suitable for many IoT applications due to some
limitation on constrained devices.
Then, Application Layer communication protocols, CoAP and MQTT were carefully
and extensively inspected in detail in chapters 4 and 5. These IoT Application Layer
protocols have been tipped as the most suitable protocols currently being
implemented in most IoT applications, the reason being that they are light weight and
are suitable for constrained devices, such as sensors. Chapter 6 is dedicated to the
comparison and interoperability between the two main IoT protocols, MQTT and
CoAP. In comparison, it was reviewed that it all depends on the preference and the
application. Either protocol is suitable for IoT applications because both are designed
for lightweight devices and suitable to a constrained environment. On the question
on the interoperability, it was reviewed that applications implemented with either
MQTT and CoAP protocol will not just interoperate even though they are similar but
each has unique characteristics and messaging architecture. Therefore, to achieve
the interoperability between any IoT protocols, a semantics interoperability must be
67
applied. The Semantic interoperability provides a different dimension to the data
interoperability at the Application Layers protocols. This means that interoperability
must take place at a higher level of the protocol stack than raw data transferred.
Finally, Chapter 7 was dedicated to review the future of the IoT and the cellular
communication technologies. It was reviewed that one of the major objectives of the
much talked cellular technology; the 5G technology, is to massively connect “things”.
Therefore, one of the core technologies being implemented is the MIoT. It is
expected that the IoT will grow to an average of 6-7 devices per person by 2020 and
with most of the challenges at the device and protocol levels being solved. That
interconnectivity and interoperability between devices and protocols will have the
same level of operation and will eliminate the interoperability challenges facing the
current IoT applications implementation.
Even though, 5G is still at its initial stages and it is yet to be standardized and
deployed by the year 2020, the IoT is included in the plan of 5G where input/output
or sensors / actuators, IoT platforms and positioning are planned to be integrated.
After 2020 we are going to experience about 26 billion units or devices being
connected to the Internet.
68
9 REFERENCES
70
37. Richard J Coppen, A. B. 2016. Information Technology - Message Queuing
Telemetry Transport (MQTT) V3.1.1. (International Organization For
Standardization). Date of Retrieval 05.05.2017.
https://www.iso.org/standard/69466.html
38. Richard Möller, S. B. 2016. Ericsson Mobility Report: Growth in the Number of
Connected Devices is Driven by Emerging Applications and Business Models,
and Supported by Falling Device Costs. Stockholm: Ericsson Mobility Report.
39. Romano, G. 2017. Preparing the Ground for IMT-2020. (3GPP). Date of
retrieval 08.10.2007. http://www.3gpp.org/news-events/3gpp-news/1901-
imt2020_news
40. SG05, I.-R. 2017. Draft New Report Itu-R M.[IMT-2020.Tech Perf Req] -
Minimum Requirements Related to Technical Performance for IMT-2020
Radio Interface(s). (ITU-R IMT-2020).04.10.2017. https://www.itu.int/md/r15-
sg05-c-0040/en
41. Shelby Z., Hartke K., & Bormann C. 2014. Date of retrieval 03.04.2017.
Internet Engineering Task Force (Ietf): https://tools.ietf.org/html/rfc7252
42. Shelby Z., Hartke K., & Bormann, C. 2014. The Constrained Application
Protocol (CoAP). (Internet Engineering Task Force (Ietf) ). Date of retrieval
15.04.2017. https://tools.ietf.org/html/rfc7252
43. Shimonski R. 2005. Network+ Study Guide & Practice Exams. Syngress.
44. Tayur V. M., & Suchithra , R. 2017. Review of Interoperability Approaches in
Application Layer of Internet of Things. IEEE, 322-326.
45. Touch J., & Eliot Lear A. M. 2017. Service Name and Transport Protocol Port
Number Registry. Date of retrieval 12.08.2017.
https://www.iana.org/assignments/service-names-port-numbers/service-
names-port-numbers.xhtml?&page=112
46. Touch J., & Eliot Lear, A. M. 2017. Service Name and Transport Protocol Port
Number Registry. Date of retrieval 11.08.2017.
https://www.iana.org/assignments/service-names-port-numbers/service-
names-port-numbers.xhtml?&page=33
47. Vermesan Ovidiu, P. F. 2014. Internet of Things-from Research and
Innovation to Market Deployment. River Publishers, 1-143.
48. Wikibooks. 2015. Date of retrieval 3.04.2017
https://en.wikibooks.org/wiki/communication_networks/http_protocol
49. World R. 2016. MQTT Architecture,working Operation,use cases. Rf Wireless
World: http://www.rfwireless-world.com/tutorials/mqtt-tutorial.html
50. Ying Peng, J. J. 2017. Guidelines for Evaluation of Radio Interface
Technologies for IMT-2020 “Report ITU-R M.[IMT-2020.EVAL]”. Munich:
3GPP.
71