Unit 1
Unit 1
Defining 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
information network, often communicate data associated with users and their
environments.
Characteristics of IoT
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 environment. For
example, consider a surveillance system is adapting itself based on context
and changing conditions.
Self-Configuring: IoT devices may have self-configurable capability,
allowing a large number of devices to work together to provide certain
functionality. These devices have the ability configure themselves, setup the
networking, and fetch latest software upgrades with minimal manual or usual
intervention.
Interoperable Communication Protocols: IoT devices may support a
number of interoperable communication protocols and can communicate with
other devices and also with infrastructure.
Unique Identity: Each IoT device has a unique identity and a unique
identifier (such as an IP address or a URL). IoT device interfaces allow users
to query the devices, monitor their status, and control them remotely, in
association with the control, configuration and management infrastructure.
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.
Page 1 of 16
Physical Design of IoT
1. Things in IoT:
The “Things” in IoT usually refers to IoT devices which have unique identities
and 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 and process data either locally or
send the data to centralized servers or cloud based application back-ends for
processing the data, or perform some tasks locally and other tasks within the
IoT infrastructure, based on temporal and space constraints (i.e. memory,
processing capabilities, communication latencies and speeds, and deadlines).
Figure 1.1 shows a block diagram of typical IoT device. An IoT device may
consist of several interfaces for communication to other devices both wired and
wireless. These include (i) I/O interfaces for sensors, (ii) Interfaces for internet
connectivity (iii) memory and storage interfaces and (iv) audio/video interfaces.
IoT devices can be of varied types. For instance: wearable sensors, smart
watches, LED lights, automobiles and industrial machines. Figure 1.2 shows
different types of IoT devices.
Page 2 of 16
Figure 1.2: IoT Devices
2. IoT Protocols :
a) Link Layer: Link layer protocols determine how the data is physically sent
over the network‘s physical layer or medium (ex. copper wire, coaxial cable,
or a radio wave). The local network connect 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 packets are coded and signaled by the
hardware device over the medium to which the host is attached.
Page 3 of 16
Figure 1.3: IoT Protocols
Protocols:
802.3-Ethernet: IEEE802.3 is collection of wired Ethernet standards for
the link layer. Eg: 802.3 uses co-axial cable; 802.3i uses copper twisted
pair connection; 802.3j uses fiber optic connection; 802.3ae uses
Ethernet over fiber.
802.11-WiFi: IEEE802.11 is a collection of wireless local area network
(WLAN) communication standards including extensive description of
link layer. Eg: 802.11a operates in 5GHz band, 802.11b and 802.11g
operates in 2.4GHz band, 802.11n operates in 2.4/5GHz band, 802.11ac
operates in 5GHz band, 802.11ad operates in 60Ghzband.
802.16 - WiMax: IEEE802.16 is a collection of wireless broadband
standards including exclusive description of link layer. WiMax provide
data rates from 1.5 Mb/s to 1 Gb/s.
802.15.4-LR-WPAN: IEEE802.15.4 is a collection of standards for low
rate wireless personal area networks (LR-WPAN). Basis for high level
communication protocols such as ZigBee. Provides data rate from 40kb/s
to250kb/s.
2G/3G/4G-Mobile Communication: Data rates from 9.6kb/s (for 2G) to
up to100 Mb/s (for 4G).
b) Network/Internet Layer: Responsible for sending IP datagrams from source
network to the destination network. This layer performs the host addressing
and packet routing. The datagrams contain the source and destination address
Page 4 of 16
which are used to route them from the source to destination across multiple
networks.
Protocols:
IPv4: Internet Protocol version4 is used to identify the devices on a
network using a hierarchical addressing scheme. IPv4 uses a 32 bit
address scheme that allows total of 2**32 addresses.
IPv6: Internet Protocol version 6 uses 128 bit address scheme and allows
2**128 addresses.
6LoWPAN: 6LoWPAN (IPv6 over Low power Wireless Personal Area
Networks) operates in 2.4 GHz frequency range and provides data
transfer rates of 250 kb/s.
Protocols:
TCP: Transmission Control Protocol is the most widely used transport
layer protocol that is used by web browsers (along with HTTP, HTTPS
application layer protocols), email programs (SMTP application layer
protocol) and file transfer (FTP). TCP is connection oriented and stateful
protocol. While IP protocol deals with sending packets, TCP ensures
reliable transmission of protocols in order. The congestion control
capability of TCP helps in avoiding network congestion and congestion
collapse.
UDP: User Datagram Protocol is connectionless protocol. UDP is useful
in time sensitive applications, very small data units to exchange. UDP is
a transaction oriented and stateless protocol. UDP does not provide
guaranteed delivery, ordering of messages and duplicate elimination.
Page 5 of 16
Protocols:
HTTP: Hyper Text Transfer Protocol is the application layer protocol
that forms foundation of World Wide Web (WWW). The protocol
follows a request- response model where a client sends requests to a
server using the HTTP commands. HTTP is a stateless protocol.
CoAP: Constrained Application Protocol is an application layer protocol
for machine-to-machine (M2M) applications, meant for constrained
environments with constrained devices and constrained networks. CoAP
uses a client- server architecture where clients communicate with servers
using connectionless datagrams.
WebSocket: WebSocket protocol allows full duplex communication over
a single socket connection for sending messages between client and
server.
MQTT: Message Queue Telemetry Transport is light weight messaging
protocol based on publish-subscribe model. MQTT uses a client server
architecture where the client (such as an IoT device) connects to the
server (also called MQTT Broker) and publishes messages to topics on
the server. MQTT is well suited for constrained environments where the
devices have limited processing and memory resources and the network
bandwidth is low.
XMPP: Extensible Message and Presence Protocol is a protocol for real
time communication and streaming XML data between network entities.
XMPP supports both client-to-server and server-to-server communication
paths.
DDS: Data Distribution Service is data centric middleware standard for
device-to-device or machine-to-machine communication. DDS uses
publish-subscribe model.
AMQP: Advanced Message Queuing Protocol is an open application
layer protocol for business messaging. AMQP supports both point-to-
point and publisher/subscriber models, routing and queuing.
Page 6 of 16
1) IoT Functional Blocks: An IoT system comprises of a number of functional
blocks that provide the system the capabilities for identification, sensing,
actuation, communication and management as shown in Figure 1.4
Page 7 of 16
a) Request-Response: Request-Response is a communication model in which
the client sends request to the server and the server replies to requests.
Request-Response is a stateless communication model and each request-
response pair is independent of others.
b) Publish-Subscribe :
Page 8 of 16
c) Push-Pull: Push-Pull is a communication model which data producers push
data to queues and consumers pull data from the queues. Producers do not
need to aware of the consumers. Queues help in decoupling the message
between the producers and consumers.
Page 9 of 16
3) IoT Communication APIs:
Page 10 of 16
Uniform Interface: Uniform Interface constraint requires that the
method of communication between a client and a server must be uniform.
Code on Demand: Servers can provide executable code or scripts for
clients to execute in their context. This constraint is the only one that is
optional.
A RESTful web service is a “web API” implemented using HTTP and REST
principles. Figure 1.9 shows the communication between client and server using
REST APIs. Figure 1.10 shows the interactions in the request-response model
used by REST; RESTful web service is a collection of resources which are
represented by URIs. RESTful web API has a base URI (e.g:
http://example.com/api/tasks/). The clients and requests to these URIs using the
methods defined by the HTTP protocol (e.g: GET, PUT, POST or DELETE). A
RESTful web service can support various internet media types.
Page 11 of 16
Figure 1.11: Exclusive pair model used by WebSocket APIs
M2M:
An M2M area network comprises of machines (or M2M nodes) which have
embedded hardware modules for sensing, actuation and communication.
Various communication protocols can be used for M2M local area networks
such as ZigBee, Bluetooth, M-bus, Wireless M-Bus etc., These
communication protocols provide connectivity between M2M nodes within
an M2M area network.
Page 12 of 16
network (IP based). While the M2M are networks use either proprietary or
non-IP based communication protocols, the communication network uses IP-
based networks. Since non-IP based protocols are used within M2M area
network, the M2M nodes within one network cannot communicate with
nodes in an external network.
To enable the communication between remote M2M area networks, M2M
gateways are used.
Page 13 of 16
Figure 1.13 shows a block diagram of an M2M gateway. The communication
between the M2M nodes and the M2M gateway is based on the communication
protocols which are native to the M2M area network. M2M gateway performs
protocol translations to enable IP-connectivity for M2M area networks. M2M
gateway acts as a proxy performing translations from/to native protocols
to/from Internet Protocol (IP). With an M2M gateway, each mode in an M2M
area network appears as a virtualized node for external M2M area networks.
Communication Protocols:
Commonly uses M2M protocols include ZigBee, Bluetooth, ModBus, M-
Bus, WirelessM-Bus, etc., The focus of communication in M2M is usually on
the protocols below the network layer. The focus of communication in IoT is
usually on the protocols above the network layer such as HTTP, CoAP,
WebSockets, MQTT, XMPP, DDS, AMQP, etc., as shown in Figure 1.14
Page 14 of 16
Data Collection &Analysis
M2M data is collected in point solutions and often in on-premises storage
Infrastructure. In contrast to M2M, the data in IoT is collected in the cloud
(can be public, private or hybrid cloud).
Applications
M2M data is collected in point solutions and can be accessed by on-premises
applications such as diagnosis applications, service management applications,
and on- premisis enterprise applications. IoT data is collected in the cloud
and can be accessed by cloud applications such as analytics applications,
enterprise applications, remote diagnosis and management applications, etc.
Page 16 of 16