A Survey of Communication Protocols for Internet of Things and Related Challenges of Fog and Cloud Computing Integration

The fast increment in the number of IoT (Internet of Things) devices is accelerating the research on new solutions to make cloud services scalable. In this context, the novel concept of fog computing as well as the combined fog-to-cloud computing paradigm is becoming essential to decentralize the cloud, while bringing the services closer to the end-system. This article surveys e application layer communication protocols to fulfill the IoT communication requirements, and their potential for implementation in fog- and cloud-based IoT systems. To this end, the article first briefly presents potential protocol candidates, including request-reply and publish-subscribe protocols. After that, the article surveys these protocols based on their main characteristics, as well as the main performance issues, including latency, energy consumption, and network throughput. These findings are thereafter used to place the protocols in each segment of the system (IoT, fog, cloud), and thus opens up the discussion on their choice, interoperability, and wider system integration. The survey is expected to be useful to system architects and protocol designers when choosing the communication protocols in an integrated IoT-to-fog-to-cloud system architecture.

[1]  Peter Saint-Andre Extensible Messaging and Presence Protocol (XMPP): Core , 2011, RFC.

[2]  Samuel Kounev,et al.  Benchmarking Publish/Subscribe-Based Messaging Systems , 2010, DASFAA Workshops.

[3]  Kannan Govindan,et al.  End-to-end service assurance in IoT MQTT-SN , 2015, 2015 12th Annual IEEE Consumer Communications and Networking Conference (CCNC).

[4]  Sandra Céspedes Umaña,et al.  Performance Evaluation of CoAP and HTTP/2 in Web Applications , 2016, SSN.

[5]  Alexey Melnikov,et al.  The WebSocket Protocol , 2011, RFC.

[6]  Stefaan Thiebaut Real-Time Publish Subscribe (RTPS) Wire Protocol Specification , 2002 .

[7]  Bertrand Mathieu,et al.  QUIC: Better for what and for whom? , 2017, 2017 IEEE International Conference on Communications (ICC).

[8]  Suresh Sankaranarayanan,et al.  Publish/subscribe broker based architecture for fog computing , 2017, 2017 International Conference on Energy, Communication, Data Analytics and Soft Computing (ICECDS).

[9]  Emad H. Al-Hemiary,et al.  Performance Analysis of Internet of Things Protocols Based Fog/Cloud over High Traffic , 2018 .

[10]  Lavinia Nastase,et al.  Security in the Internet of Things: A Survey on Application Layer Protocols , 2017, 2017 21st International Conference on Control Systems and Computer Science (CSCS).

[11]  Mohamed A. El-Zawawy,et al.  Middleware for Internet of Things: Survey and Challenges , 2018 .

[12]  Ibrar Yaqoob,et al.  Big IoT Data Analytics: Architecture, Opportunities, and Open Research Challenges , 2017, IEEE Access.

[13]  Antonio Pescapè,et al.  On the Integration of Cloud Computing and Internet of Things , 2014, 2014 International Conference on Future Internet of Things and Cloud.

[14]  Pramod Anantharam,et al.  Semantic Gateway as a Service Architecture for IoT Interoperability , 2014, 2015 IEEE International Conference on Mobile Services.

[15]  Ingrid Moerman,et al.  Improving user interactions with constrained devices in the web of things , 2016, 2016 IEEE 3rd World Forum on Internet of Things (WF-IoT).

[16]  Xavier Masip-Bruin,et al.  Do we all really know what a fog node is? Current trends towards an open definition , 2017, Comput. Commun..

[17]  Pietro Manzoni,et al.  Handling mobility in IoT applications using the MQTT protocol , 2015, 2015 Internet Technologies and Applications (ITA).

[18]  B. Thirumala Rao,et al.  A study on cloud based Internet of Things: CloudIoT , 2015, 2015 Global Conference on Communication Technologies (GCCT).

[19]  Wei Yu,et al.  Toward Emulation-Based Performance Assessment of Constrained Application Protocol in Dynamic Networks , 2017, IEEE Internet of Things Journal.

[20]  Sean Turner,et al.  Transport Layer Security , 2014, IEEE Internet Computing.

[21]  Luca De Cicco,et al.  HTTP over UDP: an experimental investigation of QUIC , 2015, SAC.

