Protocols in IoT

ProgrammingKnowledge
5 min readMay 29, 2021

--

A protocol is a standard set of rules that allow electronic devices to communicate with each other. These rules include what type of data may be transmitted, what commands are used to send and receive data, and how data transfers are confirmed

OSI Model

OSI Model

Rather than trying to fit all of the IoT Protocols on top of existing architecture models like OSI Model, we have broken the protocols into the following layers to provide some level of organization:

1. Infrastructure (ex: 6LowPAN, IPv4/IPv6, RPL)

2. Identification (ex: EPC, uCode, IPv6, URIs)

4. Discovery (ex: Physical Web, mDNS, DNS-SD)

5. Data Protocols (ex: MQTT, CoAP, AMQP, Websocket, Node)

IPv6 — “IPv6, is an Internet Layer protocol for packet-switched internetworking and provides end-to-end datagram transmission across multiple IP networks.

6LoWPAN — “6LoWPAN is an acronym of IPv6 over Low power Wireless Personal Area Networks. It is an adaption layer for IPv6 over IEEE802.15.4 links. This protocol operates only in the 2.4 GHz frequency range with 250 kbps transfer rate.”

UDP (User Datagram Protocol) — A simple OSI transport layer protocol for client/server network applications based on Internet Protocol (IP). UDP is the main alternative to TCP and one of the oldest network protocols in existence, introduced in 1980. UDP is often used in applications specially tuned for real-time performance.

- QUIC (Quick UDP Internet Connections, pronounced quick) supports a set of multiplexed connections between two endpoints over User Datagram Protocol (UDP), and was designed to provide security protection equivalent to TLS/SSL, along with reduced connection and transport latency, and bandwidth estimation in each direction to avoid congestion.

  • Aeron — Efficient reliable UDP unicast, UDP multicast, and IPC message transport.

uIP — The uIP is an open source TCP/IP stack capable of being used with tiny 8- and 16-bit microcontrollers. It was initially developed by Adam Dunkels of the “Networked Embedded Systems” group at the Swedish Institute of Computer Science, licensed under a BSD style license, and further developed by a wide group of developers.

DTLS (Datagram Transport Layer) — “The DTLS protocol provides communications privacy for datagram protocols. The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery. The DTLS protocol is based on the Transport Layer Security (TLS) protocol and provides equivalent security guarantees.”

ROLL / RPL (IPv6 routing for low power/lossy networks)

NanoIP:
“NanoIP, which stands for the nano Internet Protocol, is a concept that was created to bring Internet-like networking services to embedded and sensor devices, without the overhead of TCP/IP. NanoIP was designed with minimal overheads, wireless networking, and local addressing in mind.”

Content-Centric Networking (CCN) –

“Next-gen network architecture to solve challenges in content distribution scalability, mobility, and security.
CCN directly routes and delivers named pieces of content at the packet level of the network, enabling automatic and application-neutral caching in memory wherever it’s located in the network. The result? Efficient and effective delivery of content wherever and whenever it is needed. Since the architecture enables these caching effects as an automatic side effect of packet delivery, memory can be used without building expensive application-level caching services.”

Time Synchronized Mesh Protocol (TSMP)
A communications protocol for self-organizing networks of wireless devices called motes. TSMP devices stay synchronized to each other and communicate in timeslots, similar to other TDM (time-division multiplexing) systems.

Discovery

mDNS- (multicast Domain Name System) — Resolves host names to IP addresses within small networks that do not include a local name server.

Physical Web — The Physical Web enables you to see a list of URLs being broadcast by objects in the environment around you with a Bluetooth Low Energy (BLE) beacon.

HyperCat — An open, lightweight JSON-based hypermedia catalogue format for exposing collections of URIs.

UPnP (Universal Plug and Play) — Now managed by the Open Connectivity Foundation is a set of networking protocols that permits networked devices to seamlessly discover each other’s presence on the network and establish functional network services for data sharing, communications, and entertainment.

Data Protocols

MQTT (Message Queuing Telemetry Transport)
“The MQTT protocol enables a publish/subscribe messaging model in an extremely lightweight way. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium.”

MQTT-SN (MQTT For Sensor Networks) — An open and lightweight publish/subscribe protocol designed specifically for machine-to-machine and mobile applications

CoAP- (Constrained Application Protocol)
“CoAP is an application layer protocol that is intended for use in resource-constrained internet devices, such as WSN nodes. CoAP is designed to easily translate to HTTP for simplified integration with the web, while also meeting specialized requirements such as multicast support, very low overhead, and simplicity. The CoRE group has proposed the following features for CoAP: RESTful protocol design minimizing the complexity of mapping with HTTP, Low header overhead and parsing complexity, URI and content-type support, Support for the discovery of resources provided by known CoAP services. Simple subscription for a resource, and resulting push notifications, Simple caching based on max-age.”

- SMCP — A C-based CoAP stack which is suitable for embedded environments. Features include: Support draft-ietf-core-coap-13, Fully asynchronous I/O, Supports both BSD sockets and UIP.

STOMP — The Simple Text Oriented Messaging Protocol

XMPP (Extensible Messaging and Presence Protocol)
“An open technology for real-time communication, which powers a wide range of applications including instant messaging, presence, multi-party chat, voice and video calls, collaboration, lightweight middleware, content syndication, and generalized routing of XML data.”

- XMPP-IoT
“In the same manor as XMPP silently has created people to people communication interoperable. We are aiming to make communication machine to people and machine to machine interoperable.”

AMQP (Advanced Message Queuing Protocol)
“An open standard application layer protocol for message-oriented middleware. The defining features of AMQP are message orientation, queuing, routing (including point-to-point and publish-and-subscribe), reliability and security.”

Web socket
The WebSocket specification — developed as part of the HTML5 initiative — introduced the WebSocket JavaScript interface, which defines a full-duplex single socket connection over which messages can be sent between client and server. The WebSocket standard simplifies much of the complexity around bi-directional web communication and connection management.

--

--

ProgrammingKnowledge
ProgrammingKnowledge

Written by ProgrammingKnowledge

0 Followers

Learn Basics of Computers Science and Development of Web application and how to host web application .

No responses yet