当前位置:网站首页>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 连接
边栏推荐
- “云战略”将成为企业数字化转型的重要支柱
- USB Type-C 详解
- Categories with good sales volume on the video Number
- Busybox latest version (busybox APK)
- Temporary URL
- MongoDB初始化操作
- Centos8 uses docker to install WordPress in wordpress+mysql configuration file_ DB_ Understanding of host
- Import the database backup of MySQL 8 into MySQL 5
- VSC上写Go出现expected ‘package‘, found ‘EOF‘
- 天线的原理、分类及要求
猜你喜欢

示波器探头详解

“云战略”将成为企业数字化转型的重要支柱

7-8 romantic profile (25 points) achievements + new problem solving ideas

Digital filter (III) -- Design of analog filter

低码在数字化转型中扮演什么角色?

示波器简介

Digital filter (I) -- basic structure and matlab implementation of IIR and fir

天线的主要参数介绍

Openmv (VI) -- STM32 realizes object recognition and handwritten digit recognition

What role does low code play in the digital transformation?
随机推荐
“云战略”将成为企业数字化转型的重要支柱
WordPress prompt error in establishing database connection
Power adapter global definition
Huawei ZTE lost the lawsuit in the UK and will be banned if it does not pay the patent licensing fee!
Overflow failure of mobile terminal
vmware虚拟机联网设置(win10自带虚拟机安装win7)
[reading notes] for paper: summary of three papers in r-cnn series
【译】创意编码之噪音
沪硅产业上半年营收8.5亿元,同比增长30.53%!各类产品认证正在加速
With so many open source frameworks, which one is better?
业绩增长强劲!闻泰科技上半年净利17亿元,同比暴增767.19%!
美国对华为禁令开始波及欧洲芯片厂商
busybox最新版(busybox apk)
物联网在智慧城市的应用
Openmv (I) -- basic introduction and hardware architecture
Tips -- solve the problem of no module named matlab.engine
Video number one video broadcast 260million
Live video Number supports product playback
Sales of video related products increased by 88%
solidity转账函数的实现(基于transfer)