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

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

3天内不再提示

发明QUIC的原因以及QUIC的使用人群

LiveVideoStack 来源:Compira Labs 作者:Ravid Hadar 2022-06-08 10:13 次阅读

当上世纪70年代TCP被发明的时候,我想没有人会预料到50年之后我们仍然在使用它。但事实是,我们现在还在使用TCP。

在过去几十年中,TCP不断发展,并新增了与可靠数据传输、流量控制、拥塞控制等相关的各种特性。但许多研究者以及包括我在内的从业者都认为TCP已至末路。自从TCP发明以来,互联网已经成为社会生活中非常重要的组成部分,但遗憾的是,TCP并没有与时俱进以满足不断增长的需求。

不过鼓舞人心的消息是,在代替TCP方面,有一位最重要的“候选人”——它能够使互联网传输继续发展,并解决许多困扰互联网多年的问题。具体来说,这个有可能替代TCP的协议被人们称为QUIC,人们对QUIC的出现激动不已。但这种激动是否合理,我们将在今后的文章说明。本文我们将来了解发明QUIC的原因以及QUIC的使用人群。

什么是QUIC?

QUIC是一种通用、安全、多路复用的传输层新型网络协议。它的目的是替代TCP(目前是互联网上用于数据传输的主流协议)。2012年,QUIC协议由当时还在谷歌任职的Jim Roskind开发。2013年,QUIC正式对外公布。

2015年,QUIC被提交给IETF进行标准化,但是直到六年以后,也就是2021年5月,IETF才发布了第一版标准化的QUIC,被命名为RFC 9000。同时,IETF还发布使用了QUIC的HTTP/3标准化版本。

QUIC吸纳了很多与TCP类似的属性,还有TLS加密,将它们置于UDP传输之上的应用层中。

为什么需要QUIC?

虽然TCP已经“英勇地”服务多年,但它很可能已经走到了尽头。它最初设计用于有线互联网,根本没有想到今天的无线互联网会发展到如此容量和规模。许多专家很清楚,它无法适应今日互联网的发展。而QUIC的出现可以使网络更快、更高效、更安全,而最重要的是,可以不断发展。

在QUIC出现以前,TCP的主要替代选择是UDP。简而言之,TCP提供了可靠的互联网传输,其中可以确保数据的传输,而UDP提供了更快、但却非可靠的传输。QUIC的目的就是结合TCP的最佳特性和UDP传输层。

TCP的主要限制包括:

TCP仅定义了40字节的可选位,且几乎全部填满。结果就是,没有新特性的位置了。

许多中间件(如防火墙)假设TCP数据包将以某种确定方式构造。如果数据包与它们的预期相差太大,就会被拒绝或者延迟,这使得TCP协议几乎无法发展。

由于TCP在内核里实现,那么任何TCP传输的更新都需要经过新的内核修改。对于一些基础设施相对陈旧的公司来说,需要耗费数年才能采用新的特性。

TCP是传输层,没有内置加密(即TLS),所以它需要在上层增加。导致的结果就是需要很长时间才能建立安全连接,并且一些通过TCP传输的数据(比如数据包头部)没有被加密,从而产生安全漏洞。

QUIC和HTTP/3一起使用的目的就是代替HTTP/1(或2)和TCP的组合,以及解决TCP协议所带来的一些已知问题。

QUIC如何解决TCP所带来的挑战?

首先,在UDP之上构建QUIC这一务实的决定所带来的优势相当明显。UDP在互联网上被广泛部署,所以无需从零开始定义传输层(如从零开始,可能要耗费几十年)。

相较于TCP,UDP的开销要少很多,这个特点使它更快速、更简单也更高效。但它存在一个重大缺陷,那就是缺乏可靠性。UDP无法确保每个通过它发送的数据包传输,也无法确保数据包以准确顺序发送给接收方。

QUIC继承了TCP的特性,将它们构建于UDP之上,并添加了更多其他特性。TCP是传输层,TLS和HTTP2位于其上方的应用层,QUIC同时包含了应用层和传输层机制。因此,它的目的就是代替TCP传输层。

QUIC使用UDP作为底层传输协议,同时内置TLS加密,并结合了TCP的可靠性相关特性。QUIC在应用层(即用户空间)获得进一步实现。因此,无需更新内核,你就可以进行大量修改。

谁在使用QUIC?

作为一种通用传输协议,QUIC可以用于许多基于互联网的工作流,但部署的第一步就是将网页浏览转移到QUIC,因为它所带来的最直接的好处就是基于HTTPS的Web浏览。

作为TCP的继任者,QUIC只能与HTTP/3一起使用。为了使用该协议,客户端和网站都需要支持它,但因为只有少数网站使用HTTP/3,所以这也成为了QUIC协议被广泛采用道路上的一个阻碍。根据W3Tech[1],截止2021年10月2日,约35%的网站仍然在使用HTTP/1;约45%的网站迁移到了HTTP/2,而只有大约20%的网站正在使用HTTP/3和QUIC。

