物联网设备在不同层使用不同的通信和消息传递协议。在开发IoT设备时,设备要执行的类型,层和功能往往决定了最终的选择。MQTT,XMPP,DDS,AMQP和CoAP是IoT应用层中广泛使用的一些通信协议。今天,小隐带大家了解这几个通信协议的优缺点。
MQTT
MQTT是一种机器对机器(M2M)协议。它是一种基于发布 - 订阅的消息传输协议,用于将设备数据传送到服务器。MQTT的主要目的是远程管理物联网设备。它主要用于需要通过互联网监控或管理庞大的小型设备网络,即停车传感器,水下线路,能源网络等。
MQTT工作原理
优点
适用于受限网络的轻量级
灵活选择具有给定功能的服务质量
由OASIS技术委员会标准化
实施简单快捷
缺点
由于基于TCP的连接,功耗很高
缺乏加密
常见应用场景:
在大型地下停车场安装了许多停车传感器,以识别空的或空置的停车位的数量和位置。
XMPP
XMPP使用XML格式进行消息传递。该协议的主要特征是其寻址机制。它使用称为Jabber ID(JID)的地址识别物联网网络中的设备/节点。JID遵循标准--name@domain.com。无论节点在网络中的距离如何,这种寻址机制都可以使两个节点交换信息。
XMPP消息通常通过底层TCP连接传输。它使用轮询机制来标识消息的目标。XMPP使用客户端 - 服务器体系结构实现。客户端通过发送开始标记来启动XML流。然后,服务器使用XML流回复客户端。由于XMPP是一种开放协议,任何人都可以在其网络中拥有自己的XMPP服务器,而无需连接到Internet。
XMPP工作原理
优点
寻址方案以识别网络上的设备
客户端 - 服务器架构
缺点
基于文本的消息传递,没有端到端的加密配置
没有服务质量规定
常见应用场景:
智能恒温器,可通过Web服务器从智能手机访问。
一个游戏控制台,在两个在线玩家之间提供即时消息。
DDS
DDS也基于发布 - 订阅模型。DDS直接连接设备,与MQTT不同,MQTT将它们连接到服务器。这就是DDS比MQTT更快的原因。显然,它可以在几秒钟内向多个不同的接收器传送数百万条消息,因为它消除了与服务器的通信。DDS可用于通过数据总线提供设备到设备通信。它提供详细的服务质量和可靠性。
DDS 工作原理
优点
基于简单的“发布 - 订阅”通信范例
灵活且适应性强的架构,支持新的或过时的端点应用程序的“自动发现”
低开销 - 可与高性能系统一起使用
确定性数据传递
动态可扩展
有效利用传输带宽
常见应用场景:
军事系统,风电场,医院集成,医疗成像,资产跟踪系统以及汽车测试和安全。
AMQP
高级消息队列协议(AMQP)是一种开放标准应用层协议,用于在服务器之间发送事务消息。作为以消息为中心的中间件,它可以处理数千个可靠的排队事务。AMQP专注于不丢失消息,因为消息可以使用TCP或UDP传输。TCP的使用提供了可靠的点对点连接。此外,端点必须确认接受每条消息。该标准还描述了具有正式多阶段提交序列的可选事务模式。AMQP专注于跟踪消息并确保每条消息按预期交付,无论故障或重新启动如何。
AMQP工作原理
优点
消息可以通过TCP和UDP发送
提供端到端加密
缺点
相对较高的资源利用率,即功率和内存使用率
常见应用场景:
AMQP主要用于商业消息传递。它通常定义移动手机等设备,与后台数据中心通信。
所有上面列出的协议都特别适用于不同的操作场景。任何协议都可以根据物联网应用程序开发的优缺点进行精心挑选。在为应用程序选择其中任何一个时要考虑的主要因素是服务质量,安全性以及应用程序所需的可靠性。
结语:任何协议都可以根据物联网应用程序开发的优缺点进行精心挑选。我们在为应用程序选择传输协议时需要考虑的主要因素是服务质量,安全性以及应用程序所需的可靠性。