DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workloads.

Related

  • IoT Communication Protocols for Efficient Device Integration
  • OPC-UA and MQTT: A Guide to Protocols, Python Implementations
  • Connecting the Dots: Unraveling IoT Standards and Protocols
  • IoT Connectivity Explored: A Deep Dive Into Predominant Communication Standards

Trending

  • Advancing Robot Vision and Control
  • The Perfection Trap: Rethinking Parkinson's Law for Modern Engineering Teams
  • Understanding the Shift: Why Companies Are Migrating From MongoDB to Aerospike Database?
  • Supervised Fine-Tuning (SFT) on VLMs: From Pre-trained Checkpoints To Tuned Models
  1. DZone
  2. Data Engineering
  3. Big Data
  4. Which Are the IoT Messaging Protocols?

Which Are the IoT Messaging Protocols?

Want to learn more about the top platforms for IoT messaging protocols? Check out this post where we look at the different types of messaging protocols for your app.

By 
Sayali Sawat user avatar
Sayali Sawat
·
Updated Sep. 28, 18 · Presentation
Likes (3)
Comment
Save
Tweet
Share
26.9K Views

Join the DZone community and get the full member experience.

Join For Free

IoT devices use different communication and messaging protocols at different layers. While developing an IoT device, the selection of the protocol largely depends on the type, layer, and function to be performed by the device. MQTT, XMPP, DDS, AMQP, and CoAP are a few of the widely used communication protocols for the IoT application layer. Let us understand each of them in greater detail.

MQTT (Message Queue Telemetry Transport)

MQTT is a machine-to-machine (M2M) protocol. It is a publish-subscribe-based messaging protocol used to communicate device data to the servers. The main purpose of MQTT is to manage IoT devices remotely. It is mainly used when a huge network of small devices needs to be monitored or managed via the Internet, i.e. parking sensors, underwater lines, energy grid, etc.

Pros

  • Lightweight for constrained networks
  • Flexibility to choose Quality of Services with the given functionality
  • Standardized by OASIS Technical Committee
  • Easy and quick to implement

Cons

  • High power consumption due to the TCP-based connection
  • Lack of encryption

Use Case

A parking lot where there are a number of parking sensors installed to identify the number and location of empty or vacant parking spots.

XMPP (Extensible Messaging and Presence Protocol)

XMPP was originally developed as a messaging protocol known as Jabber. It uses an XML format for messaging. The main feature of this protocol is its addressing mechanism. It identifies the devices/nodes in the IoT network using the address known as Jabber ID (JID). JID follows the standard — name@domain.com. This addressing mechanism enables two nodes to exchange information, regardless of how far the nodes are in the network.

XMPP messages are usually transmitted over the underlying TCP connection. It uses a polling mechanism to identify the destination of the message. XMPP is implemented using a client-server architecture. The client starts an XML stream by sending an opening <stream> tag. The server then replies with an XML stream back to the client. Since XMPP is an open protocol, anyone can have their own XMPP server in their network without necessarily connecting to the Internet.

Pros

  • Addressing scheme to identify devices on the network
  • Client-server architecture

Cons

  • Text-based messaging, no end-to-end encryption provision
  • No Quality of Service provision

Use Cases

  • A smart thermostat that can be accessed from a smartphone via a web server.
  • A gaming console with instant messaging between the two online players.

DDS (Data Distribution Service)


DDS is also based on a publish-subscribe model. DDS connects the devices directly, unlike MQTT, which connects them to the server. This is why DDS is faster than MQTT. Apparently, it can deliver millions of messages to a number of different receivers in seconds, as it eliminates the communication with the server. DDS can be utilized for providing device-to-device communication over the data bus. It provides detailed Quality of Service and reliability.

Pros

  • Based on a simple “publish-subscribe” communication paradigm

  • Flexible and adaptable architecture that supports “auto-discovery” of new or stale endpoint applications

  • Low overhead — can be used with high-performance systems

  • Deterministic data delivery

  • Dynamically scalable

  • Efficient use of transport bandwidth

Use Cases

  • Military systems, wind farms, hospital integration, medical imaging, asset-tracking systems, and automotive test and safety.

AMQP (Advanced Message Queuing Protocol)


Advanced Message Queuing Protocol (AMQP) is an open standard application layer protocol for sending transactional messages between servers. As a message-centric middleware, it can process thousands of reliable queued transactions. AMQP is focused on not losing messages, as messages can be transferred using TCP or UDP. The use of TCP provides a reliable point-to-point connection. Furthermore, endpoints must acknowledge the acceptance of each message. The standard also describes an optional transaction mode with a formal multiphase commit sequence. True to its origins in the banking industry, AMQP focuses on tracking messages and ensuring each message is delivered as intended, regardless of failures or reboots.

Pros

  • Messages can be sent over TCP and UDP

  • Provides end-to-end encryption

Cons

  • Relatively high resource utilization, i.e. power and memory usage

Use Cases

AMQP is mostly used in business messaging. It usually defines devices like mobile handsets, communicating with back-office data centers.

All the above-listed protocols are uniquely applicable to different operating scenarios. Any protocol can be handpicked based on their pros and cons for IoT application development. The main factors to consider while choosing any one of them for your application is quality of service, security, and the reliability that your application requires.

Protocol (object-oriented programming) IoT

Opinions expressed by DZone contributors are their own.

Related

  • IoT Communication Protocols for Efficient Device Integration
  • OPC-UA and MQTT: A Guide to Protocols, Python Implementations
  • Connecting the Dots: Unraveling IoT Standards and Protocols
  • IoT Connectivity Explored: A Deep Dive Into Predominant Communication Standards

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!