截止2021年中旬,QUIC占据了互联网流量的12%。谷歌是第一家(也是最有名的)采用QUIC协议的公司(毫不意外,毕竟QUIC协议是由谷歌员工开发的)。在其生态中,谷歌拥有自己的服务器、应用程序、服务和客户端,所以它很容易实现QUIC,并将众多应用迁移到新的框架。30%的YouTube流量已经转移到了QUIC。

接着是Facebook(现更名为Meta),它已经将70%的流量迁移到了QUIC。Facebook和Instagram移动应用程序都已经在最大限度地使用QUIC。

这就是QUIC协议采用所面临的现状。微软只有少量流量使用了QUIC;在流媒体领域,只有YouTube和Facebook Live支持了QUIC。流媒体视频接近80%的Web流量,大部分依然使用的是TCP。流媒体巨头公司Netflix和Amazon Prime都没有支持QUIC。不过,微软有将其VPN产品从TCP迁移到QUIC的倾向[2]。

目前支持QUIC的生态包括:

浏览器:Chrome(默认)、Edge、Firefox、Safari和其他默认使用TCP的浏览器(但将QUIC作为可选选项)。

应用:所有来自谷歌的应用,如Gmail和YouTube;Facebook的应用;Uber。

服务器/CDN:Akamai、微软、Apple、谷歌、Cloudflare、Fastly、Caddy和NetApp。其中一些CDN已经验证了QUIC的实现,但几乎它们所有的流量都还在使用TCP。

Web服务器:LiteSpeed、H20、Ngnix和Apache。

负载均衡器:LiteSpeed和F5 BIG-IP。

技术社区项目:基于chromium实现的libquic、反向代理(充当反向代理服务器的Docker镜像)。

