Untangling the Potential of IoT Protocols and Standards
How IoT Protocols and Standards Support Secure Data Exchange in the IoT Ecosystem?
Join the DZone community and get the full member experience.Join For Free
At a time, when the number of Internet of Things (IoT) devices is continuously increasing, cases of DDoS (Distributed Denial of Service) attacks are also being witnessed at frequent intervals. Gartner reports that by 2020, the number of IoT devices will approximately reach 25 billion. It means that it is time when businesses, customers, and other stakeholders should know about the IoT protocols and standards, which can potentially keep the possibilities of security breaches at bay.
Guide to IoT Protocols and Standards
IoT communication protocols are modes of communication that protect and ensure optimum security to the data being exchanged between connected devices.
The IoT devices are typically connected to the Internet via an IP (Internet Protocol) network. However, devices such as Bluetooth and RFID allow IoT devices to connect locally. In these cases, there’s a difference in power, range, and memory used. Connection through IP networks are comparatively complex, requires increased memory and power from the IoT devices while the range is not a problem. On the other hand, non-IP networks demand comparatively less power and memory but have a range limitation.
As far as the IoT communication protocols or technologies are concerned, a mix of both IP and non-IP networks can be considered depending on usage.
Types of IoT Protocols
IoT protocols and standards can be broadly classified into two separate categories.
1. IoT Network Protocols
IoT network protocols are used to connect devices over the network. These are the set of communication protocols typically used over the Internet. Using IoT network protocols, end-to-end data communication within the scope of the network is allowed. Following are the various IoT Network protocols:
• HTTP (HyperText Transfer Protocol)
HyperText Transfer Protocol is the best example of IoT network protocol. This protocol has formed the foundation of data communication over the web. It is the most common protocol that is used for IoT devices when there is a lot of data to be published. However, the HTTP protocol is not preferred because of its cost, battery-life, energy saving, and more constraints.
Additive manufacturing/3D printing is one of the use cases of the HTTP protocol. It enables computers to connect 3D printers in the network and print three-dimensional objects and pre-determined process prototypes.
• LoRaWan (Long Range Wide Area Network)
It is a long-range low power protocol that provides signal detection below the noise level. LoRaWan connects battery operated things wirelessly to the Internet in either private or global networks. This communication protocol is mainly used by smart cities, where there are millions of devices that function with less power and memory.
Smart street lighting is the practical use case of LoRaWan IoT protocol. The street lights can be connected to a LoRa gateway using this protocol. The gateway, in turn, connects to the cloud application that controls the intensity of light bulbs automatically based on the ambient lighting, which helps in reducing the power consumption during day-times.
Bluetooth is one of the most widely used protocols for short-range communication. It is a standard IoT protocol for wireless data transmission. This communication protocol is secure and perfect for short-range, low-power, low-cost, and wireless transmission between electronic devices. BLE (Bluetooth Low Energy) is a low-energy version of Bluetooth protocol that reduces the power consumption and plays an important role in connecting IoT devices.
Bluetooth protocol is mostly used in smart wearables, smartphones, and other mobile devices, where small fragments of data can be exchanged without high power and memory. Offering ease of usage, Bluetooth tops the list of IoT device connectivity protocols.
ZigBee is an IoT protocol that allows smart objects to work together. It is commonly used in home automation. More famous for industrial settings, ZigBee is used with apps that support low-rate data transfer between short distances.
Street lighting and electric meters in urban areas, which provides low power consumption, use the ZigBee communication protocol. It is also used with security systems and in smart homes.
2. IoT Data Protocols
IoT data protocols are used to connect low-power IoT devices. These protocols provide point-to-point communication with the hardware at the user side without any Internet connection. Connectivity in IoT data protocols is through a wired or a cellular network. Some of the IoT data protocols are:
• Message Queue Telemetry Transport (MQTT)
One of the most preferred protocols for IoT devices, MQTT collects data from various electronic devices and supports remote device monitoring. It is a subscribe/publish protocol that runs over Transmission Control Protocol (TCP), which means it supports event-driven message exchange through wireless networks.
MQTT is mainly used in devices that are economical and requires less power and memory. For instance, fire detectors, car sensors, smartwatches, and apps for text-based messaging.
• Constrained Application Protocol (CoAP)
CoAP is an internet-utility protocol for restricted gadgets. Using this protocol, the client can send a request to the server and the server can send back the response to the client in HTTP. For light-weight implementation, it makes use of UDP (User Datagram Protocol) and reduces space usage. The protocol uses binary data format EXL (Efficient XML Interchanges).
CoAP protocol is used mainly in automation, mobiles, and microcontrollers. The protocol sends a request to the application endpoints such as appliances at homes and sends back the response of services and resources in the application.
• Advanced Message Queuing Protocol (AMQP)
AMQP is a software layer protocol for a message-oriented middleware environment that provides routing and queuing. It is used for reliable point-to-point connection and supports the seamless and secure exchange of data between the connected devices and the cloud. AMQP consists of three separate components namely Exchange, Message Queue, and Binding. All these three components ensure a secure and successful exchange and storage of messages. It also helps in establishing the relationship of one message with the other.
AMQP protocol is mainly used in the banking industry. Whenever a message is sent by a server, the protocol tracks the message until each message is delivered to the intended users/destinations without failure.
• Machine-to-Machine (M2M) Communication Protocol
It is an open industry protocol built to provide remote application management of IoT devices. M2M communication protocols are cost-effective and use public networks. It creates an environment where two machines communicate and exchange data. This protocol supports the self-monitoring of machines and allows the systems to adapt according to the changing environment.
M2M communication protocols are used for smart homes, automated vehicle authentication, vending machines, and ATM machines.
• Extensible Messaging and Presence Protocol (XMPP)
The XMPP is uniquely designed. It uses a push mechanism to exchange messages in real-time. XMPP is flexible and can integrate with the changes seamlessly. Developed using open XML (Extensible Markup Language), XMPP works as a presence indicator showing the availability status of the servers or devices transmitting or receiving messages.
Other than the instant messaging apps such as Google Talk and WhatsApp, XMPP is also used in online gaming, news websites, and Voice over Internet Protocol (VoIP).
IoT Protocols Offers a Secured Environment for Exchange of Data
As per an article published by Forbes, approximately “32,000 smart homes and businesses are at risk of leaking data.” Therefore, it becomes important to explore the potentials of IoT protocols and standards, which create a secure environment. Using these protocols, local gateways and other connected devices can communicate and exchange data with the cloud.
Published at DZone with permission of Aniket Kumar. See the original article here.
Opinions expressed by DZone contributors are their own.