📜  物联网中的会话层消息传递协议

📅  最后修改于: 2021-08-27 18:21:00             🧑  作者: Mango

先决条件–物联网(IoT)简介
会话层通过控制发送方和接收方之间的数据来管理网络两个端点之间的连接,其中会话层协议负责物联网生态系统中的实际数据传输。这就是为什么将这些会话层协议称为IoT消息协议或有时称为IoT数据协议的原因。大多数物联网应用程序使用TCP和UDP进行传输,并且这些消息传递协议可以在TCP或UDP上运行。

不同的标准化组织存在不同类型的消息传递协议,并且取决于它们的实现方式。以下是IoT生态系统中使用的一些流行的IoT消息传递协议。

  1. 消息队列遥测传输(MQTT):
    MQTT是IBM在1999年引入的最广泛采用的M2M(机器对机器)消息传递协议。它使用Publisher-Subscriber机制进行操作,这意味着Publishers是轻量级的传感器,可以收集数据并连接到中介层,即连接到代理(或)经销商)发送其数据。然后,订阅者是从经纪人收集所需感官数据的应用程序。该机制使有效负载最小化。它主要用于低功耗小型设备的大型网络或物联网设备带宽有限且需要通过Internet进行监视或管理的情况。
  2. 高级消息队列协议(AMQP):
    AMQP是一种开放标准的会话层协议,可用于发送跨国消息,这就是为什么它主要用于金融行业的原因。它运行在与MQTT几乎类似的TCP(传输控制协议)或UDP(用户数据报协议)上。但是唯一的区别是Broker(Dealer)包含Exchange和Queues,因此它专注于不丢失消息。交易所从发布者那里接收消息,并将它们分发到各自的队列中。不同的订户从各自的主题队列收集明智的感知数据。
  3. 受限应用协议(CoAP):
    CoAP是使用RESTful体系结构的会话层协议,该体系结构是HTTP客户端和服务器之间的标准接口。它使用UDP(用户数据报协议)协议进行轻量级实现,因此它基于两个子层,即消息传递和交互的请求/响应。该协议旨在解决基于HTTP协议的物联网系统。因此,CoAP利用GET,PUT,PUSH,DELETE等所有HTTP方法进行消息传输和访问资源。它是一种专用的Web传输协议,它使用物联网中相同约束网络上的约束节点/设备。
  4. 安全消息队列遥测传输(SMQTT):
    SMQTT是MQTT协议的扩展。它基于加密消息传递机制,因此它提供了安全的消息传递标准。在此协议中,订户向所有节点发送加密的消息,并且节点在解密后接收加密的消息并使用消息。加密和解密活动是通过使用主密钥执行的。

    该协议遵循四个主要阶段,即设置,加密,发布,解密。

    1. 在安装程序中,发布者和订阅者都在代理附近注册自己并获取主密钥。
    2. 在加密阶段,代理对发布的消息进行加密。
    3. 在发布阶段,代理将加密的数据提供给订阅者。
    4. 在最后阶段的解密阶段,订户使用该主密钥对数据/消息进行解密。
  5. 数据分发服务(DDS):
    DDS是另一种发布-订阅协议,但是与将它们连接到服务器的MQTT有所不同,但是此处DDS协议是一种无代理的体系结构,这就是为什么它比MQTT是一种高速,高性能的协议,因为它不依赖于任何中介系统。它是由OMG(对象管理组)设计的,用于设备到设备的通信。该协议具有两个基本子层,即以数据为中心的发布-订阅(DCPS)和数据本地重建层(DLRL)。 DCPS层负责将消息传递到订户,而DLRL层负责将DDS简单集成到应用程序层中,但这是可选的。