编程语言:Go(quic-go)、Quic.NET(C#)。

如你所见,基于Web的基础设施已经开始向QUIC迁移,但是在大多数情况下,QUIC还不是默认选项,而且一些大公司依然没有支持QUIC。

为什么这么久才推出QUIC?

QUIC依然是一个新标准,它的目的是重新设计互联网的诸多方面。而对如此众多的特性进行标准化需要时间。虽然QUIC在2013年首次提交给IETF,但直到2021年5月才正式推出,所以它仍然没有获得不同生态的完全支持。

QUIC首次公布与正式标准化之间相隔时间太久,这使得很多厂商开始开发自己的协议版本。他们在获取到最初发布的QUIC后,将自己的版本构建在其上。但是他们所使用的协议不同于最终及官方版本。因此,QUIC有很多不同的版本,其中一些并不支持官方版本的必备特性,且不同的厂商需要时间将自己的版本调整为与2021官方版本保持一致。我们可以看到,这种过渡还出在早期阶段,比如实现了自己的gQUIC版本的谷歌正在迁移到IETF发布的QUIC版本。

也就是说,更加广泛的QUIC采用依然要面临许多挑战,包括企业安全规定对QUIC的接受度、支持TCP回退的请求以及规范依然相当基础这一事实。我将在后续文章中更加详细地说明其中一些挑战。

QUIC拥有互联网传输的潜力

TCP是为过去的互联网时代所设计的协议,它无法适用于今日的互联网,而QUIC的目的是解决TCP的许多问题,使互联网变得更安全、更灵敏并且可以不断发展。需要谨记的是,我们现在仍处在QUIC协议部署的早期阶段,接下来的几年我们将见证它是否能够完成成为TCP继任者的使命。QUIC的潜力不仅仅是成为TCP的替代方案,它在实时协议上的一些标准化举措有可能使其代替在视频会议和云游戏中使用的实时通信协议(如WebRTC)。

审核编辑 :李倩

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

    关注

    3

    文章

    265

    浏览量

    21501
  • Quic
    +关注

    关注

    0

    文章

    25

    浏览量

    7287

原文标题:QUIC和互联网传输的未来

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

收藏 人收藏

    评论

    相关推荐

    分析波峰焊时产生连锡(短路)的原因以及解决办法

    随着我国高科技产品的不断发展,现在机械设备中的线路板工艺设计越来越复杂,引线脚之间的间距越来越密集,很容易导致焊接之后产生连锡现象,也就是短路。为此,我们应该如何分析波峰焊连锡的原因以及找到相对
    的头像 发表于 10-23 16:24 222次阅读
    分析波峰焊时产生连锡(短路)的<b class='flag-5'>原因</b><b class='flag-5'>以及</b>解决办法

    华纳云:探讨可用于降低服务器网络延迟的先进的网络协议

    QUIC和WebSocket,分析它们如何在不同场景下减少服务器网络延迟,并提供实现建议。 1. 引言 在现代互联网应用中,用户对加载速度和响应时间的要求越来越高。网络延迟直接影响到用户体验,因此优化网络通信变得尤为重要。传统的网络协议,如
    的头像 发表于 09-30 15:14 146次阅读

    QUIC在京东直播的应用与实践

    一. 前言与背景 国内的互联网直播技术从2005年前后兴起,彼时最具代表性的直播产品是由PPLive创始人姚欣在华中科技大学就读期间发起的校园直播项目PPLive。当时的直播技术用的还是基于windows系统自带的mediaplayer内置的COM组件开发的播放器,采用的是RTSP协议。受当时的互联网传输带宽及成本限制,PPLive并没有采用现在比较流行的单播技术,而是采用P2P技术分发直播流。国内的直播技术也进入了一段以P2P技术为主的时期,其中比较有代表性的就是PPLive和
    的头像 发表于 08-29 14:37 278次阅读
    <b class='flag-5'>QUIC</b>在京东直播的应用与实践

    报名开启!深圳(国际)通用人工智能大会将启幕,国内外大咖齐聚话AI

    8月28日至30日,2024深圳(国际)通用人工智能大会暨深圳(国际)通用人工智能产业博览会将在深圳国际会展中心(宝安)举办。大会以“魅力AI·无限未来”为主题,致力于打造全球通用人工智能领域集产品
    发表于 08-22 15:00

    中移芯昇获第49届日内瓦国际发明展银奖

    近日,第49届日内瓦国际发明展在瑞士闭幕。芯昇科技有限公司(以下简称中移芯昇)项目《一种接触者追踪方法与装置》参展,并斩获银奖。日内瓦国际发明
    的头像 发表于 07-10 08:18 572次阅读
    中移芯昇获第49届日内瓦国际<b class='flag-5'>发明</b>展银奖

    大模型应用之路:从提示词到通用人工智能(AGI)

    大模型在人工智能领域的应用正迅速扩展,从最初的提示词(Prompt)工程到追求通用人工智能(AGI)的宏伟目标,这一旅程充满了挑战与创新。本文将探索大模型在实际应用中的进展,以及它们如何为实现AGI
    的头像 发表于 06-14 10:20 2097次阅读
    大模型应用之路:从提示词到通<b class='flag-5'>用人</b>工智能(AGI)

    谷歌Chrome浏览器抗量子加密算法被指破坏TLS握手,导致部分网站无法被访问

    谷歌自去年8月起便开始测试后量子安全TLS密钥封装机制,通过采用TLS 1.3及QUIC连接的Kyber768抗量子密钥协商算法,以提升ChromeTLS流量的安全性。
    的头像 发表于 04-30 14:22 540次阅读

    【RTC程序设计:实时音视频权威指南】信令与媒体协商

    ,甚至可以进行错误处理和故障恢复。信令存在于通信过程中的各个方面。信令通道除了最常见的tcp外,还可以通过应用层协议http、webRTC、quic等协议进行传输,这些协议存在于不同的应用场景。对于一个
    发表于 04-29 17:24

    华为武云骥:5.5G智能分组核心网,迈向体验经营新时代

    (Intelligent Personalized Experience)体验专线和MoQ(Media over Quic)新媒体网络技术,助力运营商实现经营模式转型。
    的头像 发表于 02-29 16:20 509次阅读

    怎么解决蓝牙自动断开的原因

    设备之间的无线连接。然而,一些用户常常遇到蓝牙自动断开的问题。当设备无法持续连接蓝牙时,用户可能会感到沮丧。本文旨在详细说明蓝牙自动断开的原因以及如何解决这个问题。 可能的原因 蓝牙自动断开问题可能由多种
    的头像 发表于 01-04 10:37 3w次阅读

    使用相序识别仪时,常见故障原因以及处理方式概述

    使用相序识别仪时,常见故障原因以及处理方式概述  相序识别仪(Phase Sequence Relay)是一种用于工业和家庭电气系统中的设备,主要用于检测和纠正电源的相序错误。然而,相序识别仪也
    的头像 发表于 12-19 15:04 1281次阅读

    QUIC在零信任解决方案的落地实践

    一 前言 ZTNA为以“网络为中心”的传统企业体系架构向以“身份为中心”的新型企业安全体系架构转变,提供解决方案。随着传统网络边界不断弱化,企业SaaS规模化日益增多,给终端安全访问接入创造了多元化的空间。其中BYOD办公方式尤为突出,移动化办公确实为个人提升了效率,为组织节省了成本;但是给业务系统的安全接入,业务处理及时响应上带来了成本和挑战。需要我们思考是否引入非传统的技术点来解决用户需求侧的痛点,同时保障整体方
    的头像 发表于 12-18 11:41 386次阅读
    <b class='flag-5'>QUIC</b>在零信任解决方案的落地实践

    电机的故障检修程序及原因有哪些?

    长期工作、负载过重等造成对线圈绕组的损害,积尘过多造成绕组老化、匝间短路等。 3.人为原因 人为原因包括运输过程中的剧烈振动和过分颠簸,以及用户乱拆、乱改而造成故障的原因。维修人员在检
    的头像 发表于 12-08 12:59 965次阅读
    电机的故障检修程序及<b class='flag-5'>原因</b>有哪些?

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

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

    通俗易懂的PCB爆板原因以及玻璃转换温度

    【科普】通俗易懂的PCB爆板原因以及玻璃转换温度
    的头像 发表于 11-24 16:01 1029次阅读
    通俗易懂的PCB爆板<b class='flag-5'>原因</b><b class='flag-5'>以及</b>玻璃转换温度