FEATURED STORY / G_KEY JOURNAL

深入阅读,获取更多行业信息与内容观点。

jinnianhui官网-金年会 资讯动态 XMPP协议在往返延迟优化中的演变与现状分析
ARTICLE / 资讯动态

XMPP协议在往返延迟优化中的演变与现状分析

近年来,关于可扩展消息与存在协议(XMPP)在网络传输过程中往返延迟的优化问题引起了广泛关注。自七年前提出《慢数据》一文以来,XMPP在极端网络条件下的应用与优化问题的探讨愈加深入。本文旨在回顾XMPP协议优化的历程,分析当前的技术进展及其对快速连接性能的影响。

首先,标准XMPP协议在建立连接时原本需要12次往返(Round Trip Time,RTT),然而现有的执行方案显示,原有基线流程的使用频率已显著降低。为改善往返延迟,技术社区提出了一种将往返次数减少至3次的解决方案,该方案主要适用于重连场景,但截至目前,尽管相关设计已形成,实际应用仍未落地。实现该方案的关键在于SASL2(规范见XEP-0388)和ISR(规范见XEP-0397)两个扩展的代码实现,其中SASL2扩展得到了采纳,而ISR扩展则未能实现。

about image

其次,SASL2的引入有助于将往返次数缩减至5次,然而,社区并未采纳任何1-RTT认证机制,反而倾向于使用SCRAM认证,以确保安全性。SCRAM所包含的通道绑定技术能够确保SASL认证端与TLS会话端相匹配,这种选择基于对潜在安全威胁的考虑,尤其是在高风险环境下,选择依赖更为安全的机制是合乎逻辑的。因此,当前XMPP协议的往返次数被压缩至6次。 jinnianhui.com

此外,针对往返延迟的进一步优化,"Bind2"(XEP-0386)扩展已将资源绑定融入SASL2中,成功省略了一次往返。随后,FAST(XEP-0484)扩展通过签发短期令牌的机制,使得重新认证过程的往返需求压缩至一次。这一系列技术革新使得当前的往返次数降至3次,已达到与ISR设计相同的性能水平,但在实用性方面更具优势。

about image

然而,进一步的优化不仅需考虑应用层的往返次数,还需平衡客户端与服务器之间的认证机制。因此,在现有技术中,仅依靠一次应用层的往返难以简化协议的建立过程。

针对该问题,TLS v1.3协议引入的“早期数据”(0-RTT)机制提供了理论上的解决方案,该机制能够在握手过程中集成剩余的应用层交换,理论上可以省去一次往返。然而,应用上述机制对认证安全性会产生影响,故当前仍处于研究阶段。 jinnianhui.com

最后,值得注意的是,现有针对QUIC协议的两项实验亦致力于优化XMPP在连接建立过程中的表现。QUIC将连接建立与TLS v1.3握手过程合并,从而同样能够实现一次往返的省略。

about image

综上所述,虽然XMPP在会话建立过程中的优化进展显著,但仍面临内在的挑战。尽管1次往返的连接效率在理论上可行,实际应用中仍需解决丢包与乱序等问题。此外,XMPP作为一个成熟的协议,至今仍在多个开源项目及企业中得到广泛应用,尤其在确保消息传递的可靠性方面具有重要价值。因此,关于XMPP长期发展的讨论仍在继续。

返回资讯列表

分享这篇内容

复制链接,转发给需要的朋友