Documente Academic
Documente Profesional
Documente Cultură
(IoT)
Outline
• Introduction
• Definition of IoT
• Characteristics of IoT
• Challenges and Issues of IoT
• Physical Design of IoT
• Logical Design of IoT
• IoT Functional Blocks
• Security
Introduction
• The IOT concept was coined by a member of the Radio
Frequency Identification (RFID) development community
in 1999
• And it has recently become more relevant to the practical
world largely because of the growth of mobile devices,
embedded and ubiquitous communication, cloud
computing and data analytics
• The Internet of Things is a concept in which the virtual
world of information technology integrates seamlessly the
real world of things.
• The real world becomes more accessible through
computers and networked devices in business as
well as everyday scenarios.
• With access to fine-grained information,
management can start to move freely from macro
to micro levels and will be able to measure, plan
and act accordingly.
• However, the Internet of Things is more than a
business tool for managing business processes
more efficiently and more effectively – it will
also enable a more convenient way of life.
A Phased Approach from the Intranet of Things to a Future
Vision on the Internet of Things
• IoT allows things to communicate and exchange data
(control & information, that could include associated
with user) while executing meaningful applications
towards a common user or machine goal
• IoT network extract and create information from lower
level data by filtering, processing, categorizing,
condensing and contextualizing the data.
• This information obtained is then organized and
structured to infer knowledge about the system and/or
its user, its environment, and its operations and
progress towards its objectives, allowing a smarter
performance
Inferring information and
knowledge from data
Definition
• Data rates for these standards range from 9.6 Kb/s (for 2G)
up to 100 Mb/s (for 4G) and are available from the 3GPP
website
Network/Internet Layer
• The network layers are responsible for sending of IP
datagrams from the source network to the destination
networks
• This layer performs the host addressing and packet routing
• The datagrams contain the source and destination
addresses which are used to route them from the source to
destination across multiple networks
• Host identification is done using hierarchical IP addressing
schemes such as IPv4 or IPv6
» IPv4
» IPv6
» 6LoWPAN
IPv4
• Internet Protocol versiuon4: Is the most deployed Internet
protocol that is used to identify the devices on a network
using hierarchical addressing scheme
• IPv4 uses a 32-bit address scheme that allows total of 232
addresses
• As more and more devices got connected to the Internet,
these addresses got exhausted in the year 2011
• IPv4 has succeeded by IPv6.
• The IP protocols establish connections on packet networks,
but do not guarantee delivery of packets
• Guaranteed delivery and data integrity are handled by the
upper layer protocols (such as TCP)
• IPv4 is formally described in RFC 791
IPv6 & 6LoWPAN
• Internet Protocol version 6 (IPv6) is the newest version of
Internet protocol and succor to IPv4
• It uses 128-bit address scheme that allow total of 2128
• It is formally described in RFC 2460
Response
Client Server
Transport Layer
Methods
Protocols
HTTP
Request and
Status
Methods
CoAP: Constrained Application
Protocol
Transport
• For Machine
Layer –to-Machine (M2M) Application
Protocols
– Such as constraint environments with constrained devices and
HTTP
Request and
constrained networks
Status
Methods
• IsStatus
a webCodestransfer protocol like HTTP
Adv. & Dis. Adv.
• Uses a request-response model
CoAP
• Runs on top of UDP instead of TCP
• Uses client server architecture where client communicate with
servers using connectionless datagrams
• Supports methods such as
– GET, PUT, POST and DELETE
WebSocket
• It allows full-duplex communications over the single
Transport Layer socket connection for sending message between
Protocols client and server
HTTP
Request and • Is based on TCP
Status
Methods • Allows stream of messages to be sent back and forth
Status Codes
Adv. & Dis. Adv.
between client and server
CoAP
Interactive Diagram
• The client can be a
Websocket – Browser
– Mobile Applications
– IoT device
MQTT: Message Queue Telemetry
Transport Layer
Transport
Protocols • Lightweight message queuing and transport
HTTP
Request and protocol
Status
Methods • Asynchronous communication model with
Status Codes
Adv. & Dis. Adv.
CoAP
messages(events)
Interactive Diagram
Websocket • Low overhead (2 Bytes header for low
MQTT
network bandwidth applications
• Publish/subscribe(pub sub Model)
• Simple protocol aimed at low complexity,
low power and low footprint
• There are many brokers that implement the
MQTT protocol. One of the most popular
and commonly used is the mosquito broker.
Cloud-based Mosquitto brokers
are many, like:
•ThingMQ
•ThingStudio
•MQTT.io
•Heroku
•CloudMQTT
And I will focus on the last one
in this and the upcoming blogs.
CloudMQTT broker
CloudMQTT is one of the best
and easiest cloud-based
Mosquitto broker.
XMPP
Transport Layer
• Extensible Messaging and Presence protocol
Protocols
HTTP
•
Request
Status
For
and real-time communication and streaming
• Codes
Methods
Status Applications includes
Adv. & Dis. Adv.
CoAP – Messaging, presence, data syndication, gaming,
Interactive Diagram
Websocket multi-party chat, voice/video calls
MQTT
• Uses client-server architecture
Adv. & Dis adv.
XMPP
• Supports
– Client-to-server communication
– Server-to-server communication
DDS
Transport Layer
• Data Distribution Service
Protocols
HTTP
• Uses
Request
Status
Publish
and and subscriber model
• Publisher
Methods
Status Codes is an object responsible for data
Adv. & Dis. Adv.
distribution ( Generation)
CoAP
Interactive Diagram
– Creates topic
Websocket
MQTT
• Supports
Status Codes
Adv. & Dis. Adv.
CoAP
– Point-to-point
Interactive Diagram
Websocket
MQTT – Publisher and subscriber models
Adv. & Dis adv.
XMPP
DDS
– Routing and Queuing
AMQP
• AMQP brokers receive the messages from
publisher and route them to the subscribers
Logical Design of IoT
• It refers to an abstract representation of entities and
processes without going into low-level specifics of the
implementation
» Identification
» Sensing
» Actuation
» Communication and Management
Application
Services
Management Security
Communication
Device
Functional Blocks of IoT
Generic block diagram of an IoT Device
• Device: An IoT system comprises of devices that provide
sensing, actuating, monitoring and control functions
• Communication: The communication block handles the
communication for the IoT system (using various
protocols)
• Services: An IoT system uses various types of IoT
services such as :
» Services for Device monitoring
» Device control Services
» Data publishing Services and
» Services for Device discovery
• Management: Management functional block provides
various functions to govern the IoT system
• Security: Security functional block secures the IoT system
and by providing functions such as:
» Authentication
» Authorization
» Message and Content integrity
» Data security
• Application: IoT applications provide an interface that the
users can use to control and monitor various aspects of the
IoT system
• Applications also allow users to view the system status and
view or analyze the processed data
IoT Communication Models
• The following types of communication models were
incorporated in IoT communication process namely:
» Request-Response
» Publish-Subscribe
» Push-pull
» Exclusive Pair
Request-Response Model
• In this model the client sends request to the server and the server
responds to the requests
• When the server receives a request, it decides how to respond, fetches
the data, retrieves resource representations, prepares the response, and
then sends the response to the client
• Request-response model is a stateless communication model and each
request-response pair is independent of others
Publish-Subscribe Model
• Push-Pull is a communication model in which the data producers push the data
to queues and the consumers pull the data from the queues
• Producers do not need to be aware of the consumers
• Queues help in decoupling the messaging between the producers and
consumers
• Queues also act as a buffer which helps in situations when there is a mismatch
between the rate at which the producers push data and the rate at which the
consumers pull data
Exclusive Pair Model