产品
有人云 — 物联网云平台 零编程,组态拖拽即可实现远程监控。同时支持私有部署,拥有属于自己的软硬件一体化方案
200
+
私有云项目
数据本地化
业务个性化
10
+
万 公有云注册用户
80%公有云功能免费
付费VIP享自定义品牌服务
有人云官网
有人智造 — ODM/EMS 依托自动化、智能化、柔性化、透明化的智能工厂,
提供代研、代料、代工一站式OEM/ODM服务
有人智造官网
有人智能 — 解决方案 打包提供云、管、边、端整体解决方案
从问题诊断、方案设计,到实施落地、系统运维
有人智能官网
新闻资讯
NB-IoT的MQTT和CoAP协议传输解析
2019-04-15


  为了更好地了解风险,漏洞和威胁,需要更好地了解协议及其工作方式。细节深刻,值得一读。

  MQTT

  MQTT,消息队列遥测传输,是一种非常简单和轻量级的消息传递协议。它是为具有受限资源的设备开发的,可以通过低于最佳网络的最佳性能进行通信,这些网络可能遭受低带宽,高延迟或者仅仅是明显不可靠的。它位于TCP之上,利用发布/订阅模型,订阅“客户”和数据“经纪人”扮演中间人。该模型的工作方式类似于新闻专线发布服务,其中像AP或路透社这样的“经纪人”允许记者将报告“发布”到他们的有线服务。同时,虽然已经“订阅”该线路的新闻室能够通过经纪人接收新闻。

  根据MQTT FAQ,该协议的“设计原则是尽量减少网络带宽和设备资源需求,同时还试图确保可靠性和一定程度的交付保证。”它还指出这些原则使该协议成为最新一代的理想选择。 M2M系统,物联网和“带宽和电池功率非常高的移动应用”。它是一个相当成熟的协议,自1999年以来一直存在,并且仍在不断发展以更好地满足安全性,低功耗和延迟的需求。MQTT通过端口1883上的TCP / IP与IANA一起工作,而TCP / IP端口8883通过SSL注册使用MQTT。

  MQTT协议的发布者/订阅者/代理模型的概念图。

  CoAP协议

  如果愿意的话,约束应用协议(CoAP)是一种更年轻且尚未正式标准化的“原始协议”。据官方网站称,它“专为智能能源和楼宇自动化等机器对机器(M2M)应用而设计”。CoAP也通过其他机制使用,例如移动通信网络上的短信。

  它专为通过互联网或网络的电力或网络受限设备而设计,但使用用户数据报协议(UDP)而不是TCP。根据Eclipse Foundation的说法,“CoAP数据包比HTTP TCP流程要小得多。从字符串到整数的位域和映射被广泛用于节省空间。数据包很容易生成,并且可以在适当的位置进行解析,而不会在受限设备中占用额外的RAM。“没有机制支持QoS以确保收到数据包。

  CoAP遵循客户端/服务器模型,可与HTTP和RESTful API以及软件设计范例互操作。 因为它基于UDP,所以CoAP不要求客户端保持对服务器的连接,这在许多用例中被认为是一个好处。

  客户端可以向服务器发送一个CoAP数据包。每个请求都有一些选项,其中最重要的一个是统一资源标识符(URI),它指示所请求资源的“路径” - 非常类似于网站的统一资源定位符(URL)。请注意,节点可以同时是服务器和客户端,实现点对点,全双工数据层。

  使用CoAP和HTTPS以及REST API的名义CoAP架构。请注意灵活的拓扑。这里,CoAP客户端节点位于受约束的环境中。橙色箭头是CoAP连接,黄色是HTTPS(作为示例)。

  MQTT与CoAP

  TrendMicro在他们的论文中提供了两种协议的出色比较:

  “CoAP比MQTT轻得多,在操作要求方面(即,不需要代理设置)和内存和网络开销(即,UDP不需要保持连接打开,并且消息的大小要小得多)。因此,它满足低功耗物联网节点的要求:它最大限度地降低了传输成本,并且不会强制建立始终在线的连接。

  就其而言,MQTT优于CoAP,用于关键任务M2M:它允许实施服务质量并确保消息传递。另一方面,CoAP优于MQTT,用于收集从微小场传感器等瞬态低功率节点传输的遥测数据。CoAP的一个极端应用用例是卫星通信:欧洲航天局的电信系统高级研究(ARTES)计划最近启动了卫星网络中M2M通信的研究项目(延迟可能非常高),CoAP是毫不奇怪地列在所选协议中。“


关注有人微信公众号
了解更多信息