
物联网
YuYunTan
只是一个学习的初步者
展开
-
物联网之MQTT3.1.1和MQTT5协议 (21) MQTT系列博文总览
文章目录协议基础部分协议实现部分协议基础部分1.术语部分2.报文分类:CONNECT报文CONNACK 报文PUBLISH报文PUBACK报文PUBREC 报文PUBREL报文PUBCOMP报文SUBSCRIBE报文SUBACK报文UNSUBSCRIBE报文UNSUBACK 报文操作行为协议实现部分...原创 2019-10-13 13:59:28 · 429 阅读 · 0 评论 -
物联网之MQTT3.1.1和MQTT5协议 (20) MQTT 相关开源实现Server或Broker列表(会不断更新)
文章目录broker列表整体比较(MQTT 官网提供)HiveMQ支持特性说明相关资料ActiveMQ支持特性相关资料ActiveMQ Artemis支持特性相关资料RabbitMQMosquittoflespiMoscaVerneMQ支持特性相关资料emqx相关资料vertx-mqtt-broker支持特性相关资料**moquette**相关资料Jmqtt支持特性相关资料MqttWk特征备注相关...原创 2019-10-13 13:58:40 · 3850 阅读 · 0 评论 -
物联网之MQTT3.1.1和MQTT5协议 (19) MQTT协议一致性条款和MQTT5新特性
文章目录一致性一致性条款MQTT服务端一致性条款MQTT客户端一致性条款MQTT5 新特性会话过期消息过期所有确认报文原因码所有确认报文原因字符串服务端断开载荷格式和内容类型请求/响应共享订阅订阅标识符主题别名流量控制用户属性最大报文长度可选的服务端功能可用性增强的认证订阅选项遗嘱延迟服务端保活分配客户标识符服务端参考列表一致性MQTT规范定义了MQTT客户端实现和MQTT服务端实现的一致性要...原创 2019-10-13 11:56:09 · 1965 阅读 · 0 评论 -
物联网之MQTT3.1.1和MQTT5协议 (18) 安全
文章目录安全概述MQTT解决方案:安全和认证轻量级的加密与受限设备实现注意事项客户端身份认证客户端授权服务端身份验证应用消息和MQTT控制报文的完整性应用消息和MQTT控制报文的保密性消息传输的不可否认性客户端和服务端盗用检测异常行为检测其它安全注意事项使用SOCKS代理安全配置文件开放通信配置安全网络通信配置安全传输配置工业标准的安全配置使用 WebSocket作为网络层IANA注意事项IANA...原创 2019-10-13 09:28:13 · 1578 阅读 · 0 评论 -
物联网之MQTT3.1.1和MQTT5协议 (17) 操作行为
文章目录前言操作行为状态存储(MQTT3.1.1)会话状态(MQTT 5)存储会话状态非规范示例网络连接服务质量等级和协议流程QoS 0:最多分发一次QoS 0协议流程图,非规范示例QoS 1: 至少分发一次QoS 2:仅分发一次消息分发重试消息收到消息排序主题名和主题过滤器主题通配符主题层级分隔符多层通配符单层通配符以$开头的主题主题语义和用法订阅(MQTT 5)非共享订阅共享订阅流控(MQTT...原创 2019-10-13 09:21:36 · 1271 阅读 · 0 评论 -
物联网之MQTT3.1.1和MQTT5协议 (16) AUTH 报文
文章目录前言AUTH – 认证交换(MQTT 5)固定报头可变报头认证原因码AUTH属性属性长度认证方法认证数据原因字符串用户属性AUTH载荷AUTH行为前言AUTH报文是MQTT5的新报文,MQTT3版本则没有。AUTH – 认证交换(MQTT 5)AUTH报文被从客户端发送给服务端,或从服务端发送给客户端,作为扩展认证交换的一部分,比如挑战/响应认证。如果CONNECT报文不包含相同的...原创 2019-10-12 18:28:32 · 846 阅读 · 1 评论 -
物联网之MQTT3.1.1和MQTT5协议 (15) DISCONNECT报文
文章目录前言DISCONNECT – 断开连接/断开通知固定报头DISCONNECT可变报头(MQTT 5)断开原因码断开原因码DISCONNECT属性(MQTT5)属性长度会话过期间隔原因字符串用户属性服务端参考DISCONNECT报文可变报头非规范示例有效载荷DISCONNECT行为前言该报文为控制报文,MQTT5将该报文的传递方向由单向变成双向。DISCONNECT – 断开连接/断开...原创 2019-10-12 16:37:53 · 1614 阅读 · 0 评论 -
物联网之MQTT3.1.1和MQTT5协议 (14) PINGRESP报文
文章目录前言PINGRESP – PING响应固定报头可变报头有效载荷PINGRESP行为前言服务端发送PINGRESP报文响应客户端的PINGREQ报文。表示服务端还活着。此报文被用在保活(Keep Alive)的处理中。PINGRESP – PING响应固定报头可变报头PINGRESP报文没有可变报头。有效载荷PINGREQ报文没有有效载荷。PINGRESP行为客户端收...原创 2019-10-12 15:25:50 · 551 阅读 · 0 评论 -
物联网之MQTT3.1.1和MQTT5协议 (13) PINGREQ报文
文章目录前言PINGREQ – PING请求固定报头可变报头有效载荷PINGREQ行为前言客户端发送PINGREQ报文给服务端的。用于:在没有任何其它控制报文从客户端发给服务端时,告知服务端客户端还活着。请求服务端发送 响应确认它还活着。使用网络以确认网络连接没有断开。此报文被用在保活(Keep Alive)的处理中。PINGREQ – PING请求固定报头剩余长度字段 ...原创 2019-10-12 14:37:19 · 659 阅读 · 0 评论 -
物联网之MQTT3.1.1和MQTT5协议 (12) UNSUBACK 报文
前言服务端发送UNSUBACK报文给客户端用于确认收到UNSUBSCRIBE报文。 UNSUBACK – 取消订阅确认固定报头剩余长度字段 等于可变报头的长度加上有效载荷的长度,编码为变长字节整数。 MQTT3.1.1中可变报头的长度等于2字节 可变报头UNSUBACK报文可变报头按顺序包含以下字段:所确认的UNSUBSCRIBE报文标识符和属性( Properties)。...原创 2019-10-12 13:58:22 · 469 阅读 · 0 评论 -
物联网之MQTT3.1.1和MQTT5协议 (11) UNSUBSCRIBE报文
文章目录前言UNSUBSCRIBE – 取消订阅请求UNSUBSCRIBE固定报头可变报头UNSUBSCRIBE属性属性长度用户属性UNSUBSCRIBE载荷UNSUBSCRIBE行为前言客户端发送UNSUBSCRIBE报文给服务端,用于取消订阅主题。 UNSUBSCRIBE – 取消订阅请求UNSUBSCRIBE固定报头!在这里插入图片描述UNSUBSCRIBE固定报头的第3,2,1...原创 2019-10-12 13:17:41 · 602 阅读 · 0 评论 -
物联网之MQTT3.1.1和MQTT5协议 (10) SUBACK报文
文章目录前言SUBACK – 订阅确认SUBACK固定报头SUBACK可变报头SUBACK属性(MQTT5)属性长度原因字符串用户属性有效载荷有效载荷非规范示例订阅原因码前言服务端发送SUBACK报文给客户端,用于确认它已收到并且正在处理SUBSCRIBE报文。SUBACK – 订阅确认征询SUBACK报文包含一个返回码清单,它们指定了SUBSCRIBE请求的每个订阅被授予的最大QoS等级...原创 2019-10-12 13:13:29 · 1484 阅读 · 0 评论 -
物联网之MQTT3.1.1和MQTT5协议 (9) SUBSCRIBE报文
文章目录前言SUBSCRIBE - 订阅请求固定报头可变报头SUBSCRIBE属性属性长度订阅标识符用户属性SUBSCRIBE载荷订阅选项SUBSCRIBE报文有效载荷格式SUBSCRIBE行为订阅标识符(MQTT 5)前言客户端向服务端发送SUBSCRIBE报文用于创建一个或多个订阅。每个订阅(Subscription)注册客户端所感兴趣的一个或多个主题。服务器将PUBLISH数据报文发送到...原创 2019-10-12 09:21:00 · 1283 阅读 · 0 评论 -
物联网之MQTT3.1.1和MQTT5协议 (8) PUBCOMP报文
文章目录前言PUBCOMP – 发布完成(QoS 2,第三步)固定报头PUBCOMP可变报头PUBCOMP原因码PUBCOMP属性属性长度原因字符串用户属性PUBCOMP载荷PUBCOMP行为前言PUBCOMP报文是对PUBREL报文的响应。它是QoS 2等级协议交换的第四个也是最后一个报文。PUBCOMP – 发布完成(QoS 2,第三步)固定报头剩余长度字段表示可变报头的长度,用...原创 2019-10-11 22:04:45 · 1002 阅读 · 0 评论 -
物联网之MQTT3.1.1和MQTT5协议 (7) PUBREL报文
文章目录前言PUBREL – 发布释放(QoS 2,第二步)PUBREL固定报头可变报头PUBREL原因码(MQTT 5)PUBREL属性(MQTT 5)属性长度原因字符串用户属性PUBREL载荷PUBREL行为前言PUBREL报文是对PUBREC报文的响应。它是QoS 2等级协议交换的第三个报文。PUBREL – 发布释放(QoS 2,第二步)PUBREL固定报头PUBREL固定报头...原创 2019-10-11 21:55:12 · 1116 阅读 · 0 评论 -
物联网之MQTT3.1.1和MQTT5协议 (6) PUBREC 报文
文章目录前言PUBREC – 发布收到(QoS 2,第一步)固定报头可变报头PUBREC原因码(MQTT 5)PUBREC属性(MQTT 5)属性长度原因字符串用户属性PUBREC载荷PUBREC行为前言PUBREC报文是对QoS等级2的PUBLISH报文的响应。它是QoS 2等级协议交换的第二个报文。真正能实现QoS2等级消息而且没有性能问题的Broker或mqtt server的很少。P...原创 2019-10-11 21:43:47 · 1160 阅读 · 0 评论 -
物联网之MQTT3.1.1和MQTT5协议 (5) PUBACK报文
文章目录前言PUBACK – 发布确认固定报头可变报头PUBACK原因码(MQTT 5)PUBACK属性(MQTT 5)属性长度原因字符串用户属性PUBACK载荷行为前言针对QoS1的PUBLISH报文进行响应的报文,一般的先行的broker可以做到这个地步。PUBACK – 发布确认PUBACK报文是对QoS 1等级的PUBLISH报文的响应固定报头剩余长度字段表示可变报头的...原创 2019-10-11 21:35:14 · 1605 阅读 · 0 评论 -
物联网之MQTT3.1.1和MQTT5协议 (4) PUBLISH报文
文章目录前言PUBLISH – 发布消息PUBLISH报文固定报头重发标志服务质量等级保留标志剩余长度可变报头主题名报文标识符PUBLISH属性(MQTT 5)属性长度载荷格式指示消息过期间隔主题别名响应主题对比数据用户属性订阅标识符内容类型有效载荷响应动作总结前言本篇博文主要是介绍第三报文,即PUBLISH报文,用于客户或服务端对服务或客户端间传输信息。PUBLISH – 发布消息PUB...原创 2019-10-11 16:05:15 · 1942 阅读 · 0 评论 -
物联网之MQTT3.1.1和MQTT5协议 (3) CONNACK 报文
文章目录前言CONNACK – 确认连接请求固定报头可变报头连接确认标志当前会话连接返回码(MQTT 3)连接原因码(MQTT 5)CONNACK属性(MQTT 5)属性长度会话过期间隔接收最大值最大服务质量保留可用最大报文长度分配客户标识符主题别名最大值原因字符串用户属性通配符订阅可用订阅标识符可用共享订阅可用服务端保活响应信息服务端参考列表认证方法认证数据CONNACK载荷总结前言本篇博文...原创 2019-10-11 13:57:39 · 2079 阅读 · 0 评论 -
物联网之MQTT3.1.1和MQTT5协议 (2) CONNECT报文
文章目录前言CONNECT –连接请求固定报头可变报头协议名协议级别(版本)连接标志清理会话(MQTT3.3.1,Clean Session)新开始(MQTT5.0,Clean Start)遗嘱标志遗嘱QoS遗嘱保留用户名标志密码标志保活(Keep Alive)CONNECT属性(MQTT5.0)属性长度会话过期间隔接收最大值最大报文长度主题别名最大值请求响应信息请求问题信息用户属性认证方法认证数...原创 2019-10-11 13:28:43 · 2297 阅读 · 1 评论 -
物联网之MQTT3.1.1和MQTT5协议 (1) 术语部分
文章目录前言简述MQTT综述相关术语网络连接(Network Connection)应用消息(Application Message)MTQQ3.1.1MQTT5.0客户端(Client)服务端(Server)订阅(Subscription)主题过滤器(Topic Filter)会话(Session)MQTT控制报文(MQTT Control Packet)共享订阅(Shared Subscrip...原创 2019-10-11 09:24:09 · 3742 阅读 · 0 评论