打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
物联网应用层协议究竟哪家强?

导语

随着工业4.0、智能城市以及智能家居等产业的发展,物联网项目需求越来越多,物联网的协议也各式各样。常用的物联网应用层协议包括XMPP、HTTP、CoAP、MQTT等。那么物联网应用层协议究竟哪家强?


因为物联网的终端节点一般都是存储和带宽受限的嵌入式设备,太复杂的协议不太适合嵌入式系统应用。比如XMPP基于XML,对于嵌入式设备来说,XML解析是非常困难的。另外HTTP协议对于嵌入式设备来说也有点重了。所以比较适合嵌入式设备就是轻量级的MQTT和CoAP。

MQTT协议

MQTT协议是为大量计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议。MQTT协议是IBM开发的一个即时通讯协议,该协议支持所有平台,几乎可以把所有联网物品和互联网连接起来。

一个基于MQTT的物联网实例

CoAP协议

由于物联网中的很多设备都是资源受限型的,即只有少量的内存空间和有限的计算能力,所以传统的HTTP协议应用在物联网上就显得过于庞大而不适用。 IETF的CoRE工作组提出了一种基于UDP的CoAP协议。

CoAP与HTTP的对比

CoAP是6LowPAN协议栈中的应用层协议,基于REST(表述性状态传递)架构风格,支持REST交互。用户可以像使用HTTP协议一样用CoAP协议来访问物联网设备。

MQTT与CoAP的比较

MQTT和CoAP都是非常有用的物联网协议,但两者还是有很大区别的,比如MQTT基于TCP,而CoAP基于UDP。从应用角度来说,主要的区别有以下几点:

1、多对多 VS 单对单。MQTT是多个客户端通过中央代理传递消息的多对多协议。它通过让客户端发布消息、代理决定消息路由和复制来解耦生产者和消费者。MQTT相当于是消息传递的实时通讯总线。CoAP基本上是一个在Client和Server之间传递状态信息的单对单协议。

2、长连接 VS 无连接。MQTT Clients与Broker之间保持TCP长连接,这个在NAT环境中也不会有问题。如果在NAT环境下使用CoAP,需要使用采取一些NAT穿透的手段。

3、是否可协商消息格式。MQTT不支持带有类型或者其它帮助Clients理解的标签消息,也就是说 所有MQTT Clients必须知道消息格式。而CoAP则相反,它内置内容协商和发现支持,这样允许设备彼此窥测以找到交换数据的方式。


结语

从目前的应用广泛性来看,MQTT占优。目前国内外主要的云计算服务商,比如AWS、AZure、阿里云、腾讯云以及百度云都一概支持MQTT协议。

这里有一个比较重要的原因是MQTT协议的成熟时间比CoAP要早,所以MQTT具有一定的先发优势。但也不排除后续物联网平台会兼容更多的物联网应用层协议。

另外随着终端设备计算能力的提升,终端设备也有可能容纳更加复杂的协议栈,HTTP等其他目前广泛应用的协议也有较大的应用前景。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
MQTT VS CoAP
从零开始搭建物联网系统
物联网关键技术:如何实现设备接入
物联网协议对比
物联网产生了大数据,然后呢?
物联网通讯协议
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服