0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深入探索使用QUIC的优势和劣势

LiveVideoStack 来源:LiveVideoStack 作者:Ravid Hadar 2022-06-09 10:06 次阅读

当计算机科学家注意到TCP的限制性使它无法继续支持新的、更加先进的互联网服务时,他们对QUIC的兴趣便与日俱增。作为传输协议,QUIC是替代TCP的最重要“候选人”,它将有可能为互联网数据传输打开新的局面。

23c499a6-e789-11ec-ba43-dac502259ad0.png

在昨天的文章中,我们讨论了什么是QUIC、它的目的以及工作原理。现在我们要回答一个稍许不同的问题:它真的值得采用吗?接下来,本文将深入探索使用QUIC的优势和劣势。

QUIC的优势

QUIC的支持者指出它可以使互联网更高效、快速、安全且不断发展。

1∕可扩展性

更改TCP并不容易,因为其中的中间件抗拒更新,而且TCP 40字节的可选位几乎全部填满。

TCP没有任何版本协商(version negotiation)扩展位,相比之下,QUIC有32位,所以它有很多空间部署新版本,厂商也可以利用这些空间定义自己的专属版本。

2∕用户空间实现

QUIC能够在应用层实现,与在操作系统内核中实现的TCP相比,它可以更快地进行更新。这进一步提高了QUIC的可扩展性,使得服务可以非常快速地演进,从而新的特性每天都能得到部署。同时它还能在上下文切换时通过调用较少的开销而实现更高的响应能力。

3∕更快建立连接

Web浏览特别需要快速建立连接,因为用户通常会开启多个、短暂的连接。当使用HTTPS时,TCP在建立连接前,需要“三次握手”以及后续的TLS协议设置。

QUIC(基于UDP)不需要三次握手,加上它会在初次握手时交换安全密钥,从而使它在建立加密连接时速度提升了一倍。

4∕降低对丢包的敏感度

使用TCP时,如果丢失一个数据包,接下来所有的数据包都会停止传输,直到丢失的那个数据包被发送,这种现象被称为“队头阻塞”,它会导致延迟明显增加。

相比之下,QUIC使用的是类似HTTP/2的多路复用模式,可以同时支持多个数据流。如果一个数据流发送错误,导致丢包,那么其他数据流会继续发送数据包,而不会阻塞传输。

下图的示例中显示了包含三个数据包的拥塞窗口的连接,其中0号数据包被丢弃。在只有单一数据流的TCP连接中,后续的数据包被阻止。QUIC的多路连接拥有三个数据流,每个都能独立操作。因此,2号和3号数据流仍然在正常传输,只有1号数据流中后续的数据包被阻止。

24328d12-e789-11ec-ba43-dac502259ad0.png

5∕切换网络时的性能提升

切换网络时,QUIC可以实现平稳过渡。比如,如果你使用家里的wifi观看手机上的视频,然后你走出家门,家里的wifi便切换到LTE,或者当你一直忙于观看视频,在不同的移动基站间移动时。

在以上这些场景中,TCP将切断连接,并通过新的网络创建新的连接,进而影响到你的观看体验。而QUIC则能够实现无缝连接。

6∕提升的安全性和隐私保护

QUIC在传输层中内置了加密功能,从而验证整个负载(包括header)。TCP在header中不包含加密,使它非常容易受到攻击。QUIC默认支持安全的TLS,意味着端到端完全安全。

QUIC的局限性

TCP发明时,网络都是有线连接,而且相当可靠。但显然,情况已经发生改变。QUIC对非可靠、无法预测的无线连接进行了改进,但并没有改变互联网传输的本质,它的局限性导致它只能改变某些特定使用场景。下面列举了一些额外的QUIC局限性:

1∕迁移app面临巨大挑战

将app从HTTP/2迁移到HTTP/3(或者从TCP迁移到UDP)要费很大力气。整个过程需要将整个应用层实现和传输层实现转移到UDP,并在服务端和客户端构建全新的解决方案。

这对于流媒体领域中资源相对有限的小厂商而言无疑挑战重重,同时也解释了谷歌和微软这样的科技巨头可以率先采用QUIC协议的原因。

2∕采用受限

QUIC的最大问题就是它的采用依然受限。几乎每个浏览器都接受使用QUIC进行简单的网页浏览,但是除了chromium,没有浏览器将它设置为默认选项。

除此之外,在流媒体领域,除了谷歌和Facebook(现更名为Meta)之外,少有公司使用QUIC。只有少数CDN提供商支持QUIC,而其中的一些也只是验证了QUIC的实现,并没有为大规模部署准备好。这就带来了问题:如果你推出了使用multi-CDN并基于QUIC的新服务,那么将只有20%的访问使用QUIC,因为你无法向用户证明它对用户体验的显著影响。

3∕QUIC包含TCP回退

QUIC之所以被构建在UDP之上,部分原因是极少有中间件和网络设备拦截UDP。但确实存在被拦截的风险,所以基于QUIC的app必须设计成能够回退到TCP,以防万一。

