物联网协议对比(HTTP、websocket、XMPP、COAP、MQTT和DDS协议)

      最后更新:2022-07-30 10:22:39 手机定位技术交流文章

      目录

      1,HTTP和Websocket

      2、XMPP

      3、COAP

      4、MQTT协议

      5、DDS

      对于事物的互联网,最重要的事情是互联网上的设备和设备之间的通信。如今,事物的互联网中最常见的通信协议是HTTP、Websocket、XMPP、COAP、MQTT

      1,HTTP和Websocket

      在互联网时代,TCP/IP协议已成为普遍的,现在的物联网的通信 架构 它也基于传统的互联网基础设施。在当前的互联网通讯协议中,由于HTTP协议的低开发成本,开放程度高,几乎占据大半江山,因此,许多制造商建立基于http协议的IoT系统。包括由谷歌领导的物理网络项目,它预计将建立基于传统的网络技术的物体互联网协议标准。

      HTTP协议是典型的CS通信模式,客户端发起的连接,向服务器请求XML或JSON数据。该协议最初被设计用于应用网页浏览器的网页浏览场景和设计,目前,它广泛应用于PC、手机、平板等终端上,但它并不适用于事物的互联网场景。事情的互联网场景有三个缺点:

      1.由于必须将设备的数据发送到服务器上,很难将数据传送到设备上。 它很难适用于单一数据采集场景,但对于频繁的操作场景,它只能通过设备定期绘制的方式推移,实现大幅降低的成本和实时性。

      网络不安全是众所周知的,HTTP是明文协议,在许多高安全互联网场景中,如果你不做大量的安全准备工作(例如使用https等),后果是难以想象的。

      3. 不同于用户交互终端如pc、手机,物联网场景中的设备多样化,对于运算和存储资源都十分受限的设备,http协议实现、XML/JSON数据格式的解析,都是“mission impossible”

      HTTP连接问题,HTTP客户端与服务器之间的交互是请求/响应模式。在客户端请求时,创建HTTP连接,然后发送请求消息,服务端发出答复消息,然后连接就关闭了。(后HTTP1.1支持长期连接)
      由于TCP连接的建立过程是昂贵的,使用SSL/TLS的成本更大。

      在浏览器中,网页包含许多资源,包括HTML、CSS、JavaScript、图像等,因此在下载网页时可以同时打开多个与同一服务器的连接。

      HTTP消息头问题,现在的客户端会发送大量的HTTP消息头,由于一个网页可能需要50-100个请求,就会有相当大的消息头的数据量。

      HTTP通信方法问题,HTTP请求/响应方法对话由客户端发起,没有服务器通知机制为客户端,需要通知场景,如聊天室、游戏,客户端应用程序需要不断查询服务器。

      当然,由于开发方便,仍有许多制造商选择基于HTTP协议的IoT基础设施。在设备资源允许的情况下,我们如何避免上述低实时数据传输的问题?

      websocket是一个可行的方法,Websocket是基于HTML5提出的基于TCP的完全双重通信的协议标准,它遵循HTTP的概念在设计中,并且是基于HTTP协议的IoT系统的一个很好的补充。

      但是问题是: http+websocket方法,协议的启动成本太高。 如果你让一个单片机实现这样的协议,性能将非常令人印象深刻。




























      2、XMPP

      由于IoT设备通信的模式非常类似于互联网的即时消息应用,在互联网中常用的即时消息协议也被广泛应用于IoT系统建设中,这是XMPP中典型的。

      XMPP是一个基于XML的协议,因为它的开放性和易于使用,它广泛应用于互联网及时通讯.相对HTTP,XMPP更适合在业务流程中通信的IoT系统,当设备通信时,开发人员不需要花费大量努力来解决业务通信过程,发展成本相对较低。然而,HTTP协议的安全性和计算资源消耗的困难基本上没有得到解决。据早些时候报道,黑客们轻易地破解了TCL洗衣机,它使用XMPP协议。

      HTTP 、 websocket 或 XMPP,设计基于网络应用场景,虽然许多制造商将它们应用于IoT系统,但它必不听从水和土壤,这些协议的共同原因是,各种IoT设备的多样性根本无法应用。不能将许多IoT设备应用于低耗电和低成本需求,在互联网上使用非常低资源的设备是困难的.是否可以达成协议,借用网络技术的设计理念,同时还能适应坏的事物网络设备运行环境?

      3、COAP

      COAP协议的目的是在低功耗和低速度的设备上实现IoT通信。像Coap和HTTP协议一样,使用URL来指示要发送的数据,在协议格式的设计中也基于HTTP协议的参考,非常容易理解。同时,进行了以下优化:

      1.使用UDP而不是TCP,这样可以节省TCP建立连接的成本和协议堆栈的成本。

      2.数据包头在二进制模式下压缩,减少数据量以适应低网络速度的场景。

      3. 发送和接收数据可以异步进行,这样提升了设备响应速度。

      COAP协议类似于http端口的事物网络场景,许多设计保留HTTP协议的阴影,具有Web背景的开发者也可以快速。但由于许多IoT设备都隐藏在本地区域网络中,作为服务器的Coap设备不能由外部设备处理,在ipv6成为流行之前,coap仅适用于网内(如Wi-Fi)通讯,这 也 大大 限制 其 发展 。











      4、MQTT协议

      MQTT协议很好地解决了皮毛问题.MQTT协议是一个由IBM开发的即时消息协议,相比之下, 通信协议更适合万物网场景.MQTT协议采用发布/订阅模式,所有互联网宽带终端通过TCP连接到云上,云端子通过主题管理每个设备的通信内容,负责在设备之间发送消息。

      1.使用释放/订阅消息模式,提供一对多个消息释放,以禁用应用程序耦合。

      2.发送屏蔽载荷内容的信息。

      3.提供使用TCP/IP的网络连接。

      4.有三个类型的讯息服务质量:

      。。。。。。。。。。。。。。。。。

      版权原因,本文全文,请参阅: 物体互联网协议比较(HTTP、Websocket、XMPP、COAP、MQTT和DDS协议)

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/30913.html

          热门文章

          文章分类