【技术实现步骤摘要】
一种基于QUIC优化MQTT的方法
[0001]本专利技术涉及物联网通信
,是一种基于QUIC优化MQTT的方法。
技术介绍
[0002]MQTT(Message Queuing Telemetry Transport)是一种发布/订阅式的“轻量级”消息协议,具有低开销,低带宽占用的特性,可以用极少的内存和带宽的为连接远程设备提供实时可靠的消息服务。
[0003]QUIC(Quick UDP Internet Connection)是谷歌制定的一种基于UDP的低时延的互联网传输层协议。由于其建立在UDP之上,使得相对于TCP之上等其他协议,QUIC的可定制和优化的空间更大。
[0004]MQTT协议是目前物联网应用最广泛的协议之一,而大部分MQTT程序运行在TCP协议上,TCP协议在连接开销、传输延迟和连接迁移方面存在不足,使用QUIC协议对MQTT协议优化,可以弥补上述的不足,提高MQTT的性能。
技术实现思路
[0005]本专利技术的目的在于利用QUIC及其特性优化MQTT,解决在现 ...
【技术保护点】
【技术特征摘要】
1.一种基于QUIC优化MQTT的方法,其特征是:包括以下步骤:步骤1:采用QUIC的0
‑
RTT特性优化MQTT的连接过程;步骤2:采用QUIC的无队头阻塞的多路复用特性优化MQTT的数据传输过程;步骤3:采用QUIC的连接迁移特性优化MQTT适应移动场景的能力。2.根据权利要求1所述的一种基于QUIC优化MQTT的方法,其特征是:所述步骤1具体为:MQTT客户端与MQTT代理服务器端初始化QUIC 0
‑
RTT模块;通过MQTT客户端发起QUIC连接请求,建立QUIC连接信息;MQTT代理服务端解析信息,并将0
‑
RTT相关密钥信息发送到MQTT客户端;MQTT客户端和MQTT代理服务器端保存0
‑
RTT信息,在重连时使用0
‑
RTT连接;MQTT客户端重新发送QUIC 0
‑
RTT连接请求,与MQTT代理服务器建立0
‑
RTT连接;在MQTT客户端发起QUIC 0
‑
RTT连接请求的同时,利用QUIC的0
‑
RTT数据包发送MQTT的连接报文;在MQTT客户端发送MQTT 0
‑
RTT连接报文的同时,利用QUIC的0
‑
RTT数据包发送MQTT的后续控制报文。3.根据权利要求2所述的一种基于QUIC优化MQTT的方法,其特征是:采用0
‑
RTT连接的前提为QUIC客户端曾与QUIC服务器建立连接,并且QUIC客户端存储QUIC服务器端的相关密钥信息,且上述密钥信息仍然有效;QUIC的IETF版本使用TLSv1.3建立加密的连接以及完成报文的加解密,在使用0
‑
RTT连接时,QUIC客户端和QUIC服务器端使用专用的0
‑
RTT密钥,在使用0
‑
RTT密钥时客户端发送的所有报文,都属于0
‑
RTT连接过程中传输的报文,所采用0
‑
RTT传输的报文范围为使用0
‑
RTT密钥的所有报文。4.根据权利要求2所述的一种基于QUIC优化MQTT的方法,其特征是:所述步骤2具体为:MQTT客户端和MQTT代理服务器端初始化QUIC传输模块,包括确定流最大数量限制;MQTT客户端根据现有的报文数量和主题数,建立流的数量,其中流的数量不超出流最大数量的限制;对于新的主题,MQTT服务器端根据MQTT客户端传输内容动态创建流;对于同一主题需要传输多个报文信息,创建多个新的流,多个流并行传输报文;报文消息之间需要没有时间的关联性,即报文的传输顺序不存在依赖,每个主题至少通过一个流传输;流根据传输的内容动态管理,动态创建或关闭传输流。5.根据权利要求4所述的一种基于QUIC优化MQTT的方法,其特征是:MQTT客户端与MQTT服务器端完成QUIC连接的建立,此时QUIC客户端和QUIC服务器端使用密钥FORWORD_SECURE进行数据传输;并且QUIC客户端和QUIC服务器至少存在一个QUIC流用于数据的传输;MQTT客户端根据订阅的主题数和报文数动态创建QUIC流,其中每个流只用于传输一...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。