翻译:Alex
技术审查学校:刘·利安西安格(Liu Lianxiang)
本文来自Compira Labs,作者是Ravid Hadar。
▲扫描地图中的两个维度代码了解有关音频和视频技术会议的更多信息▲
视频探索#012#
当计算机科学家注意到TCP的限制使其无法继续支持新的和更高级的互联网服务时,他们对Quic的兴趣每天增加。作为传输协议,QUIC是取代TCP的最重要的“候选人”互联网数据传输的新情况。
在昨天的文章中,我们讨论了什么问题,其目的和工作原则。现在我们必须回答一个稍有不同的问题:真的值得采用吗?接下来,本文将探讨使用Quic的优势和缺点。
Quic的支持者指出,它可以使互联网更加高效,快速,安全和不断发展。
1 ∕可以可伸缩性
更改TCP并不容易,因为中间部分具有更新的能力,并且TCP 40字节的可选位置几乎完全填充(更相关的信息,请阅读Quic和Internet传输的未来)。
TCP没有任何版本协商。相比之下,Quic有32位,因此它具有许多空间部署的新版本。制造商还可以使用这些空间来定义自己的独家版本。
2 ∕用户空间实现
与操作系统内核中实现的TCP相比,可以在应用程序层中实现QUIC,可以更快地更新。这进一步提高了QUIC的可扩展性,从而使服务可以很快发展,以便每天都可以部署新功能在同一时间,它也可以通过在上下文中调用更少的费用来实现更高的响应能力。
3 ∕创建连接速度更快
Web浏览需要快速建立连接,因为用户通常打开多个和短期连接。当使用HTTPS时,TCP需要通过“三个握手”来解决,然后在建立连接之前进行TLS协议设置。
Quic(基于UDP)不需要三个握手。此外,它将在握手时交换安全键,以便建立加密连接时它的速度将增加一倍。
4 ∕降低对数据包丢失的敏感性
使用TCP时,如果丢失了数据包,则所有数据包将停止传输,直到发送丢失的数据包为止。这种现象称为“团队负责人”,这将导致延迟大幅增加。
相反,Quic使用类似于HTTP/2的多路重用模式,该模式可以同时支持多个数据流。如果数据流发送错误并导致数据包丢失,则其他数据流将继续发送数据包,而无需发送数据包阻止传输。
下图中的示例显示了包含三个数据包的拥塞窗口的连接,其中排名第0数据包被丢弃。在TCP连接中,只有单个数据流,随后的数据包被阻止。Quic的Multi -Road连接具有三个数据流,每个都可以独立运行。因此,第2号和第3号的数据流仍正常传输,并且只有1号数据流中的以下数据包被阻止。
5 ∕切换网络时的性能改进
切换网络时,QUIC可以实现平稳的过渡。例如,如果您在家中使用wifi在手机上观看视频,然后您出门在外,则在家中,wifi转换为LTE,或忙于观看视频,在不同的移动基站之间移动。
在这些情况下,TCP将切断并通过新网络创建新的连接,这将影响您的观看体验。QUIC可以实现无缝连接。
6 ∕提高安全性和隐私保护
QUIC在传输层中具有构建的加密功能,以验证整个负载(包括标题).TCP不包括标题中的加密,使其非常容易受到攻击。QUIC的默认支持Security TLS意味着该端的结束是完全安全的。
当发明TCP时,网络是连线的,这是非常可靠的。但是显然,情况已经改变。QuiC改善了不可靠且不可预测的无线连接,但并没有改变Internet传输的本质。它的局限性导致它仅改变了一些特定的用法方案。这里是一些额外的限制:
1∕移民应用程序面临巨大挑战
将应用程序从HTTP/2移至HTTP/3(或从TCP到UDP)非常有效。整个过程需要将整个应用程序层和传输层传输到UDP,并在服务器和客户端上构建新解决方案。
对于流媒体媒体领域的资源相对有限的小型制造商来说,这无疑是具有挑战性的。同时,这也解释了为什么诸如Google和Microsoft之类的技术巨头可以领导采用QUIC协议。
2 ∕使用限制
Quic的最大问题是它的采用仍然有限。几乎每个浏览器都接受使用QUIC的简单Web浏览,但是除了Chromium,没有浏览器将其设置为默认选项。
此外,在流媒体领域,除了Google和Facebook(现在更名为Meta)外,很少有公司使用QUIC。只有一些CDN提供商支持QUIC,其中一些人只能验证QUIC的实现,并且还没有准备好大规模部署。这带来了一个问题:如果您基于多CDN和基于QUIC的服务启动新服务,那么只有20%的使用QUIC,因为您无法向用户证明对用户体验产生重大影响。
3 QUIC包含TCP返回
在UDP上构建QUIC的原因是中间件和网络设备的UDP截距很少的原因。防止它。
这意味着应用程序的开发人员(QUIC)应同时开发和维护两个不同版本(由于TCP返回和限制采用),从而导致沉重负担。
好消息是,使用最新的Devox结构和HTTP的Alt-SVC标签的使用,这两个协议比以前要简单得多。
4 ∕无法检查数据包
网络防火墙无法解密Quic流量以检查数据包,因此,标准安全功能可能未检测到潜在的恶意流量进入网络。因此,通常,Cisco和Palo Alto网络等安全制造商拦截端口80(Web服务器)和443(TSL)上的QUIC数据包,迫使客户撤回使用HTTP/2和TCP协议。
但是,上述操作不会显着影响内容用户体验,因为默认情况下,正确实现的流媒体服务将被撤回到TCP+TLS,但是此操作可能会阻止Quic.1 Quic的想法。仅通过解决此挑战来解决Quic。可以被主要企业广泛接受。
5 ∕没有某些TCP特征
人们默认情况下在TCP中使用一些特征(例如节流),但是使用Quic,您可能需要自己构建这些特征。
此外,HTTP/3缺少采用某些特定协议所需的某些功能。此功能。此功能限制了基于基于Quic的视频传输的协议数量。
因此,尽管Quic支持最常见的传输协议(例如HLS,MPEG-DASH),但目前无法支持更多的新协议。这些协议主要用于减少玻璃到玻璃的延迟,例如依赖于块传输传输CMAF(低潜伏通用介质格式)。
玻璃到玻璃延迟:指显示屏和相机镜头之间的延迟,这也可以称为“端到端延迟”,这意味着在开始(捕获)和结束(显示)本质
6 ∕更容易成为指纹
恶意演员可能会嗅到互联网用户和访问的网站之间的网络流量,并通过发现的数据包创建与特定网站相对应的不同模式。此操作称为Web指纹。在早期交通连接阶段,TCP+HTTPS似乎更耐耐指纹。
7 QUIC可能需要更高的CPU使用率
一些视图认为,QUIC所需的HTTP/3在客户端和服务器上占据了更多的CPU资源。
无论如何,一旦Quic进入主流技术堆栈,该问题就不会产生太大影响。
8 ∕需要实施许多协议
由于IETF在5年以上发布了第一版的Quic版本,因此市场上有60个Quic版本,所有这些版本都是在Quic标准之前开发的。因此,大多数QUIC版本可能不支持完整的Quic标准,或支持其自己版本的实现。仅当不同版本的Quic和官方标准是一致的时候,才能被广泛使用。
9 ∕互联网仍针对TCP进行了优化
TCP传输已经存在数十年。多年来,通过通过软件(例如操作系统内核)(例如网络接口和智能NIC)来构建卸载性能,通过构建卸载性能来优化TCP应用程序。在用户空间中,因此其终点和某些中间件功能在此阶段都有明显的缺点。但是,一旦广泛使用了QUIC,将获得此优化,因此这只是Quic的临时问题。
Quic支持一些独特的功能,并为实现新功能提供了更大的灵活性。因此,与TCP相比,基于Quic的应用程序有望在QoE中带来更多优势。
以下是两个Quic ::的Qoe优势的常见示例。
Quic的确为互联网用户带来了逐步的收益,但是仍然存在争议是否是真正的“颠覆”。目前,有足够的理由使用QUIC,但是Quic带来的问题以及早期采用者遇到的挑战是”鼓励“观看的态度。
笔记:
[1] https://cloud.tencent.com/developer/article/1346159
谢谢你:
本文已由作者Ravid Hadar授权翻译和发布。
原始链接:
https://www.compiralabs.com/post/quic---game-te-for-internet-delivery
进一步阅读:
谈论QUIC协议的发展
IETF访谈:HTTP/3全球份额继续增长,Quic的前景很光明
IETF:QUIC VERING 1(RFC 9000)作为标准化版本现在发布
原始:https://juejin.cn/post/7107061559704158245