c++ mqtt客户端_物联网安全之MQTT协议安全

c++ mqtt客户端_物联网安全之MQTT协议安全_第1张图片

大家好,我是银基Tiger Team的BaCde,今天来说说MQTT协议的安全。 MQTT 全称为 Message Queuing Telemetry Transport(消息队列遥测传输)是是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议,由 IBM 发布。由于其轻量、简单、开放和易于实现的特点非常适合需要低功耗和网络带宽有限的IoT场景。比如遥感数据、汽车、智能家居、智慧城市、医疗医护等。  MQTT协议 MQTT协议为大量计算能力有限,低带宽、不可靠网络等环境而设计,其应用非常广泛。目前支持的服务端程序也较丰富,其PHP,JAVA,Python,C,C#等系统语言也都可以向MQTT发送相关消息。目前最新的版本为5.0版本,可以在 https://github.com/mqtt/mqtt.github.io/wiki/servers  这个连接中看到支持MQTT的服务端软件。其中hivemq中提到针对汽车厂商的合作与应用,在研究过程中会发现有汽车行业应用了MQTT协议。 c++ mqtt客户端_物联网安全之MQTT协议安全_第2张图片 以下列举我们关心的几项:
  1. 使用发布/订阅的消息模式,支持一对多的消息发布;
  2. 消息是通过TCP/IP协议传输;
  3. 简单的数据包格式;
  4. 默认端口为TCP的1883,websocket端口8083,默认消息不加密。8883端口默认是通过TLS加密的MQTT协议。

发布/订阅模式

MQTT协议中有三种角色和一个主要概念,三种角色分别是发布者(PUBLISHER)、订阅者(SUBCRIBER)、代理(BROKER),还有一个主要的概念为主题(TOPIC)。 消息的发送方被称为发布者,消息的接收方被称为订阅者,发送者和订阅者发布或订阅消息均会连接BROKER,BROKER一般为服务端,BROKER存放消息的容器就是主题。发布者将消息发送到主题中,订阅者在接收消息之前需要先“订阅主题”。每份订阅中,订阅者都可以接收到主题的所有消息。 c++ mqtt客户端_物联网安全之MQTT协议安全_第3张图片 其MQTT协议流程图如下:

你可能感兴趣的:(c++,mqtt客户端,java,mqtt客户端,java实现mqtt服务端,mqtt协议,php,mqtt服务端)