[22]  Pai H. Chou,et al.  Middleware for IoT-Cloud Integration Across Application Domains , 2014, IEEE Design & Test.

[23]  Sergey Andreev,et al.  Implementation of True IoT Vision: Survey on Enabling Protocols and Hands-On Experience , 2016, Int. J. Distributed Sens. Networks.

[24]  Gabor Karsai,et al.  Establishing Secure Interactions across Distributed Applications in Satellite Clusters , 2014, 2014 IEEE International Conference on Space Mission Challenges for Information Technology.

[25]  What can DDS do for You ? , 2011 .

[26]  Raja Lavanya,et al.  Fog Computing and Its Role in the Internet of Things , 2019, Advances in Computer and Electrical Engineering.

[27]  Aref Meddeb,et al.  Internet of Things Architectures , 2016 .

[28]  John Bigham,et al.  Improved reliability of large scale publish/subscribe based MOMs using model checking , 2014, 2014 IEEE Network Operations and Management Symposium (NOMS).

[29]  Peter Priller,et al.  Securing smart maintenance services: Hardware-security and TLS for MQTT , 2015, 2015 IEEE 13th International Conference on Industrial Informatics (INDIN).

[30]  Ivana Podnar Zarko,et al.  Comparison of the CUPUS middleware and MQTT protocol for smart city services , 2015, 2015 13th International Conference on Telecommunications (ConTEL).

[31]  Xavier Masip-Bruin,et al.  Foggy clouds and cloudy fogs: a real need for coordinated management of fog-to-cloud computing systems , 2016, IEEE Wireless Communications.

[32]  Jesus Alonso-Zarate,et al.  A Survey on Application Layer Protocols for the Internet of Things , 2015 .

[33]  Fabiano Hessel,et al.  The importance of a standard securit y archit ecture for SOA-based iot middleware , 2015, IEEE Communications Magazine.

[34]  Josu Bilbao,et al.  Fog computing based efficient IoT scheme for the Industry 4.0 , 2017, 2017 IEEE International Workshop of Electronics, Control, Measurement, Signals and their Application to Mechatronics (ECMSM).

[35]  Mesut Günes,et al.  Authentication for the web of things: Secure end-to-end authentication between CoAP and HTTP , 2017, 2017 IEEE 28th Annual International Symposium on Personal, Indoor, and Mobile Radio Communications (PIMRC).

[36]  Maurizio A. Spirito,et al.  The VIRTUS Middleware: An XMPP Based Architecture for Secure IoT Communications , 2012, 2012 21st International Conference on Computer Communications and Networks (ICCCN).

[37]  Michael Koster,et al.  Publish-Subscribe Broker for the Constrained Application Protocol (CoAP) , 2019 .

[38]  Tim Dierks,et al.  The Transport Layer Security (TLS) Protocol Version 1.2 , 2008 .

[39]  Dipti Jadhav,et al.  Security threats in the application layer in IOT applications , 2017, 2017 International Conference on I-SMAC (IoT in Social, Mobile, Analytics and Cloud) (I-SMAC).

[40]  I-En Liao,et al.  Implementing publish/subscribe pattern for CoAP in fog computing environment , 2017, 2017 8th IEEE Annual Information Technology, Electronics and Mobile Communication Conference (IEMCON).

[41]  Gianluca Reali,et al.  Comparison of two lightweight protocols for smartphone-based sensing , 2013, 2013 IEEE 20th Symposium on Communications and Vehicular Technology in the Benelux (SCVT).

[42]  Tamas Pflanzner,et al.  A survey of IoT cloud providers , 2016, 2016 39th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO).

[43]  Thomas Nolte,et al.  Data Distribution Service for industrial automation , 2012, Proceedings of 2012 IEEE 17th International Conference on Emerging Technologies & Factory Automation (ETFA 2012).

[44]  Salvatore Loreto,et al.  HTTP-CoAP cross protocol proxy: an implementation viewpoint , 2012, 2012 IEEE 9th International Conference on Mobile Ad-Hoc and Sensor Systems (MASS 2012).

[45]  Emmanuel Baccelli,et al.  Operating Systems for Low-End Devices in the Internet of Things: A Survey , 2016, IEEE Internet of Things Journal.

[46]  Giancarlo Fortino,et al.  Evaluating Critical Security Issues of the IoT World: Present and Future Challenges , 2018, IEEE Internet of Things Journal.

