当前位置:网站首页>MQTT over QUIC:下一代物联网标准协议为消息传输场景注入新动力
MQTT over QUIC:下一代物联网标准协议为消息传输场景注入新动力
2022-07-28 17:04:00 【InfoQ】
引言:首个将QUIC引入MQTT的开创性产品
什么是QUIC
- 快速建立低延迟连接(1 RTT或者0 RTT)
- 端到端加密,握手通过TLS 1.3进行身份验证
- 避免队头阻塞的多路复用
- 改进的拥塞控制,可插拔的拥塞控制策略
- 多路径支持,连接平滑迁移
- 无状态负载均衡
- 现有网络无需改造升级即可支持
QUIC在MQTT通信场景中的应用前景
- 网络切换导致经常性连接中断
- 断网后重新建立连接困难:断网后操作系统释放资源较慢,且应用层无法及时感知断开状态,重连时Server/Client开销较大
- 弱网环境下数据传输受限于拥塞、丢包侦测和重传机制
EMQX 5.0的MQTT over QUIC实现

- 更高级的拥塞控制:有效降低数据丢包率,在测试中在网络波动的情况下仍能持续稳定传输数据
- 运维友好:减少大规模重连导致的开销(时间开销、客户端/服务器性能开销),减少不必要的应用层状态迁移而引发的系统过载(0 RTT)
- 更灵活的架构创新:比如Direct server return(DSR,服务器直接返回模式),只有入口/请求流量经过LB,出口和响应流量绕过LB直接回到客户端,减少LB的瓶颈
- 减少握手延迟(1 RTT)
- 多路径支持,连接平滑迁移:从4G切换到WIFI,或者因为NAT Rebinding导致五元组发生变化,QUIC依然可以在新的五元组上继续进行连接状态,尤其适用于网络经常性变化的移动设备
- 更敏捷的开发部署:协议栈的实现在userspace,能够开发快速迭代
- 端到端加密:未加密的包头带有极少信息,减少传输路径中中间节点的影响,带来更好的安全性和更可控的用户体验
- 不同主题的流:对于独立主题,每个主题可以有独立的Streams以消除其他主题长阻塞带来的影响,比如接收端长阻塞或流量控制,亦可以实现优先级主题功能。
- 不同QoS的流:比如在「流量控制」中,QoS 0传输应该让位给高QoS传输。
- 将控制消息分成不同的流:MQTT控制消息可以单向或双向发送。如客⼾端可以通过「控制流」异步发送UNSUBSCRIBE请求,以要求服务器端停⽌发送不再感兴趣的数据。
- 更细粒度的收发端协同流量控制:面对每一个流进行流控且对整个连接进行流控,实现更细粒度的流量控制。
QUIC vs TCP/TLS测试对比
- 测试平台:EMQX 5.0单节点
- 服务器规格:AWS EC2 M4.2xlarge(8核32GB)
- 操作系统:Ubuntu 20.04
- 客户端数:5000
- loadgen并行数:8
- latency取值:P95
客户端连接时延



0 RTT重连时延


连接/重连时服务器资源使用


客户端地址迁移

网络丢包测试


更便捷的使用:MQTT over QUIC SDK

未来的EMQX QUIC

结语
本系列中的其它文章
- EMQX 5.0 产品解读 01 | Mria + RLOG 新架构下的 EMQX 5.0 如何实现 1 亿 MQTT 连接
边栏推荐
- 物联网在智慧城市的应用
- The difference between probability function p (x), probability distribution function f (x) and probability density function f (x)
- 天线的原理、分类及要求
- 余承东:华为正在想办法应对美国芯片封杀
- Categories with good sales volume on the video Number
- 视频号从每周2-3场到每天3场
- MediaTek has submitted an application to the US side, striving to supply goods to China after September 15
- Live video Number supports product playback
- Characteristics required for making a good video Number
- Digital filter (III) -- Design of analog filter
猜你喜欢

示波器简介

频谱仪原理简介二

Power adapter global definition

天线的主要参数介绍

硬件工程师成长之路(0)----认识元件

Openmv (I) -- basic introduction and hardware architecture

Centos8 uses docker to install WordPress in wordpress+mysql configuration file_ DB_ Understanding of host

【译】创意编码之噪音

How to sharpen a knife simply by yourself

The difference between probability function p (x), probability distribution function f (x) and probability density function f (x)
随机推荐
硬件工程师成长之路(0)----认识元件
Cloud container and cloud native
SMIC's net profit in the first half of the year was 1.386 billion yuan, and the n+1 process has entered the stage of customer product verification
天线的主要参数介绍
How does the video Number import the public domain traffic to the private domain
[reading notes] for paper: summary of three papers in r-cnn series
What is the future prospect of video Number e-commerce?
VMware virtual machine networking settings (win10 comes with virtual machine installation win7)
Iptables firewall port rule configuration
微信公众号授权登录后报redirect_uri参数错误的问题
高温天气户外活动有讲究!市民盛夏健身安全指引来了
USB Type-C 之CC线简介
视频号直播支持商品回放
频谱仪原理简介一
Iptables configuration
Openmv (V) -- STM32 to realize face recognition
Digital filter (VI) -- design FIR filter
iptables 配置
solidity转账函数的实现(基于transfer)
Power adapter global definition