News & Tech Trends Blog

IoT Networking: Communication Models, Protocols & Messaging Systems

The IoT is all about data communications, even at the application layer. This post explores three key concepts that make seamless data flow possible in IoT systems:

 

  1. Communication models
  2. Communication protocols
  3. Advanced messaging systems

 

Let’s examine what each concept contributes to effective IoT data communications.

 

Implementing Effective Communications Models for IoT Applications

One of the first decisions to make about an IoT system is which nodes need to communicate with which other nodes. On an IoT network, communication can occur from one node to another node (point-to-point), one node to many nodes (or many nodes to one node), or from many nodes to many other nodes.

After a network architecture is selected, the next step is to define when and how data will move from node to node. Popular communication models include sending data as a response to a request or broadcasting to any node interested in receiving it.

Request-response model

Anyone who has ever used a phone or the Internet is familiar with request-response communication. In this model, an endpoint issues a request for information and another node responds.

Request-response communication is well-suited for point-to-point communications where the location of a responding entity is known to a requesting entity (like on a telephone network). It is also effective when many requesting entities need to communicate with one responding entity, as in the client-server architectures much of today’s Internet is built on. In a client-server architecture, information is centralized in a single location (a server) and any node (client) aware of that location can request information from it.

A request-response model requires that requesting clients know where information is located and when it is available. As a result, it struggles in many-to-many communications where information is freer flowing and decentralized, which is a common scenario in event-driven IoT networks.

In these situations, a publish-subscribe (PubSub) model is more appropriate.

Publish-subscribe model

Publish-subscribe models overcome the scalability challenges of request-response implementations by broadcasting data as messages that are categorized into topics.

In a PubSub network, “publishers” (message senders) push messages related to a topic over the network and subscriber nodes (message receivers) sign up to receive all updates on that topic. PubSub deployments can include a technology called a message broker, which helps manage the data exchange between applications, systems, and services subscribed to a topic.

In some cases, message brokers also perform protocol conversion for IoT deployments that use HTTP, MQTT, AMQP, CoAP, and/or other protocols. This improves communication transparency and architectural flexibility in heterogeneous IoT networks, especially where plug-and-play deployment of distributed nodes is required.

Popular IoT Communication Protocols

Different communication protocols are better suited to different network architectures and communication models. These protocols, some of which are mentioned above, describe how data is transmitted over a network.

Four protocols in particular stand out for their widespread use and effectiveness in IoT deployments: HTTP, CoAP, MQTT, and AMQP.

ProtocolUse CasesSuitable SECO Hardware
HTTP

●        Integrating IoT devices with web applications and services in a client-server model

●        Request-response data transmissions to cloud platforms for storage and analysis

●        SBC-3.5-TGL-UP3 single board computer (SBC) with 11th Gen Intel Core
CoAP

●        Data transmission between resource-constrained nodes or a central server

●        Designed for request-response models but can support publish-subscribe deployments

●        Built-in discovery mechanisms

●        SOM-SMARC-MX93 with NXP i.MX 93 applications processor optimized for low-cost display applications
MQTT

●        Designed for publish-subscribe communication

●        Supports large-scale IoT deployments

●        Persistent connectivity mechanisms

●        SOM-SMARC-Genio700 low-power MediaTek compute module with AI accelerator
AMQP

●        Designed for publish-subscribe communication but can also support point-to-point messaging

●        Higher qualities of service enabling reliable and secure communication

●        Sophisticated message routing features incur network and computational

●        Palladio 500 RPL modular fanless embedded PC with 13th Gen Intel Core

HTTP (Hypertext Transfer Protocol) is a well-established protocol for web communication. Its primary advantage is familiarity—it is as close to universal as a protocol can get, developers are already comfortable with it, and it is supported by a wealth of existing tools and libraries.

HTTPS also offers strong security through data encryption, reducing the risk of tampering. However, this security comes at the cost of increased processing power and memory requirements, which can be challenging for those IoT devices with resource constraints.

CoAP (Constrained Application Protocol) is designed specifically for constrained nodes and networks, using both request-response and PubSub models. It’s lightweight, fast, and employs stateless communication, making it ideal for low-power, lossy networks.