这意味着app(基于QUIC)的开发者要同时开发和维护两个不同的版本(由于TCP回退和受到限制的采用率),导致他们的负担很重。

好消息是,随着最新的DEVOPS结构与HTTP的Alt-Svc标签的使用,支持两种协议要比以前简单得多。

4∕无法检查数据包

网络防火墙无法解密QUIC流量来检查数据包,所以潜在的恶意流量非常有可能没有被标准安全功能检测出来而进入网络。因此,思科和Palo Alto Networks等安全厂商通常会在端口80(Web服务器)和443(TSL)拦截QUIC数据包(认为它们包含恶意软件),迫使客户端回退使用HTTP/2和TCP协议。

但上述操作并不会显著影响内容用户体验,因为正确实现的流媒体服务会默认回退到TCP+TLS,但这种操作可能会阻止率先部署QUIC的想法。只有解决这一挑战,QUIC才能被各大企业广泛接受。

5∕不具备某些TCP特性

人们理所当然地使用TCP中所默认包含的一些特性(比如Throttling)。但使用QUIC,你可能需要自己构建这些特性。

除此之外,HTTP/3缺乏一些采用某些特定协议时所需的特性。比如,HTTP/3仍然不支持成块传输(chunked transfer,即将视频切片分割为小块的能力),但HTTP1.1却支持该特性。这就限制了用于基于QUIC的视频传输的协议数量。

因此,尽管QUIC支持大部分常见传输协议(如HLS、MPEG-DASH),但目前它无法支持更多新的协议,这些协议主要用于降低glass-to-glass延迟,比如依赖于成块传输的LL CMAF(Low Latency Common Media Format)。

glass-to-glass延迟:指显示器屏幕和相机镜片之间的延迟,也可以叫做“端到端延迟”,意思是开始( 捕获)并结束(显示)之间整个传输管道上的延迟[1]。

6∕更容易被fingerprinting

恶意行为者很可能嗅探到互联网用户与所访问网站之间的网络流量,并通过被发现的数据包创建与特定网站相对应的不同模式,这种操作被称为web fingerprinting。在早期流量连接阶段,TCP+HTTPS似乎更能抵御fingerprinting。

7∕QUIC可能需要更高的CPU使用率

一些观点认为QUIC所需的HTTP/3在客户端和服务端都占用了更多的CPU资源。然而,谷歌却持相反观点,认为QUIC有助于延长电池寿命。

无论如何,一旦QUIC进入主流技术栈,这一问题预计不会有太大影响。

8∕需要实现的协议众多

由于IETF历经5年多才发布第一版QUIC,所以目前市面上有60种QUIC版本实现,都开发于QUIC标准之前。因此,大部分QUIC版本或不支持完整的QUIC标准,或只支持自己版本的实现。只有当不同版本的QUIC与官方标准保持一致时,它才能被广泛采用。

9∕互联网依然针对TCP进行优化

TCP传输已经存在几十年,多年以来,TCP应用通过在软件(如操作系统内核)和硬件(如网络接口智能NIC)中构建卸载性能而彻底得到了优化。而QUIC却不具备这一能力。它基于UDP,位于用户空间内,所以它的端点,以及一些中间件功能在现阶段存在明显的劣势。不过,一旦QUIC被广泛采用,就会得到这种优化,所以这对于QUIC而言只是暂时性问题。

QUIC vs TCP:对于质量体验的影响

QUIC支持某些独特的特性并在新的特性实现方面提供了更多灵活性。因此,对比TCP,基于QUIC的应用有望在QoE方面带来更多优势。

下面是两个QUIC带来QoE优势的常见用例:

Web浏览:QUIC支持内置TLS,并能够迅速建立连接。在大部分连接时长较短的情况下(如安全网站的快速下载时长),它可以提供明显的性能优势。谷歌声称运行在QUIC上的应用页面下载时长缩短了10%。

视频流:QUIC支持的某些特性有望提升视频流的QoE。目前为止,因为QUIC的实现逻辑与TCP相似,所以可预测的影响已受到限制。但在一些情况中,还是可以体验到QUIC所带来的好处,比如,QUIC减少队头阻塞的能力为具有中高丢包率的网络所带来的QoE优势。

QUIC也许是“改进者”,不是“颠覆者”

QUIC确实为互联网用户带来了渐进式的增益,但对于它是否是真正的“颠覆者”这一观点还存在争议。目前存在充分的理由采用QUIC,但QUIC所带来的问题以及早期采用者所遇到的挑战都在“鼓励”一种观望态度。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 互联网
    +关注

    关注

    54

    文章

    10905

    浏览量

    100726
  • Quic
    +关注

    关注

    0

    文章

    24

    浏览量

    7223

原文标题:QUIC会成为互联网传输的颠覆者吗?

