物联网通信协议的详解及选择建议

  · 提供多大21种QoS服务质量策略

  协议主要实现:

  · OpenDDS 是一个开源的 C++ 实现

  · OpenSplice DDS

  点评:DDS很好地支持设备之间的数据分发和设备控制,设备和云端的数据传输,同时DDS的数据分发的实时效率非常高,能做到秒级内同时分发百万条消息到众多设备。DDS在服务质量(QoS)上提供非常多的保障途径,这也是它适用于国防军事、工业控制这些高可靠性、可安全性应用领域的原因。但这些应用都工作在有线网络下,在无线网络,特别是资源受限的情况下,没有见到过实施案例。

  AMQP协议(互操作性)

  · AMQP(Advanced Message Queuing Protocol),先进消息队列协议,这是OASIS组织提出的,该组织曾提出OSLC(Open Source Lifecyle)标准,用于业务系统例如PLM,ERP,MES等进行数据交换。

  适用范围:最早应用于金融系统之间的交易消息传递,在物联网应用中,主要适用于移动手持设备与后台数据中心的通信和分析。

  特点:

  · Wire级的协议,它描述了在网络上传输的数据的格式,以字节为流

  · 面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全

  协议实现:

  · Erlang中的实现有 RabbitMQ

  · AMQP的开源实现,用C语言编写OpenAMQ

  · Apache Qpid

  · stormMQ

  XMPP协议(即时通信)

  XMPP(Extensible Messaging and Presence Protocol)可扩展通讯和表示协议,XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。

  适用范围:即时通信的应用程序,还能用在网络管理、内容供稿、协同工具、档案共享、游戏、远端系统监控等。

  特点:

  · 客户机/服务器通信模式

  · 分布式网络

  · 简单的客户端,将大多数工作放在服务器端进行