[47]  Admela Jukan,et al.  Beyond Production Indicators: A Novel Smart Farming Application and System for Animal Welfare , 2017, ACI.

[48]  Jorge Sá Silva,et al.  Security for the Internet of Things: A Survey of Existing Protocols and Open Research Issues , 2015, IEEE Communications Surveys & Tutorials.

[49]  Joel J. P. C. Rodrigues,et al.  Performance evaluation of RESTful web services and AMQP protocol , 2013, 2013 Fifth International Conference on Ubiquitous and Future Networks (ICUFN).

[50]  Eric Rescorla,et al.  The Transport Layer Security (TLS) Protocol Version 1.1 , 2006, RFC.

[51]  Nicolas Le Sommer,et al.  A Disruption-Tolerant RESTful Support for the Web of Things , 2016, 2016 IEEE 4th International Conference on Future Internet of Things and Cloud (FiCloud).

[52]  Kevin Smith,et al.  A Tutorial on Interfacing the Object Management Group (OMG) Data Distribution Service (DDS) with LabView , 2011 .

[53]  Thomas Kunz,et al.  Performance evaluation of IoT protocols under a constrained wireless access network , 2016, 2016 International Conference on Selected Topics in Mobile & Wireless Networking (MoWNeT).

[54]  Ronny Klauck,et al.  Global-Scale Federated Access to Smart Objects Using XMPP , 2014, 2014 IEEE International Conference on Internet of Things(iThings), and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom).

[55]  Mohamed Saleh,et al.  Assessing the use of IP network management protocols in smart grids , 2016, 2016 IEEE/ACS 13th International Conference of Computer Systems and Applications (AICCSA).

[56]  Yoohwan Kim,et al.  Implementation and Comparison of M2M Protocols for Internet of Things , 2016, 2016 4th Intl Conf on Applied Computing and Information Technology/3rd Intl Conf on Computational Science/Intelligence and Applied Informatics/1st Intl Conf on Big Data, Cloud Computing, Data Science & Engineering (ACIT-CSII-BCD).

[57]  Daniel Stenberg HTTP2 explained , 2014, CCRV.

[58]  Rod Walsh,et al.  From instant messaging to cloud computing, an XMPP review , 2010, IEEE International Symposium on Consumer Electronics (ISCE 2010).

[59]  Riri Fitri Sari,et al.  Performance evaluation of HTTP-CoAP proxy for wireless sensor and actuator networks , 2016, 2016 IEEE Asia Pacific Conference on Wireless and Mobile (APWiMob).

[60]  Erik Lindén A latency comparison of IoT protocols in MES , 2017 .

[61]  Luigi Lo Iacono,et al.  REST-ful CoAP Message Authentication , 2015, 2015 International Workshop on Secure Internet of Things (SIoT).

[62]  Satvik Patel,et al.  Publish/Subscribe Mechanism for IoT: A Survey of Event Matching Algorithms and Open Research Challenges , 2017 .

[63]  Laura Gheorghe,et al.  A Survey on Secure Communication Protocols for IoT Systems , 2017, 2016 International Workshop on Secure Internet of Things (SIoT).

[64]  Vishwas Lakkundi,et al.  Lightweight DTLS implementation in CoAP-based Internet of Things , 2014, 20th Annual International Conference on Advanced Computing and Communications (ADCOM).

[65]  Mukul Panwar,et al.  Security for IoT: An effective DTLS with public certificates , 2015, 2015 International Conference on Advances in Computer Engineering and Applications.

[66]  Kitisak Osathanunkul,et al.  MQTT-Topics Management System for sharing of Open Data , 2017, 2017 International Conference on Digital Arts, Media and Technology (ICDAMT).

[67]  Mohsen Guizani,et al.  Toward better horizontal integration among IoT services , 2015, IEEE Communications Magazine.

[68]  Xiaoping Ma,et al.  Performance evaluation of MQTT and CoAP via a common middleware , 2014, 2014 IEEE Ninth International Conference on Intelligent Sensors, Sensor Networks and Information Processing (ISSNIP).

[69]  Karthikeyan Bhargavan,et al.  Verified Models and Reference Implementations for the TLS 1.3 Standard Candidate , 2017, 2017 IEEE Symposium on Security and Privacy (SP).