CoAP uses efficient binary headers to reduce data transmission and operates over UDP, allowing data transmission without establishing a connection first. However, it’s less mature than MQTT or HTTP, which can mean limited developer resources and tools.

MQTT (Message Queuing Telemetry Transport) is a lightweight, publish-subscribe protocol that operates on top of TCP/IP. It is highly scalable, using a broker that allows a client device to communicate with thousands of endpoints simultaneously. With low data overhead, it’s ideal for environments where bandwidth is limited or expensive, and for devices with constrained resources.

MQTT offers configurable Quality of Service (QoS) levels and a Last Will and Testament (LWT) feature for managing disconnections. However, its flexibility can lead to configuration errors and it lacks built-in security mechanisms, relying instead on network-level security.

As an example use case, SECO’s Clea IoT software suite uses MQTT as a core component for device-to-device and device-to-cloud communication. The platform’s data orchestration module, Astarte, leverages the MQTT protocol to communicate with field devices and connect them to the cloud.

AMQP (Advanced Message Queuing Protocol) is a publish-subscribe protocol like MQTT, only it supports an advanced message broker that enables more sophisticated routing and higher QoS. One of the ways this is accomplished is through a technique called message queueing, which ensure that messages are delivered in the correct order.

In an AMQP network, messages are published to an exchange inside the AMQP broker. The exchange then applies routing rules to forward messages to message queues. An AMQP deployment can contain multiple exchanges and messaging queues, which combine with other capabilities to enable features like message persistence, transactional communication, and network flexibility.

However, these features and capabilities come at a price. AMQP has a larger network footprint and requires more computational resources than protocols like MQTT and CoAP. It is also more complex to configure, deploy, and manage.

The Role of Advanced Messaging Systems in IoT Applications

Advanced messaging systems like MQTT and AMQP brokers play a crucial role in managing communication between IoT nodes. RabbitMQ is an open-source message broker that can collect messages from multiple streaming sources and route them to different client destinations on a network.

RabbitMQ’s is compatible with multiple messaging patterns, including publish-subscribe and request-reply. It is also capable of supporting high volumes of messages and scaling horizontally across large, distributed deployments.

To that end, one of RabbitMQ’s key strengths is facilitating communication between clients using different protocols. For example, a message published via MQTT could be consumed by a client running AMQP or the HTTP-like STOMP protocol.

Messaging protocols natively supported by RabbitMQ include:

  • MQTT
  • AMQP
  • STOMP, a text-based messaging protocol
  • HTTPS, via STOMP or MQTT plugins that communicate using WebSockets

Among the other benefits of RabbitMQ are integrated message queuing (ensuring messages are delivered in the correct order), support for asynchronous communication that allows devices to send and receive messages independently, and a persistent messaging capability that prevents data loss and improves the reliability of data transfers.

These features combine to make RabbitMQ a versatile messaging system that can accommodate a range of use cases. In industrial settings, RabbitMQ can manage telemetry data from sensors for real-time analytics. In healthcare, it can handle data from wearable devices to create patient alerts. For smart cities, it can facilitate traffic management by processing data from various sensors.

Empowering IoT Networking Solutions

SECO offers a comprehensive range of hardware and software solutions that support various communication models, IoT protocols, and messaging systems. From powerful edge computing devices to versatile IoT gateways, SECO’s products are designed to meet the diverse IoT networking needs of multiple applications and industries.

By leveraging SECO’s solutions, businesses can implement robust, scalable, and efficient IoT networks that drive innovation and deliver real-world value. Whether you’re developing a small-scale smart home deployment or a large industrial IoT system, SECO has the tools and expertise to support your networking needs.

To learn more about how SECO can accelerate your IoT infrastructure development and enhance your networking capabilities, contact our team of IoT experts.

Related Articles

Who we are

We are a tech company building solutions and technologies to enable a new generation of digital devices. From Edge Computing, to IoT, to AI, our comprehensive and modular offering suits the needs of customers who are looking for a partner to maximize the potential of their products and fully leverage new technological opportunities.
Highlights

Discover SECO Products

SBC, Modules, HMI, Boxed Solutions

Investor Relations

Media, PR, Reports, Financial Statements
Explore