T S PRADEEP KUMAR
HTTP://WWW.NSNAM.COM
IOT COMMUNICATION
PROTOCOLS
TSP
LINK LAYER PROTOCOLS
‣ 802.3 - Ethernet
‣ 802.11 - wifi
‣ 802.16 - WiMax
‣ 802.15.4 - Low Rate WPAN
‣ 2G/3G/4G - Mobile Communication
TSP
NETWORK LAYER PROTOCOLS
‣ IPv4
‣ Exhausted in 2011
‣ 32bit address
‣ IPv6
‣ 128 bit addresses
‣ 6LoWPAN
‣ Limited processing capability
‣ Shows compression mechanism with IPv6 over 802.15.4
TSP
TRANSPORT LAYER PROTOCOL
‣ TCP
‣ UDP
TSP
APPLICATION LAYER PROTOCOL
‣ HTTP
‣ CoAP
‣ WebSocket
‣ MQTT
‣ XMPP
‣ DDS
‣ AMQP
TSP
HTTP
▸ Hyper text transfer protocol
▸ GET, PUT, POST, DELETE, HEAD,
TRACE, OPTIONS, etc commands
▸ Stateless (each request is different
of others)
▸ HTTP client can be a browser or
application running on the client
▸ Multiple headers (MIME)
TSP
COAP
▸ Constrained Application Protocol
▸ For Machine to Machine M2M
▸ Request response model
▸ Runs on UDP instead of TCP
▸ GET , PUT, POST, DELETE, etc.
TSP
WEBSOCKET
▸ Full Duplex communication over
single socket connection for
sending messages between client
and server
▸ Its based on TCP
▸ Client can be a browser, IoT Device
or a mobile application
TSP
MQTT
▸ Message Queue Telemetry
Transport
▸ Its based on publish subscribe
model
▸ Use of MQTT broker (as a Server )
▸ Useful for places where memory
and resources constraints are
limited
TSP
XMPP
▸ Extensible Messaging and Presence
protocol
▸ Real time communication and
streaming xml data between network
elements
▸ Suitable for Voice/Video chats,
messaging, data syndication,
gaming, multi party chat
▸ Its based on client server architecture
as well as server - server architecture
TSP
DDS
▸ Data Distribution service
▸ Its a middleware for D2D or M2M
▸ Publish subscribe model
▸ Provides QoS and configurable
reliability
TSP
AMQP
▸ Advanced message queuing
protocol
▸ Its for business messaging
▸ Supports point to point and
publish subscribe, routing/queuing
▸ Uses AMQP brokers
▸ Messages are pushed by the
brokers or pulled by the
consumers.
TEXT
FUNCTIONAL BLOCKS OF IOT
Pradeepkumar
TEXT
FUNCTIONAL BLOCKS OF IOT
APPLICATION
SERVICES
MANAGEMENT SECURITY
COMMUNICATION
DEVICE
COMMUNICATION
MODELS OF IOT
COMMUNICATION MODELS
CLIENT SERVER MODEL
CLIENT SERVER RESOURCES
COMMUNICATION MODELS
PUBLISH SUBSCRIBE MODEL
Message CONSUMER 1
published BROKER
to topic 1
PUBLISHER TOPIC 1
SEND MESSAGES TO CONSUMER 2
TOPICS
Message
TOPIC 2
published
to topic 2
CONSUMER 3
COMMUNICATION MODELS
PUSH PULL MODEL
CONSUMER 1
Message
PUBLISHER Message pulled
pushed to
from queues
SEND MESSAGES TO queues
QUEUE
CONSUMER 2
COMMUNICATION MODELS
EXCLUSIVE PAIR COMMUNICATION MODEL
Request to Setup connection
Response accepting the request
Message from Client to Server
Message from Server to Client
CLIENT SERVER
Connection close request
Connection Close Response
IOT
COMMUNICATION
API
API
REST BASED COMMUNICATION APIS
HTTP PACKET
GET, PUT, POST, HTTP SERVER
HTTP CLIENT DELETE AUTHORISATIO
REST AWARE
HTTP CLIENT N, REST-FUL
REST PAYLOAD WEB SERVICE
JSON,XML
RESOURCES
URI (REPRESENTATIONS, RESOURCES)
TEXT
REST COMMUNICATION APIS
‣ Design web services and web APIs focuses on resources and how they are addressed and
transferred.
‣ Client Server Concerns
‣ Client not bother about the storage at the server
‣ Server not bother about the user interface at the client
‣ Stateless
‣ State lies at the client
‣ Cache-able
‣ Layered system
‣ Uniform interface
‣ Code on demand
http
Resource type action Example
method
List all the rescuers http://example.com/api/tasks (list all
GET Collection URI
in a collection tasks)
Get info about a http://example.com/api/tasks (get info on
GET Collection URI
resource task 1)
http://example.com/api/tasks (create a
Create a new
POST Collection URI
resource
new task from the data provided in the
req)
POST Collection URI Generally not used
Replace the entire http://example.com/api/tasks (replace
PUT Collection URI collection with entire collection with data provided in the
another collection request)
PUT Collection URI Update a resource http://example.com/api/tasks (delete all
tasks)
http://example.com/api/tasks (lista ll
DELETE Collection URI Delete the entire
collection tasks)
DELETE Collection URI Delete a resource http://example.com/api/tasks (del task 1)
TEXT
WEBSOCKET BASED COMMUNICATION
CLIENT SERVER
Request to set up websocket
Response to acceptance
Data Frame
Data Frame
Data Frame
Data Frame
Request to close the connection
Connection close response
TEXT
IOT ENABLING TECHNOLOGIES
\
TEXT
IOT ENABLING TECHNOLOGIES
▸ Wireless sensor networks
▸ End nodes, routers and
coordinators
▸ Cloud computing
▸ Iaas, Paas, SaaS
▸ Big Data analytics (Volume, velocity
and variety)
▸ Communication protocols
▸ Embedded Systems
THANK YOU