[70]  Markku Kojo,et al.  Experimental Evaluation of the CoAP, HTTP and SPDY Transport Services for Internet of Things , 2014, IDCS.

[71]  M. Endler,et al.  A Middleware for Data-centric and Dynamic Distributed Complex Event Processing for IoT Real-time Analytics in the Cloud , 2016 .

[72]  Juan F. Inglés-Romero,et al.  A Model-Driven Approach to Enable Adaptive QoS in DDS-Based Middleware , 2017, IEEE Transactions on Emerging Topics in Computational Intelligence.

[73]  Samuel P. Midkiff Data Distribution , 2011, Encyclopedia of Parallel Computing.

[74]  Athanasios V. Vasilakos,et al.  Security of the Internet of Things: perspectives and challenges , 2014, Wireless Networks.

[75]  Smruti R. Sarangi,et al.  Internet of Things: Architectures, Protocols, and Applications , 2017, J. Electr. Comput. Eng..

[76]  Nitin Naik,et al.  Choice of effective messaging protocols for IoT systems: MQTT, CoAP, AMQP and HTTP , 2017, 2017 IEEE International Systems Engineering Symposium (ISSE).

[77]  Fabiano Hessel,et al.  Evaluating the use of TLS and DTLS protocols in IoT middleware systems applied to E-health , 2017, 2017 14th IEEE Annual Consumer Communications & Networking Conference (CCNC).

[78]  Guruduth Banavar,et al.  An efficient multicast protocol for content-based publish-subscribe systems , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems (Cat. No.99CB37003).

[79]  Deva P. Seetharam,et al.  An empirical study of application layer protocols for IoT , 2017, 2017 International Conference on Energy, Communication, Data Analytics and Soft Computing (ICECDS).

[80]  Carsten Bormann,et al.  CoAP (Constrained Application Protocol) over TCP, TLS, and WebSockets , 2018, RFC.

[81]  Thiemo Voigt,et al.  Lithe: Lightweight Secure CoAP for the Internet of Things , 2013, IEEE Sensors Journal.

[82]  Gabriela Schütz,et al.  Dynamic Aggregation and Scheduling in CoAP/Observe-Based Wireless Sensor Networks , 2016, IEEE Internet of Things Journal.

[83]  Kris Steenhaut,et al.  Evaluation of constrained application protocol for wireless sensor networks , 2011, 2011 18th IEEE Workshop on Local & Metropolitan Area Networks (LANMAN).

[84]  Arjan Durresi,et al.  A survey: Control plane scalability issues and approaches in Software-Defined Networking (SDN) , 2017, Comput. Networks.

[85]  Soma Bandyopadhyay,et al.  Lightweight Internet protocols for web enablement of sensors using constrained gateway devices , 2013, 2013 International Conference on Computing, Networking and Communications (ICNC).

[86]  Sridhar Radhakrishnan,et al.  Fairness in fog networks: Achieving fair throughput performance in MQTT-based IoTs , 2017, 2017 14th IEEE Annual Consumer Communications & Networking Conference (CCNC).

[87]  Carsten Bormann,et al.  The Constrained Application Protocol (CoAP) , 2014, RFC.

[88]  Kenneth G. Paterson,et al.  Lucky Thirteen: Breaking the TLS and DTLS Record Protocols , 2013, 2013 IEEE Symposium on Security and Privacy.

[89]  Eric Rescorla,et al.  Datagram Transport Layer Security Version 1.2 , 2012, RFC.

[90]  Salvatore Loreto,et al.  Advanced Guidelines for HTTP-CoAP Mapping Implementations , 2015 .

[91]  Roy T. Fielding,et al.  Hypertext Transfer Protocol - HTTP/1.1 , 1997, RFC.

[92]  César Pedraza,et al.  Performance analysis of communication protocols for Internet of things platforms , 2017, 2017 IEEE Colombian Conference on Communications and Computing (COLCOM).

[93]  Juan-Carlos Cano,et al.  A comparative evaluation of AMQP and MQTT protocols over unstable and mobile networks , 2015, 2015 12th Annual IEEE Consumer Communications and Networking Conference (CCNC).

[94]  Heng Wang,et al.  A Lightweight XMPP Publish/Subscribe Scheme for Resource-Constrained IoT Devices , 2017, IEEE Access.

