Sei sulla pagina 1di 121

INTERNET OF THINGS

(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

The Internet of Things (IoT) is a system of interrelated


computing devices, mechanical and digital machines,
objects, animals or people that are provided with
unique identifiers and the ability to transfer data over
a network without requiring human-to-human or human-
to-computer interaction.
TEXT BOOK DEFINITION OF
IOT
A dynamic global network infrastructure with self-
configuring capabilities based on standard and
interoperable communication protocols where
physical and virtual “things” have identities, physical
attributes, and virtual personalities and use intelligent
interfaces, and are seamlessly integrated into the
information network, often communicate data
associated with users and their environments
Dynamic & Self-Adapting: IoT devices and systems may have
the capability to dynamically adapt with the changing
contexts and take actions based on their operating conditions,
user’s context, or sensed information
Self-Configuring: IoT devices may have self-configuring
capability, allowing a large number of devices to work
together to provide certain functionality (Minimize the manual
or user intervention)
Interoperable Communication Protocols: IoT devices may
support a number of interoperable communication protocols
and can communicate with other devices and infrastructure
Unique Identity: Each IoT system has a unique identity and
unique identifier (IP address or URI)
Integrated into Information Network: IoT devices are usually
integrated into the information network that allows them to
communicate and exchange data with other devices and
systems
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
ENABLING TECHNOLOGIES FOR IOT
Internet of things (IoT) is a global infrastructure for
the information society
It enabling advanced services by interconnecting
(physical and virtual) things based on existing and
evolving interoperable information and
communication technologies.
With the Internet of Things the communication is
extended via Internet to all the things that surround
us.
The Internet of Things is much more than machine to
machine communication, wireless sensor networks,
sensor networks , 2G/3G/4G,GSM,GPRS,RFID, WI-
FI, GPS, microcontroller, microprocessor etc.
These are considered as being the enabling
technologies that make “Internet of Things”
applications possible.
Enabling technologies for the Internet of Things are
considered into three categories:
 (1) Technologies that enable “things” to acquire
contextual information
 (2) Technologies that enable “things” to process
contextual information
 (3) Technologies to improve security and privacy.
The first two categories can be jointly understood as
functional building blocks required building “intelligence”
into “things”, which are indeed the features that
differentiate the IoT from the usual Internet.
The third category is not a functional but rather a de facto
requirement, without which the penetration of the IoT would
be severely reduced.
The Internet of Things is not a single technology, but it
is a mixture of different hardware & software
technology.
The Internet of Things provides solutions based on the
integration of information technology
which refers to hardware and software used to store,
retrieve, and process data and communications
technology which includes electronic systems used for
communication between individuals or groups.
There is a heterogeneous mix of communication
technologies, which need to be adapted in order to
address the needs of IoT applications
Such as energy efficiency, speed, security, and reliability.
In this context, it is possible that the level of diversity will
be scaled to a number a manageable connectivity
technologies that address the needs of the IoT
applications, are adopted by the market, they have
already proved to be serviceable, supported by a strong
technology alliance.
Examples of standards in these categories include wired
and wireless technologies like Ethernet, WI-FI, Bluetooth,
ZigBee, GSM, and GPRS
INTERNET OF THINGS: ENABLING TECHNOLOGY
CHARACTERISTICS OF IOT
The fundamental characteristics of the IoT are as
follows:
Interconnectivity
Things-related services
Heterogeneity
Dynamic changes
Enormous scale
Safety
Connectivity
Interconnectivity: With regard to the IoT, anything can be interconnected
with the global information and communication infrastructure.
Things-related services: The IoT is capable of providing thing-related
services within the constraints of things.
Such as privacy protection and semantic consistency between physical
things and their associated virtual things.
In order to provide thing-related services within the constraints of things,
both the technologies in physical world and information world will change.
Heterogeneity: The devices in the IoT are heterogeneous as based on
different hardware platforms and networks.
They can interact with other devices or service platforms through different
networks.
Dynamic changes: The state of devices change dynamically, e.g.,
sleeping and waking up, connected and/or disconnected as well as the
context of devices including location and speed.
Moreover, the number of devices can change dynamically
Enormous scale: The number of devices that need
to be managed and that communicate with each
other will be at least an order of magnitude larger
than the devices connected to the current Internet.
Even more critical will be the management of the data
generated and their interpretation for application
purposes.
This relates to semantics of data, as well as efficient
data handling.
Safety: As we gain benefits from the IoT, we must not forget about safety.
As both the creators and recipients of the IoT, we must design for safety.
This includes the safety of our personal data and the safety of our physical
well-being. Securing the endpoints, the networks, and the data moving
across all of it means creating a security paradigm that will scale.
Connectivity: Connectivity enables network accessibility and
compatibility.
Accessibility is getting on a network while compatibility provides the
common ability to consume and produce data.
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
CHALLENGES & ISSUES OF
IOT
OPEN PROBLEMS AND CHALLENGES
Lack of standardization
Scalability
 Addressing issues
 Understanding the big data

Support for mobility


Address acquisition
New network traffic patterns to handle
Security/Privacy issues
Energy Issues
STANDARDIZATION
Several standardization efforts but not integrated in a comprehensive
framework
Open Interconnect Consortium
 Atmell, Dell, Intel, Samsung and Wind River

Industrial Internet Consortium


 Intel, Cisco, GE, IBM

AllSeen Alliance
 Led by Qualcomm, many others
SAMPLE STANDARDS
IOT MATURITY MODEL- IOTMM
ADDRESSING ISSUES

Incredibly high number of nodes, each of which will produce content that
should be retrievable by any authorized user
This requires effective addressing policies
IPv4 protocol may already reached its limit. Alternatives?
IPv6 addressing has been proposed for low-‐power wireless
communication nodes within the 6LoWPAN context
IPv6 addresses are expressed by means of 128 bits 1038 addresses,
enough to iden1fy objects worth to be addressed
RFID tags use 64–96 bit identifiers, as standardized by EPCglobal,
solutions to enable the addressing of RFID tags into IPv6 networks
Encapsulation of RFID message into an IPv6 packet.
NEW NETWORK TRAffiC PATTERNS TO HANDLE
The characteristics of the smart objects traffic in the IoT is still not known
 Important  basis for the design of the network infrastructures and protocols

Wireless sensor networks (WSNs) traffic characterization


 Strongly depend on the application scenario
 Problems arise when WSNs become part of the overall Internet
 The Internet will be traversed by a large amount of data generated by sensor networks
deployed for heterogeneous purposes extremely different traffic characteristics
 Required to devise good solutions for supporting quality of service
SECURITY
The components spend most of the time unattended
 It is easy to physically attack them
IoT components are characterized by low capabilities in terms of both energy and
computing resources
 They can’t implement complex supporting security

Authentication problem
 Proxy attack, a.k.a. man in the middle attack problem

 Data integrity

 Data should not be modified without the system detecting


it
 Attacks on the node
 Memory protection
 Attacks over the network
 Keyed-‐Hash Message Auth. Code
APPLICATIONS OF IOT
ISSUES OF IOT
Datalink Issues
Networking Issues
Security Issues
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
PHYSICAL DESIGN OF IOT
Things in IoT
 The “Things” in IoT usually refers to IoT devices which have
unique identities and can perform remote sensing, actuating
and monitoring capabilities.
 IoT devices can exchange data with other connected devices
and applications (directly or indirectly), or collect data from
other devices.
 Process the collected data either locally or send the data to
centralized servers or cloud-based application back-ends for
processing the data
 It can be performed either locally and other tasks within the
IoT infrastructure, based on temporal and space constraints
(i.e., memory, processing capabilities, communication latencies
and speed, and deadlines)
GENERIC BLOCK DIAGRAM OF AN IOT DEVICE
USB Host helps to connect different USB devices such as flash
drive, USB keyboard or mouse. ... Our latest smartphones can also act
as USB host, helping us to connect USB flash drives (OTG drives). These
android phones' usb port can act as both host and device. It acts as a
device, when it gets connected to a computer.
RJ45. An 8-pin/8-position plug or jack is commonly used to connect
computers onto Ethernet-based local area networks (LAN).
Central processing unit
HDMI stands for High Definition Multimedia Interface and is the most
frequently used HD signal for transferring both high definition video and
audio over a single cable.
A composite video cable consists of one yellow RCA connector that's
usually bundled with red and white RCA analog audio cables. It's called
composite videobecause all of the video information -- color, brightness
and sync -- is composited, or squeezed, onto one cable
GPU. (Graphics Processing Unit) A programmable logic chip (processor)
specialized for display functions. The GPU renders images, animations and
video for the computer's screen.
SD Card (Secure Digital Card) is an ultra small flash memory card designed
to provide high-capacity memory in a small size
MultiMediaCard (MMC) is a flash memory card standard. Typically,
an MMC is used as storage media for a portable device, in a form that can
easily be removed for access by a PC.
SDIO is an interface designed as an extension for the existing SD card
standard, to allow connecting different peripherals to the host with the
standard SD controller.
UART stands for Universal Asynchronous Receiver/Transmitter. It's not a
communication protocol like SPI and I2C, but a physical circuit in a
microcontroller, or a stand-alone IC. A UART's main purpose is to transmit
and receive serial data.
Serial Peripheral Interface (SPI) is an interface bus commonly used to send
data between microcontrollers and small peripherals such as shift registers,
sensors, and SD cards.
I2C is a serial protocol for two-wire interface to connect low-speed devices like
microcontrollers, EEPROMs, A/D and D/A converters, I/O interfaces and other
similar peripherals in embedded systems.
CAN is a multi-master serial bus standard for connecting Electronic Control Units
[ECUs] also known as nodes. Two or more nodes are required on theCAN network
to communicate.
An IoT Device may consist of several interfaces for connections
to other devices, both wired and wireless as follows:
 I/O interfaces for sensors
 Interfaces for Internet connectivity
 Memory and storage interfaces
 Audio/video interfaces

An IoT device can collect various types of data from the on-
board or attached sensors, such as temperature, humidity, light
intensity

The sensed data can be communicated either to other devices


or cloud-based servers/storage
IoT devices can be connected to actuators that allow them to
interact with other physical entities (including non-IoT devices
and system) in the vicinity of the device

IoT devices can also be of varied types, for instance,


wearable sensors, smart watches, LED lights, automobiles and
industrial machines

Almost all IoT devices generate data in some form or the other
which when processes by data analytics systems leads to
useful information to guide further actions locally or remotely
IOT DEVICES
IOT PROTOCOL STACK
IoT Protocols
 Link Layer
 Link layer protocols determine how the data is physically sent over the
network’s physical layer or medium (e.g., copper wire, coaxial cable, or
a radio wave)
 The scope of the link layer is the local network connection to which host is
attached
 Hosts on the same link exchange data packets over the link layer using
link layer protocols
 Link layer determines how the packets are coded and signaled by the
hardware device over the medium to which the host is attached (such as
a coaxial cable)
 IEEE802.3-Ethiernet
 IEEE802.11-Wi-Fi
 IEEE802.16-WiMax
 IEEE802.15.4-LR-WPAN
 2G/3G/4G- Mobile Communication
IEEE802.3-ETHIERNET
IEEE802.3 is a collection of wired Ethernet standards for the
link layer
It is the standard for 10BASE5 Ethernet that uses coaxial cable
as a shared medium
802.3.i is the standard for 10BASE-T Ethernet over copper
twisted-pair cable connections
802.3.j is the standard for 10BASE-F Ethernet over fiber optic
connections
802.3ae is the standard for 10Gbit/s Ethernet over fiber, and
so on
These standards provide data rates from 10 Mb/s to 40
Gb/s and higher
The shared medium in Ethernet cam be a coaxial cable,
twisted-pair wire or an optical fiber
The shared medium carries the communication for all the
devices on the network, thus data sent by one device can be
received by all devices subject to propagation condition
conditions and transceiver capabilities
The specifications of the 802.3 standards are available on the
IEEE802.3 workgroup website
IEEE802.11-WI-FI
802.11 is a collection of Wireless Local Area Network(WLAN)
communication standards
It can be in different versions as follows:
 802.11a operates in the 5 GHz band
 802.11b and 802.11g operate in 2.4 GHz band
 802.11n operates in the 2.4/5 GHz bands
 802.11ac operates in the 5GHz band
 802.11ad operates in the 60 GHz band

These standards provide data rates from 1 Mb/s to up to


6.75 Gb/s
The specifications of the 802.11 standards are available on
the IEEE802.11 working group website
IEEE802.16-WIMAX
IEEE802.16 is a collection of wireless broadband standards,
including extensive descriptions for the link layer (also called
WiMax)
WiMax standards provide data rates from 1.5 Mb/s to 1
Gb/s
The recent update (802.16m) provides data rates of 100
Mbit/s for mobile stations and 1 Gbit/s for fixed stations
The specifications o the 802.11 standards are readily
available on the IEEE 802.16 working group website
IEEE802.15.4-LR-WPAN
IEEE 802.15.4 is a collection of standards for low-rate wireless
personal area networks (LR-WPANs)
These standards from the basis of specifications for high level
communication protocols such as Zigbee
LR-WPAN standards provide data rates from 40 Kb/s to 250
Kb/s
These standards provide low-cost and low-speed
communication for power constrained devices
These specifications of the 802.15.4 standards are available
on the IEEE802.15 working group website
2G/3G/4G MOBILE COMMUNICATION
There are different generations of mobile communication
standards including second generation (2G including GSM
and CDMA), third generation (3G-including UMTS and
CDMA2000) and fourth generation (4G- including LTE)

IoT devices based on these standards can communicate over


cellular networks

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

6LoWPAN: IPv6 Low Power Wireless Personal Area Networks


6LoWPAN brings IP protocol to the Low-power devices which
have limited processing capability
It operates in the 2.4 GHz frequency range and provides
data transfer rates of 250 Kb/s
It works with the 802.15.4 link layer protocol and defines
compression mechanisms for IPv6 datagrams over
IEEE802.15.4 based network
TRANSPORT LAYER
The transport layer protocols provide end-to-end message
transfer capability independent of the underlying network
The message transfer capability can be set up on connections,
either using handshakes (as in TCP) or without
handshakes/acknowledgements (as in UDP)
The transport layer provides functions such as error control,
segmentation, flow control and congestion control
TCP
Transmission Control Protocol
 It is most widely used transport layer protocol that is used by Web
browsers (along with HTTP, HTTPS application layer protocols)
 E-mail programs (SMTP application layer protocol) and
 File transfer (FTP)
 It is a connection oriented and stateful protocol
 While IP protocol deals with sending packets, TCP ensures reliable
transmission of packets in-order
 It also provides error detection capability so that duplicate packets can
be discarded and lost packets are retransmitted
 The flow control capability of TCP ensures that rate at which the sender
sends the data is not too high for the receiver to process
 The congestion control capability of TCP helps in avoiding network
congestion and congestion collapse which can lead to degradation of
network performance
 TCP is described in RFC 793
UDP
User Datagram Protocol
 Unlike TCP, which requires carrying out an initial setup
procedure, UDP is a connection less protocol
 It is useful for time-sensitive applications that have very small
data units to exchange and do not want the overhead of
connection setup
 UDP is a transaction oriented and stateless protocol
 It does not provide guaranteed delivery, ordering of
messages and duplicate elimination
 Higher levels of protocols can ensure reliable delivery or
ensuring connections created are reliable
 UDP is described in RFC 768
APPLICATION LAYER
Application layer protocols define how the applications
interface with the lower layer protocols to send the data over
the network
The application data, typically in files, is encoded by the
application layer protocol and encapsulated in the transport
layer protocol which provides connection or transaction
oriented communication over the network
Port numbers are used for application addressing
Application layer protocols enable process-to-process
connection using ports
LIST OF APPLICATION LAYER PROTOCOLS

HTTP - Hyper Text Transfer Protocol


CoAP – Constrained Application Protocol
WebSocket
MQTT – Message Queue Telemetry Transport
XMPP – Extensible Messaging and Presence Protocol
DDS – Data Distribution Service
AMQP – Advanced Message Queuing Protocol
TRANSPORT LAYER
Transport Layer Protocols
HTTP
Transport Layer Protocols Hypertext Transfer Protocol
 HTTP
Is a protocol used mainly to access data on the World Wide
Web
HTTP functions as a combination of FTP and SMTP

Request

Response
Client Server
REQUEST AND STATUS LINES
Transport Layer Protocols
 HTTP
 Request and Status
METHODS
Transport Layer Protocols
 HTTP
 Request and Status
 Methods
ADVANTAGES & DISADVANTAGES
Transport Layer Protocols
 HTTP Advantages Disadvantages
 Request and Status
 Methods
 Status Codes
• Platform Independent • No reliable exchange of
 Adv. & Dis. Adv. data
• Not connection oriented hence
Less Overhead
• Too complicated and too
much overhead even for less
• Stateless protocol payload

• Less resources is required since • Only point to point


the connections are closed once
the data transfer is completed
• Communication
COAP: CONSTRAINED APPLICATION PROTOCOL
Transport Layer Protocols–to-Machine
For Machine (M2M) Application
 HTTP
 Such asand constraint
 Request Status environments with constrained devices and
 Methods
constrained networks
 Status Codes
 Adv. & Dis. Adv.
Is a web transfer protocol like HTTP
 CoAP

Uses a request-response model


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
COAP: CONSTRAINED APPLICATION
PROTOCOL
Transport Layer Protocols
 HTTP
 Request and Status
 Methods
 Status Codes
 Adv. & Dis. Adv.
 CoAP
 Interactive Diagram
WEBSOCKET
It allows full-duplex communications over the single
Transport Layer Protocols
socket connection for sending message between client
 HTTP and server
 Request and Status
 Methods Is based on TCP
 Status Codes
 Adv. & Dis. Adv. Allows stream of messages to be sent back and forth
 CoAP
 Interactive Diagram between client and server
 Websocket
The client can be a
 Browser
 Mobile Applications
 IoT device
MQTT: MESSAGE QUEUE TELEMETRY TRANSPORT
Transport Layer Protocols
Lightweight message queuing and transport protocol
 HTTP
Asynchronous communication model with messages(events)
 Request and Status
 Methods
 Status Codes Low overhead (2 Bytes header for low network bandwidth applications
 Adv. & Dis. Adv.
 CoAP Publish/subscribe(pub sub Model)
 Interactive Diagram
 Websocket Simple protocol aimed at low complexity, low power and low footprint
 MQTT
XMPP
Transport Layer Protocols Extensible Messaging and Presence protocol
 HTTP
 Request and Status For real-time communication and streaming
 Methods
 Status Codes Applications includes
 Adv. & Dis. Adv.  Messaging, presence, data syndication, gaming, multi-party chat, voice/video
 CoAP calls
 Interactive Diagram
 Websocket Uses client-server architecture
 MQTT
 Adv. & Dis adv. Supports
 XMPP
 Client-to-server communication
 Server-to-server communication
DDS
Transport Layer Protocols Data Distribution Service
 HTTP
 Request and Status Uses Publish and subscriber model
 Methods
 Status Codes Publisher is an object responsible for data distribution (
 Adv. & Dis. Adv. Generation)
 CoAP
 Creates topic
 Interactive Diagram
 Websocket
 MQTT
Subscriber responsible for receiving published data
 Adv. & Dis adv.  Subscribes to topc
 XMPP
 DDS DDS provides Quality of Service (QoS) control and configurable
reliability
AMQP
Transport Layer Protocols Advanced Message Queuing protocol
 HTTP
 Request and Status For business messaging
 Methods
 Status Codes Supports
 Adv. & Dis. Adv.  Point-to-point
 CoAP
 Interactive Diagram  Publisher and subscriber models
 Websocket  Routing and Queuing
 MQTT
 Adv. & Dis adv. AMQP brokers receive the messages from publisher and route
 XMPP them to the subscribers
 DDS
 AMQP
LOGICAL DESIGN OF IOT
It refers to an abstract representation of entities and
processes without going into low-level specifics of the
implementation

It describes the following:

IoT Functional Blocks


IoT Communication Models
IoT Communication APIs
IOT FUNCTIONAL BLOCKS
An IoT System comprises of a number of functional blocks that
provide the system the capabilities for the following:

 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

Publish-Subscribe is a communication model that involves publishers,


brokers and consumers
Publishers are the source of data
Publishers send the data to the topics which are managed by the brokers
Publishers are not aware of the consumers
Consumers subscribe to the topics which are managed by the broker
When the broker receives data for a topic from the publisher, it sends the
data to all the subscribed consumers
PUSH-PULL MODEL
Publisher Consumer-1

Messages Messages
pushed to Pulled
queues from
Send messages to queues
Queue Consumer-2

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

Exclusive pair is a Bi-directional, fully duplex communication model that


uses a persistent connection between the client and server
Once the connection is setup it remains open until the client sends a request
to close the connection
Client and server can send messages to each other after connection setup
Exclusive pair is a stateful communication model and the server is aware of
all the open connections
LOGICAL DESIGN OF IOT
It refers to an abstract representation of entities and
processes without going into low-level specifics of the
implementation

It describes the following:

IoT Functional Blocks


IoT Communication Models
IoT Communication APIs
IOT COMMUNICATION APIS

There are two major communication APIs were used in IoT such
ae follows:

 REST-based Communication APIs


 WebSocket-based Communication APIs
REST-BASED COMMUNICATION APIS
Representational State Transfer (REST) is a set of architectural
principles used for designing Web services and Web APIs that
focus on a system’s resources and how resources states are
addressed and transferred
REST APIs follow the Request-Response communication model
The REST architectural constraints apply to the components,
connector, and data elements, within a distributed hypermedia
system
The REST architectural constraints are as follows:
 Client-Server
 Stateless
 Cache-able
 Layered system
 Uniform Interface
 Code on demand
Client-Server: The principle behind the client-server constraint
is the separation of concerns.
 Client should not interfere the storage of data from server
 Server should not be concerned about the user interface

Stateless: Each request from client to server must contain all


the information necessary to understand the request, and
cannot take advantage of any sored context on the server
 The session state is kept entirely on the client

Cache-able: Cache constraint requires that the data within a


response to a request be implicitly or explicitly labeled as
cache-able or non-cache-able
 If a response is cache-able, then a client cache is given the right to reuse
that response data for later, equivalent requests
 Catching can partially or completely eliminate some interactions and
improve efficiency and scalability
Layered System: Layered system constraint, constraints the
behaviour of components such that each component cannot see
beyond the immediate layer with which they are interacting
Uniform Interface: This constraint requires that the method of
communication between a client and a server must be uniform
 When a client holds a representation of a resource it has all the
information required to update or delete the resource
 Each message includes enough information to describe how to process the
message

Code on demand: Servers can provide executable code or


scripts for clients to execute in their context (it is optional).
COMMUNICATION WITH REST APIS
REQUEST-RESPONSE MODEL USED BY REST
HTTP REQUEST METHODS AND ACTIONS
WEBSOCKET-BASED COMMUNICATION APIS
WebSocket APIs allow bi-directional, full duplex
communication between client and servers
It follows the exclusive pair communication model described
previously
It does not require a new connection to be setup for each
message to be sent
It begins with a connection setup request sent by the client to
the server
Request is sent over HTTP, and the server interprets it as an
upgrade request
If server supports WebSocket protocol, the server responds to
the Websocket handshake response
After the connection is setup, the client and server can send
data/message to each other in full-duplex mode
WebSocket APIs reduce the network traffic and latency as
there is no overhead for connection setup and termination
requests for each message
It is suitable for IoT applications that have low latency or high
throughput requirements
EXCLUSIVE PAIR MODEL USED BY WEBSOCKET APIS
IOT ARCHITECTURE
IOT ENABLING TECHNOLOGIES

IoT enabled by several technologies as follows:

 Wireless Sensor Networks (WSNs)


 Cloud Computing
 Big data analytics
 Embedded systems
 Security protocols and architectures
 Communication protocols
 Web services
 Mobile Internet and
 Semantic search engines
SECURITY
IOT SECURITY: TRENDS, PROBLEMS AND CHALLENGES
TOP 10 SECURITY PROBLEMS WITH IOT DEVICES
1. Insecure web interface
2. Insufficient authentication
3. Insecure network services
4. Lack of transport encryptions
5. Privacy concerns
6. Insecure cloud interface
7. Insecure mobile interface
8. Insufficient security configurability
9. Insecure software
10.Poor physical security
Passive attacks
 Eavesdropping
 Traffic analysis
 Message injection

Active Attacks
 Message modification
 Node capture
 Denial-of-Service (DoS) attacks
Eavesdropping
 an attacker intercepts packets transmitted over the air for further cryptanalysis or traffic
analysis.

Traffic analysis
 allows an attacker to determine that there is activity in the network, the location of
the BSs, and the type of protocols being used.

Message injection
 an adversary injects bogus control information into the data stream.
Message modification
 a previously captured message is modified before being retransmitted

Node capture
 An embedded device is considered being compromised when an attacker, through
various means, gains control to the node itself.

Denial-of-Service (DoS) attacks


 can be grouped into two categories
 Service degradation (e.g., collision attack), and
 Service disablement through power exhaustion (e.g. jamming)
LAYER-BASED ATTACK CATEGORIZATION

Task Management Plane


Mobility Management Plane
Power Management Plane
Application DataAggregation Distortion | Message Injection
Layer or Modification
Transport Flooding Attack | Desynchronization attacks
Layer Replay Attack | Sybil Attack | Spoofed, altered, or
Network replayed routing information | Sinkhole, Wormhole
Layer Attack | Hello Flood Attack
Data Link
Layer Collision Attack | Sybil Attack | Node Replication |
Physical Acknowledgement Spoofing Attack
Layer Eavesdropping | Jamming | Battery Exhaustion

Potrebbero piacerti anche