当前位置:网站首页>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 连接
边栏推荐
- 高温天气户外活动有讲究!市民盛夏健身安全指引来了
- Food safety | will the salt content of bread exceed the standard? A few tips to teach you to eat bread correctly!
- VMware virtual machine networking settings (win10 comes with virtual machine installation win7)
- solidity的modifier修饰器的_;
- What role does low code play in the digital transformation?
- Go的walk库报错
- Go的sleep
- 沪硅产业上半年营收8.5亿元,同比增长30.53%!各类产品认证正在加速
- Live video Number supports product playback
- 矢量网络分析仪(矢网)组成和原理简介
猜你喜欢

After CentOS uses docker to run mysql, the remote connection needs to open the port

2023年网络安全预算规划的五个关键考虑因素

Openmv (I) -- basic introduction and hardware architecture

Openmv (II) -- ide installation and firmware download

USB Type-C 之CC线简介

Internet intelligence, how to define the next generation network transformation

Application of Internet of things in smart city

横向listview的最佳实现——RecycleView

ADS仿真 之 直流仿真示例

互联智能,如何定义下一代网络变革
随机推荐
Tcp/ip detailed diagram
solidity的require报错
What role does low code play in the digital transformation?
Introduction to USB type-C PD fast charging
视频号直播支持商品回放
vmware虚拟机联网设置(win10自带虚拟机安装win7)
体验5分钟开发微信小程序
Andorid: Zxing.Demo二维码扫描框架遇到的坑
Five key considerations for network security budget planning in 2023
Temporary URL
USB Type-C 详解
Seven steps, in-depth interpretation of data meaning
The diversion between video number and official account is convenient and considerable
Iptables configuration
示波器参数详解
马斯克利用活猪展示全新脑机接口技术:可实时读取猪脑信息
Association between enterprise wechat and video Number
Experience 5 minutes to develop wechat apps
Power adapter global definition
This tool is enough for video number operation