文章出处:【微信号:livevideostack,微信公众号:LiveVideoStack】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    超融合的优势劣势

    超融合是一种集成化的计算架构,将计算、存储、网络和虚拟化功能融合在一起,为企业提供高性能、高可靠性和高灵活性的解决方案。本文将详细探讨超融合的优势劣势,并对其影响进行深入分析。 一、超融合的
    的头像 发表于 01-11 09:19 801次阅读

    软包电池优劣势有哪些?

    软包电池优劣势有哪些? 软包电池是一种新型的电池类型,相对于传统的硬包电池有着一些优势劣势。 第一部分:引言 软包电池是一种采用软包式包装的锂离子电池,近年来在电动汽车、电子设备等领域得到
    的头像 发表于 01-10 10:30 621次阅读

    pcb超薄变压器的优势劣势

    超薄PCB变压器是一种新型的电力变压器,与传统的铁芯变压器相比,具有许多优势劣势。本文将详细介绍这些优势劣势,并探讨其应用前景。 一、优势
    的头像 发表于 12-21 14:50 593次阅读

    网宿基于QUIC的技术方案实践

    网宿基于业务场景和网络环境的实战也发现,QUIC优化效果明显。以直播业务为例,使用同一服务器,推两路1M码率的直播流到同一边缘节点,在丢包20%的情况下,QUIC的流畅度比TCP高20%,首包时间比TCP少0.2-0.8秒,传输性能显著提升。
    发表于 12-05 13:56 174次阅读
    网宿基于<b class='flag-5'>QUIC</b>的技术方案实践

    springcloud的优势劣势

    、数据流等功能。Spring Cloud 的优势劣势如下: 优势: 简化开发:Spring Cloud 提供了一系列的开发工具和框架,使得微服务开发变得更加简洁和高效。开发人员可以通过使用Spring Cloud的组件和工具,
    的头像 发表于 12-03 16:22 682次阅读

    密集波分复用(DWDM)的优势劣势

    密集波分复用(DWDM)的优势劣势  密集波分复用(DWDM)是一种光纤通信技术,可通过在同一光纤上传输多个波长的光信号来实现高带宽传输。DWDM技术已经被广泛应用于现代光通信网络中,它具有许多
    的头像 发表于 11-28 15:39 902次阅读

    了解千兆光模块和万兆光模块的优势劣势

    千兆光模块和万兆光模块是当前光纤通信领域中常见的两种光模块。它们分别适用于不同的网络通信需求,并各有优势劣势。本文将重点讨论千兆光模块和万兆光模块的优势劣势,并对未来发展趋势进行探
    的头像 发表于 10-30 11:36 416次阅读

    C++开发单片机有哪些优势劣势呢?

    在一般的IDE里面除了C可以选择还有很多常见的C++,C++开发单片机有哪些优势劣势
    发表于 10-16 07:30

    MQTT over QUIC:EMQ 携手英特尔、上海交大与全球名校共同探索下一代物联网协议

    MQTT over QUIC 将传统 MQTT 协议中基于 TCP 的传输层协议替换为了 QUIC(Quick UDP Internet Connections)。与 TCP 不同,QUIC
    的头像 发表于 09-27 17:16 846次阅读
    MQTT over <b class='flag-5'>QUIC</b>:EMQ 携手英特尔、上海交大与全球名校共同<b class='flag-5'>探索</b>下一代物联网协议

    探索电信物联流量卡有哪些优势

    探索电信物联流量卡有哪些优势
    的头像 发表于 09-15 16:39 276次阅读

    探索第5代光纤通道的优势

    电子发烧友网站提供《探索第5代光纤通道的优势.pdf》资料免费下载
    发表于 08-30 11:50 0次下载
    <b class='flag-5'>探索</b>第5代光纤通道的<b class='flag-5'>优势</b>

    一文读懂QUIC协议:更快、更稳、更高效的网络通信

    HTTP/3 是第三个主要版本的 HTTP 协议。与其前任 HTTP/1.1 和 HTTP/2 不同,在 HTTP/3 中,弃用 TCP 协议,改为使用基于 UDP 协议的 QUIC 协议实现。所以
    的头像 发表于 08-24 15:43 793次阅读
    一文读懂<b class='flag-5'>QUIC</b>协议:更快、更稳、更高效的网络通信

    充电桩的优势劣势有哪些?

    充电桩的优势劣势有哪些? 充电桩是一种专门为电动汽车充电的电力设备,可以帮助电动汽车用户在无需前往加油站的情况下快速便捷地完成充电。近年来,随着电动汽车的普及,充电桩的需求量迅速增加。本文将详细
    的头像 发表于 08-22 17:06 5590次阅读

    QUIC是如何工作的?为什么HTTP/3要选择QUIC协议?

    QUIC发布之前,HTTP 使用 TCP 作为传输数据的底层协议。随着移动互联网的不断发展,人们对实时交互和多样化网络场景的需求越来越大。
    的头像 发表于 08-10 17:21 1231次阅读
    <b class='flag-5'>QUIC</b>是如何工作的?为什么HTTP/3要选择<b class='flag-5'>QUIC</b>协议?

    激光焊接有哪些优势劣势

    激光焊接是一种高精度的焊接技术,利用激光束将金属材料加热至熔化点以实现焊接。它在工业领域中得到广泛应用,具有许多优势劣势。本文将介绍激光焊接的优势劣势,并对其在各个领域中的应用进行
    的头像 发表于 07-05 17:16 1750次阅读