MQTT Over QUIC:下一代物联网标准协议
图示:© IoT For All --> QUIC(RFC 9000)是下一代互联网协议HTTP/3的基础传输协议,相比于TCP/TLS协议,它为现代移动互联网提供了更低的连接开销和消息延迟。基于QUIC的优势,使其在物联网消息场景中非常适用,EMQX 5.0引入了对QUIC的支持(MQTT over QUIC)并设计了独特的消息机制和管理方法。我们将深入探讨MQTT over QUIC,展示这种领先技术实现对物联网场景的优势和价值。您可以通过本文利用EMQX 5.0对QUIC的支持,在各种MQTT应用场景中使物联网数据传输更加高效、稳定和低成本。“基于QUIC的优势,使其在物联网消息场景中非常适用,EMQX 5.0引入了对QUIC的支持(MQTT over QUIC)并设计了独特的消息机制和管理方法。”- EMQ Technologies Inc. 什么是QUIC? QUIC是一种基于UDP构建的通用传输层网络协议,最初由Google提出,作为TCP+TLS的替代方案,以提升端到端用户体验。与现有TCP上TLS实现相比,QUIC具有许多优势:连接握手的高性能低延迟(一回合或零回合):QUIC减少了连接设置期间的开销。由于大多数网络连接都需要TLS,QUIC在初始握手过程中交换TLS密钥。当客户端打开连接时,响应包含进一步加密所需的数据。这消除了先设置TCP连接,然后在TLS上协商安全协议的需要。最重要的是,它节省了连接设置期间的往返次数,从而减少了整体连接设置延迟。QUIC运行于UDP之上:QUIC运行在UDP而非TCP之上。QUIC流在流控制上是独立的,数据丢失则在QUIC层而非UDP层进行重传。这意味着,如果一个流出现错误,不会影响同一连接中的其他流。对于在QUIC层上的应用,由于单个复用流中的错误,数据处理不会被阻塞。NanoSDK 0.6.0发布了基于MsQuic项目的第一版C语言MQTT over QUIC SDK。NanoSDK通过在NNG的传输层添加QUIC支持,提供了更好的物联网连接体验,使MQTT和nanomsg等协议从TCP转移到UDP。它内部将QUIC流绑定到MQTT连接映射,并内置了0 RTT快速握手重连功能。有关消息代码示例,请参考NanoSDK QUIC演示。我们还将在不久的将来基于NanoSDK发布Python、Go等语言的SDK,让更多用户尽快体验MQTT over QUIC的优势。同时,相关SDK将支持QUIC到TCP的回退。当QUIC不可用时,连接层将自动切换到TCP/TLS 1.2,确保服务在所有类型的网络环境中都能正常运行。EMQ Technologies Inc. NanoSDK和EMQX通过QUIC发送和接收消息。未来EMQX QUICEMQ Technologies Inc. 结合QUIC功能与物联网场景,我们为MQTT over QUIC规划了许多功能,如通过区分控制通道实现主题优先级、用于高频数据传输场景的不可靠实时流,以及灵活的主题和数据通道(流)映射,以减少主题之间的干扰。这些功能将根据社区和客户的反馈在未来的版本中逐步推出。EMQ还在积极推动MQTT over QUIC的标准化。2018年,我们成为OASIS MQTT技术委员会中唯一拥有投票权的中国公司,并参与了5.0协议标准的开发。我们相信不久的将来,MQTT的基础协议将同时支持TCP和QUIC,造福整个物联网产业。QUIC的潜力显而易见,QUIC非常适合在传统TCP/IP网络中保证UDP MTU大小的弱、损耗大、断点频发的物联网网络环境,或者网络频繁切换的环境。QUIC在设备持续移动的物联网场景中(如车联网、移动采集等),或者设备希望保持长期MQTT会话的同时需要周期性休眠的场景中,具有巨大的潜力。推文分享分享邮件蜂窝连接数据分析移动网络和协议 --> 蜂窝连接数据分析移动网络和协议
查看全文
作者最近更新
-
Edge and IoT Predictions For 2024iotforall2023-12-22
评论0条评论