• MQTT、CoAP


    实时协议是物联网的一项根本性技术,在物联网领域发挥了重大的作用。目前物联网设备所广泛使用的四大实时协议:XMPP、HTTP、CoAP以及MQTT等可谓各擅所长、亦各有弊端。

    那么在万物互联的时代,谁主沉浮?今天我们先来讨论MQTT与CoAP。

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------

    在对比哪种协议更适合物联网之前,我们要先了解各种协议的偏重点。物联网终端节点一般都是存储和带宽受限的嵌入式设备。

    XMPP协议基于XML,对于嵌入式设备来说,XML解析是超级困难的。

    HTTP协议对于嵌入式设备来说属于重量级,也不是很合适。因为目前物联网中的很多设备都是资源受限型的,所以只有少量的内存空间和有限的计算能力。

    比较适合嵌入式设备就是轻量级的MQTT和CoAP。

    话题 | MQTT、CoAP,物联网两大实时协议谁主沉浮?

    CoAP的全称为受限应用协议,其开发目的在于允许资源相对有限的设备利用UDP而非TCP通过互联网实现通信。

    MQTT协议是由IBM开发的一个即时通讯的协议,是为大量计算能力有限且工作在低带宽、不可靠网络的远程传感器和控制设备通讯而设计的一种协议。

    MQTT协议的优势是可以支持所有平台,它几乎可以把所有的联网物品和互联网连接起来。

    MQTT与CoAP的区别

    MQTT和CoAP都是行之有效的物联网协议,但两者还是有很大区别的。从应用方向来分析,主要区别有以下几点:

    ❶MQTT协议不支持带有类型或者其它帮助Clients理解的标签信息,也就是说所有MQTT Clients必须要知道消息格式。

    而CoAP协议则相反,因为CoAP内置发现支持和内容协商,这样便能允许设备相互窥测以找到数据交换的方式。

    话题 | MQTT、CoAP,物联网两大实时协议谁主沉浮?

    ❷MQTT是长连接而CoAP是无连接。MQTT Clients与Broker之间保持TCP长连接,这种情形在NAT环境中也不会产生问题。

    如果在NAT环境下使用CoAP的话,那就需要采取一些NAT穿透性手段。

    ❸MQTT是多个客户端通过中央代理进行消息传递的多对多协议。它主要通过让客户端发布消息、代理决定消息路由和复制来解耦消费者和生产者。

    MQTT相当于消息传递的实时通讯总线,CoAP基本上就是一个在Server和Client之间传递状态信息的单对单协议。

    MQTT的特点

    MQTT协议是为大量计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议,它具有:

    1.使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;

    2.对负载内容屏蔽的消息传输;

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

    4.小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量;

    5.使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。

    运用MQTT协议,设备可以很方便地连接到物联网云服务,管理设备并处理数据,最后应用到各种业务场景。

    话题 | MQTT、CoAP,物联网两大实时协议谁主沉浮?

    物联网平台优势

    信锐物联网应用层协议采用的便是MQTT,通俗的讲该协议就像微信关注公众号一样,关注了就能收到信息,未关注的就收不到推送的消息。

    信锐物联网平台采用MQTT消息通信机制的设计,可靠、轻巧、简单,在物联网应用开发中优势有:

    1.可靠传输:MQTT可以保证消息可靠安全的传输,并可以与企业应用简易集成。

    2.消息推送:支持消息实时通知、丰富的推送内容、灵活的Pub-Sub以及消息存储和过滤。

    3.低带宽、低耗能、低成本:占用应用程序带宽小,并且带宽利用率高,耗电量较少。

    话题 | MQTT、CoAP,物联网两大实时协议谁主沉浮?

    从当前物联网应用发展趋势来分析,MQTT协议具有一定的优势。目前国内外主要的云计算服务商,比如阿里云、AWS、百度云、Azure以及腾讯云等都支持MQTT协议。除此之外,MQTT协议比CoAP成熟的要早,所以MQTT具有一定的先发优势。

    随着物联网的智能化和多变化的发展,后续物联网应用平台肯定会兼容更多的物联网应用层协议,信锐物联网也将推出更多基于MQTT通信方式的物联网行业解决方案。

  • 相关阅读:
    用一个变量表示 ----------"序号,名称,价格"
    11.3 字典复习
    python闭包使用
    Selenium with Python使用心得
    laravel队列使用
    display:inline-block笔记
    python mysql设置当前连接默认的字符集
    lavavel门面(facade)分析
    系统软件漏洞修复最佳实践
    记一次浮点数比较
  • 原文地址:https://www.cnblogs.com/jiangzhaowei/p/7930547.html
Copyright © 2020-2023  润新知