IoT protocols and standards are often overlooked when people think about the Internet of Things (IoT). More often than not, the industry has its attention firmly fixed upon communication. And while the interaction among devices, IoT sensors, gateways, servers, and user applications is essential to IoT, communication would fall down without the right IoT protocols.
Why are IoT protocols important?
IoT protocols are an integral part of the IoT technology stack. Without IoT protocols and standards, hardware would be useless. This is because IoT protocols are the things that enable that communication—that is, the exchange of data or sending commands—among all those various devices. And, out of these transferred pieces of data and commands, end users can extract useful information as well as interact with and control devices.
With that in mind, we’re going to look at some of the most important IoT protocols and standards that your business may use in 2022.
How many IoT protocols are there?
In short, a lot. The IoT is heterogeneous, meaning that there are all sorts of different smart devices, protocols, and applications involved in a typical IoT system. Different projects and use cases might require different kinds of devices and protocols.
For example, an IoT network meant to collect weather data over a wide area needs a bunch of different types of sensors, and lots of them. With that many sensors, the devices need to be lightweight and low-power, otherwise the energy required to transmit data would be enormous. In such an instance, low-power is the main priority, over, say, security or speed of transmission.
If, however, an IoT system consists of medical sensors on ambulances, sensors that transmit patient data ahead to hospitals, time is clearly going to be of the essence. What’s more, HIPAA requires special security protocols for health data. So a higher-power, faster, and more secure protocol would be necessary.
Since there are so many different types of IoT systems and so many different applications, experts have figured out a way to sort all the components of IoT architecture into different categories, called layers. These layers allow IT teams to home in on the different parts of a system that may need maintenance, as well as to promote interoperability. In other words, if every system adheres to, or can be defined by, a specific set of layers, the systems are more likely to be able to communicate with each other through those layers.
One of the best frameworks for how you can understand IoT layers is the Open Systems Interconnection (OSI) model, which defines seven different layers in a top-down architecture. Top-down just means that the layers are defined starting from what the typical person uses to interact with an IoT system, like a smartphone app or website, and going down all the way to, for example, the ethernet cables that work in the background to transmit data.
Here are the layers:
- The application layer, which encompasses the mobile and web applications through which you might interact with the devices in an IoT system.
- The presentation layer, which encrypts and transforms data collected by IoT devices so that the application layer can present the information in a readable format.
- The session layer, which acts as a kind of scheduler for incoming and outgoing data. Whenever two devices need to communicate within an IoT system, the system needs to schedule that communication by opening a session.
- The transport layer, which is like a fleet of trucks in a shipping company, except that this layer transports packets of data instead of shipping containers.
- The network layer, which is like the post office for data, coordinating where and when the system transfers data. Routers are the primary part of the network layer that tell data packets how to get to their destinations.
- The data link layer, which corrects errors due to abnormalities or damaged hardware at the physical layer and links different devices so they can transfer data through the network layer.
- The physical layer, which is made up of ethernet cables, cell towers, etc.
OSI is a conceptual model, meaning that it’s not always how IoT systems actually appear. Just like a factory might be divided into different maintenance zones to simplify the process of finding and solving problems with different machines, the seven layers of OSI allow IT teams to zero in on where the cause of an error might lie. Plus, the OSI model presents a convenient method for explaining in detail the different possible parts of an IoT network.
Experts also simplify IoT architecture into three, four, or five-layer models, each of which can be broken down further if necessary based on the OSI construct. For instance, a three-layer model has an application layer, just like an OSI model. Then there’s a network/internet layer. Lastly, there’s a perception/sensing layer composed of all sensors in an IoT system.
A four-layer model is the easiest to compare to an OSI model. There’s the application layer, which encompasses the application, presentation, and session layers of an OSI model. Then there’s the transport layer and the network/internet layer for transferring data digitally. Finally, there’s the physical network access layer, which encompasses any ethernet cables, routers, modems, etc. For a clearer understanding of the relationship between OSI and the four-layer model, see the image below.
Lastly, a five-layer model adds a business layer on top of other layers. The business layer might also be called the data analytics layer or the cloud database layer. This is the layer where data collected from sensors becomes actionable. With the increase in data-based maintenance and operations, most IoT systems have some form of a business layer today. The image below compares the three and five-layer architectures.
Again, one of the purposes behind organizing all these components into layers is to zero in on the different functions of the various protocols. For example, application protocols, which are included in all of the above models, are what transform/present the data in such a way that a typical user can understand it.
Application protocols can include:
- Extensible Messaging and Presence Protocol (XMPP)
- Message Queuing Telemetry Transport (MQTT)
- Constrained Application Protocol (CoAP)
- Simple Object Access Protocol (SOAP)
- Hypertext Transfer Protocol (HTTP)
In an ideal world, any protocol in this application layer should be able to communicate with any other protocol.
Network layer protocols, which allow devices in an IoT network to communicate with each other, can include:
- Cellular networks (4G or 5G)
And so on. Again, in an ideal IoT system, any of these protocols should be compatible with any other protocols in this layer.
What protocols do IoT-qualified devices use?
In essence, IoT protocols and standards are broadly classified into two separate categories. These are:
- IoT data protocols (Presentation / Application layers)
- Network protocols for IoT (Datalink / Physical layers)
IoT Data Protocols
Let’s take a closer look at the protocols involved in each category.
IoT data protocols are used to connect low-power IoT devices. They provide communication with hardware on the user side—without the need for any internet connection. The connectivity in IoT data protocols and standards is through a wired or cellular network. Some examples of IoT data protocols are:
Extensible Messaging and Presence Protocol (XMPP)
XMPP is a fairly flexible data transfer protocol that is the basis for some instant messaging technologies, including Messenger and Google Hangouts. XMPP is an open protocol, freely available, and easy to use. That’s why many use the protocol for machine-to machine (M2M) communication between IoT devices, or for communication between a device and the main server.
XMPP gives devices an ID that’s similar to an email address. Then the devices can communicate reliably and securely with each other. Experts can tailor XMPP to different use cases and for transferring both unstructured data or structured data like a fully formatted text message.
MQTT (Message Queuing Telemetry Transport)
MQTT is a lightweight IoT data protocol. It features a publisher-subscriber messaging model and allows for simple data flow between different devices. MQTT’s main selling point is its architecture. Its genetic make-up is basic and lightweight and, therefore, it’s able to provide low power consumption for devices. It also works on top of a TCP/IP protocol.
IoT data protocols were designed to tackle unreliable communication networks. This became a need in the IoT world due to the increasing number of small, cheap, and lower-power objects that have appeared in the network over the past few years.
Despite MQTT’s wide adoption—most notably as an IoT standard with industrial applications—it doesn’t support a defined data representation and device management structure mode. As a result, the implementation of data and device management capabilities is entirely platform- or vendor-specific. Plus, the protocol has no built-in security measures, so security has to be managed at a device and/or application level.
If you want to learn more about MQTT, check out ‘The Pros and Cons of Using MQTT in IoT’
CoAP (Constrained Application Protocol)
A CoAP is an application layer protocol. It’s designed to address the needs of HTTP-based IoT systems. HTTP is the foundation of data communication for the World Wide Web.
While the existing structure of the internet is freely available and usable by any IoT device, it’s often too heavy and power-consuming for IoT applications. This has led many within the IoT community to dismiss HTTP as a protocol not suitable for IoT.
However, CoAP has addressed this limitation by translating the HTTP model into usage in restrictive devices and network environments. It has incredibly low overheads, is easy to employ, and has the ability to enable multicast support.
Therefore, CoAP is ideal for use in devices with resource limitations, such as IoT microcontrollers or WSN nodes. It’s traditionally used in applications involving smart energy and building automation.
Want to have direct remote control of an IoT device over the internet? Create a secure connection by using Nabto Edge alongside CoAP’s request/response IoT protocol.
AMQP (Advanced Message Queuing Protocol)
An AMQP is an open standard application layer protocol used for transactional messages between servers.
The main functions of this IoT protocol are as follows:
- Receiving and placing messages in queues
- Storing messages
- Setting up a relationship between these components
With its high level of security and reliability, AMQP is most commonly employed in settings that require server-based analytical environments, such as the banking industry. However, it’s not widely used elsewhere. Due to its heaviness, AMQP is not suitable for IoT sensor devices with limited memory. As a result, its use is still quite limited within the world of the IoT.
DDS (Data Distribution Service)
DDS is another scalable IoT protocol that enables high-quality communication in IoT. Similar to the MQTT, DDS also works to a publisher-subscriber model.
It can be deployed in multiple settings, from the cloud to very small devices. This makes it perfect for real-time and embedded systems. Moreover, unlike MQTT, the DDS protocol allows for interoperable data exchange that is independent of the hardware and the software platform. In fact, DDS is considered the first open international middleware IoT standard.
HTTP (HyperText Transfer Protocol)
We’ve briefly touched on the HTTP model before. As mentioned, the HTTP protocol is not preferred as an IoT standard because of its cost, battery life, huge power consumption, and weight issues.
That being said, it is still used within some industries. For example, manufacturing and 3-D printing rely on the HTTP protocol due to the large amounts of data it can publish. It enables PC connection to 3-D printers in the network and printing of three-dimensional objects.
Traverse firewalls securely by creating a TCP tunnel using Nabto Edge – which can transmit via an HTTP request/response protocol. Learn more here.
WebSocket was initially developed back in 2011 as part of the HTML5 initiative. WebSocket allows messages to be sent between the client and the server via a single TCP connection.
Like CoAp, WebSocket has a standard connectivity protocol that helps simplify many of the complexities and difficulties involved in the management of connections and bi-directional communication on the internet.
WebSocket can be applied to an IoT network where data is communicated continuously across multiple devices. Therefore, you’ll find it used most commonly in places that act as clients or servers. This includes runtime environments or libraries.
Network Protocols for IoT
Now that we’ve covered IoT data protocols, we’re going to look at the different network protocols for IoT.
IoT network protocols are used to connect devices over a network. These sets of protocols are typically used over the internet. Here are some examples of various IoT network protocols.
Lightweight M2M (LWM2M)
Many IoT systems rely on resource-constrained devices and sensors, devices that use very little power. The problem is that any communication between these devices or from the devices to a central server must also be extremely lightweight and require little energy.
Gathering meteorological data is one use case that requires hundreds or thousands of sensors over a wide area. Imagine the impact on the environment if all of those devices needed a lot of energy to function and transfer data. Instead, experts rely on lightweight communication protocols to reduce the energy consumption of such systems.
One of the network protocols that greatly facilitates lightweight communication is the Lightweight M2M (LWM2M) protocol. LWM2M provides remote, long-distance connectivity between devices in an IoT system. The protocol primarily transfers data in small, efficient packages.
Cellular networks are another method for connecting IoT devices. Most IoT systems rely on the 4G cellular protocol, though 5G has some applications as well. Cellular networks generally take more power than most of the protocols mentioned above, but perhaps more importantly, a cellular connection requires you to pay for a sim card. When you need a lot of devices over a wide area, the cost can quickly become prohibitive. .
Still, cellular networks are very low-latency and can support high speeds for data transfer. 4G in particular was a huge step above 3G, since 4G is ten times faster. When you use your smartphone’s data to control or interact with some IoT devices remotely, you’re typically using 4G or 5G. An example would be when you use your cell data to view the feed from your smart security cameras when you’re away from home.
Wi-Fi is the most well-known IoT protocol on this list. However, it’s still worth explaining how the most popular IoT protocol works.
In order to create a Wi-Fi network, you need a device that can send wireless signals. These include:
Wi-Fi provides an internet connection to nearby devices within a specific range. Another way to use Wi-Fi is to create a Wi-Fi hotspot. Mobile phones or computers may share a wireless or wired internet connection with other devices by broadcasting a signal.
Wi-Fi uses radio waves that broadcast information on specific frequencies, such as 2.4 GHz or 5GHz channels. Furthermore, both of these frequency ranges have a number of channels through which different wireless devices can work. This prevents the overflowing of wireless networks.
A range of 100 meters is common for a Wi-Fi connection. That being said, the most common is limited to 10 to 35 meters. The main impacts on the range and speed of a Wi-Fi connection are the environment and whether it provides internal or external coverage.
Compared to other IoT network protocols listed here, Bluetooth tends to frequency hop and has a generally shorter range. However, it’s gained a huge user base due to its integration into modern mobile devices—smartphones and tablets, to name a couple—as well as wearable technology, such as wireless headphones. Since many different devices and systems can use bluetooth, it’s great for promoting interoperability, enabling communication between vastly different systems and applications.
Standard Bluetooth technology uses radio waves in the 2.4 GHz ISM frequency band and is sent in the form of packets to one of 79 channels. However, the latest Bluetooth 4.0 standard has 40 channels and a bandwidth of 2Mhz. This guarantees a maximum data transfer of up to 3 Mb/s. This new technology is known as Bluetooth Low Energy (BLE) and can be the foundation for IoT applications that require significant flexibility, scalability, and low power consumption.
BLE wasn’t originally a Bluetooth technology. Nokia developed the concept, which soon gained the notice of the Bluetooth Special Interest Group. Since then, Bluetooth fully adopted BLE as an important communication protocol.
But because of the low range of Bluetooth, it’s not ideal for all use cases. Additionally, since any Bluetooth-enabled device is discoverable to any other bluetooth enabled device for pairing, BLE doesn’t have a built-in security feature to prevent unauthorized connections. You would need to add security measures at the application layer.
So while BLE makes a great option for smart homes and offices, where there are a reasonable number of IoT devices in proximity that make up a single IoT system, BLE is not so great for transferring sensitive data over long distances or remotely accessing an IoT system from a long distance.
ZigBee-based networks are similar to Bluetooth networks in the sense that ZigBee already has a significant user base in the world of IoT.
However, its specifications slightly eclipse the more universally used Bluetooth. ZigBee has lower power consumption, low data-range, high security, and has a longer range of communication. (ZigBee can reach 200 meters, while Bluetooth maxes out at 100 meters.)
Zigbee is a relatively simple protocol, and is often implemented in devices with small requirements, such as microcontrollers and sensors. Furthermore, it easily scales to thousands of nodes. No surprise that many suppliers are offering devices that support ZigBee’s open standard self-assembly and self-healing grid topology model.
Thread is a new IoT protocol based on Zigbee and is a method for providing radio-based internet access to low-powered devices within a relatively small area. Thread is similar very to Zigbee or Wi-Fi, but it is highly power efficient. Also, a Thread network is self-healing, meaning certain devices in the network can act as routers to take the place of a broken or failing router.
Thread can connect up to 250 devices, with up to 32 of those devices being active routers in the network. The newly developed Matter protocol, which operates at the application level to support interoperability (compatibility) between different IoT devices and protocols, often runs on top of Thread.
If you’re a developer looking to implement one of these IoT Protocols and Standards in 2022, Check out our comparison of the best IoT Protocols for Developers.
Z-Wave is an increasingly-popular IoT protocol. It’s a wireless, radio frequency cased communication technology that’s primarily used for IoT home applications. It operates on the 800 to 900MHz radio frequency, while Zigbee operates on 2.4GHz, which is also a major frequency for Wi-Fi.
By operating in its own range, Z-Wave rarely suffers from any significant interference problems. However, the frequency that Z-Wave devices operate on is location-dependent, so make sure you buy the right one for your country.
Z-Wave is an impressive IoT protocol. However, like ZigBee, it’s best used within the home and not within the business world.
LoRaWAN (Long Range WAN)
LoRaWAN is a media access control (MAC) IoT protocol. LoRaWAN allows low-powered devices to communicate directly with internet-connected applications over a long-range wireless connection. Moreover, it has the capability to be mapped to both the 2nd and 3rd layer of the OSI model. LoRaWAN is implemented on top of LoRa or FSK modulation for industrial, scientific, and medical (ISM) radio bands.
The Bottom Line
As you can see, choosing the right IoT protocols and standards for your projects is vital. With the wrong option, the whole technology stack falls down. Therefore, you should choose the right one for your IoT application.
And if you want to see how Nabto can help you build an IoT application using the right IoT protocols and standards in 2022, request a consultation today.