[95]  Annika Hinze,et al.  Event-based applications and enabling technologies , 2009, DEBS '09.

[96]  Veljko M. Milutinovic,et al.  Web Performance Evaluation for Internet of Things Applications , 2016, IEEE Access.

[97]  Siobhán Clarke,et al.  Middleware for Internet of Things: A Survey , 2016, IEEE Internet of Things Journal.

[98]  Chiara Buratti,et al.  Comparing application layer protocols for the Internet of Things via experimentation , 2016, 2016 IEEE 2nd International Forum on Research and Technologies for Society and Industry Leveraging a better tomorrow (RTSI).

[99]  Dengguo Feng,et al.  Multiple Handshakes Security of TLS 1.3 Candidates , 2016, 2016 IEEE Symposium on Security and Privacy (SP).

[100]  Wentao Shang Challenges in IoT Networking via TCP / IP Architecture , 2016 .

[101]  Stéphane Maag,et al.  A Passive Testing Approach for Protocols in Internet of Things , 2013, 2013 IEEE International Conference on Green Computing and Communications and IEEE Internet of Things and IEEE Cyber, Physical and Social Computing.

[102]  Paolo Pagano,et al.  Middleware solutions in WSN: The IoT oriented approach in the ICSI project , 2013, 2013 21st International Conference on Software, Telecommunications and Computer Networks - (SoftCOM 2013).

[103]  Charles R. Severance Roy T. Fielding: Understanding the REST Style , 2015, Computer.

[104]  Salvatore Loreto,et al.  Guidelines for HTTP-to-CoAP Mapping Implementations , 2016 .

[105]  Laisa Caroline de Paula Costa,et al.  Enabling CoAP into the swarm: A transparent interception CoAP-HTTP proxy for the Internet of Things , 2017, 2017 Global Internet of Things Summit (GIoTS).

[106]  Nenad Gligori CoAP ( Constrained Application Protocol ) implementation in M 2 M Environmental Monitoring System , 2012 .

[107]  Giancarlo Fortino,et al.  Integration of agent-based and Cloud Computing for the smart objects-oriented IoT , 2014, Proceedings of the 2014 IEEE 18th International Conference on Computer Supported Cooperative Work in Design (CSCWD).

[108]  Muneer Bani Yassein,et al.  Application layer protocols for the Internet of Things: A survey , 2016, 2016 International Conference on Engineering & MIS (ICEMIS).

[109]  Adrian Hornsby,et al.  μXMPP: Lightweight implementation for low power operating system Contiki , 2009, 2009 International Conference on Ultra Modern Telecommunications & Workshops.

[110]  Josu Bilbao,et al.  Towards a lightweight protocol for Industry 4.0: An implementation based benchmark , 2017, 2017 IEEE International Workshop of Electronics, Control, Measurement, Signals and their Application to Mechatronics (ECMSM).

[111]  Martin Thomson,et al.  Hypertext Transfer Protocol Version 2 (HTTP/2) , 2015, RFC.

[112]  Bilhanan Silverajan,et al.  Measuring energy consumption for RESTful interactions in 3GPP IoT nodes , 2014, 2014 7th IFIP Wireless and Mobile Networking Conference (WMNC).

[113]  Jetendra Joshi,et al.  Performance enhancement and IoT based monitoring for smart home , 2017, 2017 International Conference on Information Networking (ICOIN).

[114]  Cong Liu,et al.  Innovating Transport with QUIC: Design Approaches and Research Challenges , 2017, IEEE Internet Computing.

[115]  Thiemo Voigt,et al.  6LoWPAN Compressed DTLS for CoAP , 2012, 2012 IEEE 8th International Conference on Distributed Computing in Sensor Systems.

[116]  Dirk Timmermann,et al.  Connecting the web with the web of things: lessons learned from implementing a CoAP-HTTP proxy , 2012, 2012 IEEE 9th International Conference on Mobile Ad-Hoc and Sensor Systems (MASS 2012).

[117]  Harish H. Kenchannavar,et al.  Internet of Things: A survey related to various recent architectures and platforms available , 2016, 2016 International Conference on Advances in Computing, Communications and Informatics (ICACCI).

[118]  Paul Fremantle,et al.  A security survey of middleware for the Internet of Things , 2015, PeerJ Prepr..