Article Preview
TopState Of The Art
Several studies have been found comparing the performance of different IoT communication protocols. The studies were performed employing different hardware components, such as Arduino, Raspberry Pi, etc.
Naik (2017) described the properties of MQTT, CoAP, AMQP, and HTTP protocols, comparing them looking at different parameters. The message size, frame size, energy consumption, resource requirement, bandwidth usage, latency, stability, supported platforms, security, IoT compliance, and standardization parameters were analyzed. The study was based on different scientific studies, not providing an experimental environment.
Bayılmıs et al. (2022) claimed that there is no general model, approach, or benchmark for performance comparison because the ranges of the IoT-based applications are so versatile. In this study differences in energy consumption and throughput for IoT application layer communication protocols, such as Constrained Applications Protocol (CoAP), MQTT, and WebSocket on tiny IoT devices, were analyzed. Lombardi et al. (2021) discussed the existing framework architectures, technologies, protocols, and applications under the IoT paradigm.
Chaudhary et al. (2017) compared MQTT, CoAP, and AMQP protocols in wired, wireless and 4G connections, employing Raspberry Pi3 as IoT devices. Dizdarevic et al. (2019), performed a theoretical survey of IoT communication protocols, including MQTT, AMQP, XMPP, DDS, HTTP, and CoAP. Latency, energy consumption, and network throughput parameters were analyzed.
Safarov (2018), employing local Wi-Fi and a Raspberry Pi B on the client side and a laptop with i7 processor on the server side, compared WebSocket, MQTT, and CoAP. Using a mathematical method, throughput parameters on different stream loss rates and the effect of the frame sizes were examined.
Gavrilov et al. (2022) analyzed MQTT, Real Time Publish Subscribe protocol (RTPS, an interoperability protocol for DDS implementations), Java Message Service (JMS), and AMQP protocols to find out what tasks these protocols should be used for and whether they can be used in robotic and autonomous systems where high data transmission requirements are imposed. They concluded that RTPS is the best solution for real-time systems with different traffic and that MQTT performs well when transmitting short messages.
Profanter et al. (2019) gave an overview on the different features of OPC UA, Robot Operating System (ROS), DDS, and MQTT and compared their performance in several benchmarks. They concluded that open62541, which is an open source and free implementation of OPC UA, and eProsima FastRTPS for DDS, deliver high performance, whereas the MQTT and ROS implementations showed a significant slowdown in the round-trip time (RTT) of packages sent to the server.
Suri (2019) compared different protocols over an edge network. The results showed that the ZeroMQ implemented outperformed other protocols such as DDS, MQTT, AMQP, and Kafka in terms of bandwidth utilization and latency when they operated in a saturated communications environment.
Lazidis et al. (2022) conducted a survey and taxonomy of publish–subscribe systems, of their design features and technologies. The latency of Orion-LD, Stellio, Scorpio, Pushpin, Faye, Apache Kafka, and RabbitMQ were compared, concluding that for heavy workloads, Apache Kafka and RabbitMQ proved to be fast and scalable.
Finally, Kang and Dubey (2020) empirically evaluated the performance of three pub/sub technologies: OMG DDS, MQTT, and ZeroMQ, for representative IIoT scenarios (high-frequency, periodic, and sporadic) under a cluster with a bandwidth of 95 Mbps. Results showed that in the higher-frequency scenarios, when the message was smaller than 1 KB, ZeroMQ performed best. However, when the message was larger than 1KB, ZeroMQ throughput became lower than DDS. Compared with DDS and ZeroMQ, the throughput of MQTT was poor at the broker-centric architecture used in the paper.