{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,4]],"date-time":"2026-07-04T19:14:26Z","timestamp":1783192466408,"version":"3.54.6"},"reference-count":36,"publisher":"MDPI AG","issue":"20","license":[{"start":{"date-parts":[[2021,10,18]],"date-time":"2021-10-18T00:00:00Z","timestamp":1634515200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Sensors"],"abstract":"<jats:p>There are a dozen messaging protocols proposed for IoT systems. Choosing one for a new design is complicated, and a non-optimal selection can result in slower development and higher design costs. This paper aims to help select appropriate protocols, considering IoT applications\u2019 specificity and communication requirements. We have identified the protocol features that are significant for the design and operation of IoT systems. This paper gives a substantial comparison of the protocols using the features and is based on a thorough analysis of the protocol specifications. The results contain an assessment of the suitability of the protocols for the defined types of IoT devices and the identified communication purposes. We conclude the comparison with some recommendations of the protocol selection and usage.<\/jats:p>","DOI":"10.3390\/s21206904","type":"journal-article","created":{"date-parts":[[2021,10,20]],"date-time":"2021-10-20T21:31:26Z","timestamp":1634765486000},"page":"6904","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":35,"title":["Messaging Protocols for IoT Systems\u2014A Pragmatic Comparison"],"prefix":"10.3390","volume":"21","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-3804-8133","authenticated-orcid":false,"given":"Jacek","family":"Wytr\u0119bowicz","sequence":"first","affiliation":[{"name":"Institute of Computer Science, Warsaw University of Technology, ul. Nowowiejska 15\/19, 00-665 Warsaw, Poland"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5955-5890","authenticated-orcid":false,"given":"Krzysztof","family":"Cabaj","sequence":"additional","affiliation":[{"name":"Institute of Computer Science, Warsaw University of Technology, ul. Nowowiejska 15\/19, 00-665 Warsaw, Poland"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jerzy","family":"Krawiec","sequence":"additional","affiliation":[{"name":"Institute of Production Systems Organisation, Warsaw University of Technology, ul. Narbutta 85, 02-524 Warsaw, Poland"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"1968","published-online":{"date-parts":[[2021,10,18]]},"reference":[{"key":"ref_1","first-page":"1","article-title":"IoT middleware: A survey on issues and enabling technologies","volume":"4","author":"Ngu","year":"2017","journal-title":"IEEE Internet Things J."},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"223","DOI":"10.1109\/TSMC.2020.3042898","article-title":"Internet of Things as System of Systems: A Review of Methodologies, Frameworks, Platforms, and Tools","volume":"51","author":"Fortino","year":"2021","journal-title":"IEEE Trans. Syst. Man Cybern. Syst."},{"key":"ref_3","doi-asserted-by":"crossref","first-page":"2347","DOI":"10.1109\/COMST.2015.2444095","article-title":"Internet of Things: A survey on enabling technologies, protocols, and applications","volume":"17","author":"Guizani","year":"2015","journal-title":"IEEE Commun. Surv. Tutor."},{"key":"ref_4","first-page":"2505","article-title":"Analysis of CoAP implementations for industrial Internet of Things: A survey","volume":"10","author":"Orive","year":"2018","journal-title":"J. Ambient. Intell. Humaniz. Comput."},{"key":"ref_5","unstructured":"Banks, A., Briggs, E., Borgendale, K., and Gupta, R. (2021, August 11). MQTT Version 5.0. OASIS Standard 2019. Available online: https:\/\/docs.oasis-open.org\/mqtt\/mqtt\/v5.0\/mqtt-v5.0.html."},{"key":"ref_6","unstructured":"Sengul, C., and Kirby, A. (2021, August 11). Message Queuing Telemetry Transport (MQTT)\u2014TLS Profile of Authentication and Authorization for Constrained Environments (ACE) Framework; Internet Engineering Task Force: 2021. Available online: https:\/\/datatracker.ietf.org\/doc\/draft-ietf-ace-mqtt-tls-profile\/."},{"key":"ref_7","doi-asserted-by":"crossref","unstructured":"Neisse, R., Steri, G., and Baldini, G. (2014, January 8\u201310). Enforcement of security policy rules for the Internet of Things. Proceedings of the 2014 IEEE 10th International Conference on Wireless and Mobile Computing, Networking and Communications (WiMob), Larnaca, Cyprus.","DOI":"10.1109\/WiMOB.2014.6962166"},{"key":"ref_8","doi-asserted-by":"crossref","unstructured":"Singh, M., Rajan, M.A., Shivraj, V.L., and Balamuralidhar, P. (2015, January 4\u20136). Secure MQTT for Internet of Things (IoT). Proceedings of the 2015 Fifth International Conference on Communication Systems and Network Technologies; IEEE, Gwalior, India.","DOI":"10.1109\/CSNT.2015.16"},{"key":"ref_9","doi-asserted-by":"crossref","first-page":"201071","DOI":"10.1109\/ACCESS.2020.3035849","article-title":"The Use of MQTT in M2M and IoT Systems: A Survey","volume":"8","author":"Mishra","year":"2020","journal-title":"IEEE Access"},{"key":"ref_10","unstructured":"Stanford-Clark, A., and Truong, H.L. (2021, August 11). MQTT for Sensor Networks (MQTT-SN). Protocol Specification Version 1.2. Available online: https:\/\/www.oasis-open.org\/committees\/download.php\/66091\/MQTT-SN_spec_v1.2.pdf."},{"key":"ref_11","unstructured":"Oberstein, T.G., and Goedde, A. (2021, August 11). The Web Application Messaging Protocol Unofficial Draft, Available online: https:\/\/wamp-proto.org\/spec.html."},{"key":"ref_12","unstructured":"Godfrey, R., Ingham, D., and Schloming, R. (2021, August 11). OASIS Advanced Message Queuing Protocol (AMQP) Version 1.0; OASIS Committee Specification 2012, Available online: http:\/\/docs.oasis-open.org\/amqp\/core\/v1.0\/os\/amqp-core-complete-v1.0-os.pdf."},{"key":"ref_13","unstructured":"Fallows, J., Ingham, D., and Godfrey, R. Advanced Message Queuing Protocol (AMQP) WebSocket Binding (WSB) Version 1.0, Available online: http:\/\/docs.oasis-open.org\/amqp-bindmap\/amqp-wsb\/v1.0\/amqp-wsb-v1.0.html."},{"key":"ref_14","unstructured":"(2021, August 11). Object Management Group Data Distribution Service (DDS) Version 1.4. Available online: http:\/\/www.omg.org\/spec\/DDS\/1.4."},{"key":"ref_15","unstructured":"(2021, August 11). Object Management Group Interface Definition Language Version 4.2. Available online: http:\/\/www.omg.org\/spec\/IDL\/4.2\/."},{"key":"ref_16","unstructured":"(2021, August 11). Object Management Group the Real-Time Publish-Subscribe Protocol DDS Interoperability Wire Protocol (DDSI-RTPS) Specification Version 2.3. Available online: https:\/\/www.omg.org\/spec\/DDSI-RTPS."},{"key":"ref_17","unstructured":"(2021, August 11). Object Management Group DDS for Extremely Resource Constrained Environments (DDSI-XRCE) Specification Version 1.0. Available online: https:\/\/www.omg.org\/spec\/DDS-XRCE\/."},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Majumder, M., Wisniewski, L., and Diedrich, C. (2019, January 1\u201310). A Comparison of OPC UA & Semantic Web Languages for the purpose of Industrial Automation Applications. Proceedings of the 2019 24th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), Zaragoza, Spain.","DOI":"10.1109\/ETFA.2019.8869113"},{"key":"ref_19","doi-asserted-by":"crossref","unstructured":"Karaagac, A., Verbeeck, N., and Hoebeke, J. (2019, January 15\u201318). The Integration of LwM2M and OPC UA: An Interoperability Approach for Industrial IoT. Proceedings of the 2019 IEEE 5th World Forum on Internet of Things (WF-IoT), Limerick, Ireland.","DOI":"10.1109\/WF-IoT.2019.8767209"},{"key":"ref_20","doi-asserted-by":"crossref","unstructured":"Burger, A., Koziolek, H., R\u00fcckert, J., Platenius-Mohr, M., and Stomberg, G. (2019, January 7\u201311). Bottleneck Identification and Performance Modeling of OPC UA Communication Models. Proceedings of the 2019 ACM\/SPEC International Conference on Performance Engineering, New York, NY, USA.","DOI":"10.1145\/3297663.3309670"},{"key":"ref_21","doi-asserted-by":"crossref","unstructured":"Raddatz, H., Mahmoud, E., Holzke, F., Danielis, P., Timmermann, D., and Golatowski, F. (2020, January 9\u201312). Evaluation and Extension of OPC UA Publish\/Subscribe MQTT Binding. Proceedings of the 2020 IEEE Conference on Industrial Cyberphysical Systems (ICPS), Tampere, Finland.","DOI":"10.1109\/ICPS48405.2020.9274696"},{"key":"ref_22","doi-asserted-by":"crossref","unstructured":"Moraes, T., Nogueira, B., Lira, V., and Tavares, E. (2019, January 6\u20139). Performance Comparison of IoT Communication Protocols. Proceedings of the 2019 IEEE International Conference on Systems, Man and Cybernetics (SMC), Bari, Italy.","DOI":"10.1109\/SMC.2019.8914552"},{"key":"ref_23","doi-asserted-by":"crossref","unstructured":"Thangavel, D., Ma, X., Valera, A., Tan, H.-X., and Tan, C.K.-Y. (2014, January 21\u201324). Performance evaluation of MQTT and CoAP via a common middleware. Proceedings of the 2014 IEEE Ninth International Conference on Intelligent Sensors, Sensor Networks and Information Processing (ISSNIP), Singapore.","DOI":"10.1109\/ISSNIP.2014.6827678"},{"key":"ref_24","doi-asserted-by":"crossref","first-page":"400","DOI":"10.1016\/j.procs.2015.12.318","article-title":"A Comparison of Lightweight Communication Protocols in Robotic Applications","volume":"76","author":"Amaran","year":"2015","journal-title":"Procedia Comput. Sci."},{"key":"ref_25","doi-asserted-by":"crossref","first-page":"2673","DOI":"10.1109\/TLA.2018.8795107","article-title":"IoT Protocols Comparison for Wireless Sensors Network Applied to Marine Environment Acoustic Monitoring","volume":"16","author":"Durante","year":"2018","journal-title":"IEEE Lat. Am. Trans."},{"key":"ref_26","doi-asserted-by":"crossref","unstructured":"Sikic, L., Jankovic, J., Afric, P., Silic, M., Ilic, Z., Pandzic, H., Zivic, M., and Dzanko, M. (2020, January 14\u201315). A Comparison of Application Layer Communication Protocols in IoT-enabled Smart Grid. Proceedings of the 2020 International Symposium ELMAR, Zadar, Croatian.","DOI":"10.1109\/ELMAR49956.2020.9219030"},{"key":"ref_27","doi-asserted-by":"crossref","first-page":"107037","DOI":"10.1016\/j.comnet.2019.107037","article-title":"Survey, comparison and research challenges of IoT application protocols for smart farming","volume":"168","author":"Glaroudis","year":"2020","journal-title":"Comput. Netw."},{"key":"ref_28","first-page":"1","article-title":"A Survey of Communication Protocols for Internet of Things and Related Challenges of Fog and Cloud Computing Integration","volume":"51","author":"Carpio","year":"2019","journal-title":"ACM Comput. Surv."},{"key":"ref_29","doi-asserted-by":"crossref","first-page":"269","DOI":"10.1007\/s11276-020-02453-6","article-title":"Comparing application layer protocols for video transmission in IoT low power lossy networks: An analytic comparison","volume":"27","author":"Ghotbou","year":"2021","journal-title":"Wirel. Netw."},{"key":"ref_30","unstructured":"Proos, D.P., and Carlsson, N. (2020, January 22\u201325). Performance Comparison of Messaging Protocols and Serialization Formats for Digital Twins in IoV. Proceedings of the 2020 IFIP Networking Conference (Networking), Online."},{"key":"ref_31","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1016\/j.cmpb.2016.03.004","article-title":"A Machine-to-Machine protocol benchmark for eHealth applications\u2014Use case: Respiratory rehabilitation","volume":"129","author":"Roa","year":"2016","journal-title":"Comput. Methods Programs Biomed."},{"key":"ref_32","doi-asserted-by":"crossref","unstructured":"Profanter, S., Tekat, A., Dorofeev, K., Rickert, M., and Knoll, A. (2019, January 13\u201315). OPC UA versus ROS, DDS, and MQTT: Performance Evaluation of Industry 4.0 Protocols. Proceedings of the 2019 IEEE International Conference on Industrial Technology (ICIT), Melbourne, Australia.","DOI":"10.1109\/ICIT.2019.8755050"},{"key":"ref_33","unstructured":"Sarafov, V. (2018, January 1). Comparison of IoT Data Protocol Overhead. Proceedings of the Seminars of Future Internet (FI) and Innovative Internet Technologies and Mobile Communication (IITM), Munich, Germany."},{"key":"ref_34","doi-asserted-by":"crossref","first-page":"94880","DOI":"10.1109\/ACCESS.2020.2993363","article-title":"Investigating Messaging Protocols for the Internet of Things (IoT)","volume":"8","author":"Kalyanam","year":"2020","journal-title":"IEEE Access"},{"key":"ref_35","doi-asserted-by":"crossref","unstructured":"Silva, D., Carvalho, L.I., Soares, J., and Sofia, R.C. (2021). A Performance Analysis of Internet of Things Networking Protocols: Evaluating MQTT, CoAP, OPC UA. Appl. Sci., 11.","DOI":"10.3390\/app11114879"},{"key":"ref_36","doi-asserted-by":"crossref","unstructured":"Naik, N. (2017, January 11\u201313). Choice of effective messaging protocols for IoT systems: MQTT, CoAP, AMQP and HTTP. Proceedings of the 2017 IEEE International Systems Engineering Symposium (ISSE), Vienna, Austria.","DOI":"10.1109\/SysEng.2017.8088251"}],"container-title":["Sensors"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1424-8220\/21\/20\/6904\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T07:17:18Z","timestamp":1760167038000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1424-8220\/21\/20\/6904"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,10,18]]},"references-count":36,"journal-issue":{"issue":"20","published-online":{"date-parts":[[2021,10]]}},"alternative-id":["s21206904"],"URL":"https:\/\/doi.org\/10.3390\/s21206904","relation":{},"ISSN":["1424-8220"],"issn-type":[{"value":"1424-8220","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,10,18]]}}}