互联网的未来:为什么我们需要 HTTP/3?

9adce506cb2ba2bb0976b23509a45cdf.png

来源:SDNLAB

*本文系SDNLAB编译自Ably博客

自1997年HTTP/1.1标准化以来,一直是首选的应用层协议。多年来,为了跟上互联网的发展和网络上交换内容的多样性,HTTP 不得不进行升级。本文展示了 HTTP 协议的演变,深入探讨了 HTTP/3,重点介绍了 HTTP/3 的特性,最后展望了HTTP/3 驱动下互联网的未来。

HTTP/3 的出现

HTTP 催生互联网

当 Tim Berners-Lee 构想互联网时,HTTP(超文本传输协议) 是一个“单行协议”。HTTP/0.9 由 ASCII 文本字符串请求组成:GET method,后跟文档地址、可选的端口地址,以回车符 (CR) 和换行符 (LF) 结尾。请求由一串 ASCII 字符组成,只能传输 HTML 文件,没有 HTTP 报头,也没有状态或错误代码。 

多年来,HTTP 从 HTTP/1.0 发展到 HTTP/1.1,再到 HTTP/2。在每次迭代中,都会向协议中添加新特性,以满足当时的需求,例如应用层要求、安全考虑、会话处理和媒体类型。

52383db849b1b24bc801fdc7ca851262.jpeg

c64d236b5e4911755a996152487a4a9d.jpeg

HTTP/2 面临压力

在 Internet 和 HTTP 的发展过程中,HTTP 的底层传输机制基本没有变化。然而,随着移动设备技术的大规模普及,实时应用需求的增加,互联网流量不断增长,HTTP/2 的缺点也越来越明显。

其一,HTTP/2 的最终版本并没有在 HTTP/1.1 基础上改进很多。为了保持与 HTTP/1.1 的向后兼容,该协议必须保留相同的 POST 请求、GET请求 、状态代码(200、301、404 和 500)等。 

其二,一些已实现的功能带来了安全问题。除了遗留的强制加密缺失之外,还包括容易受到攻击的压缩页面报头和 cookie。

HTTP/3 的目标是解决 HTTP/2 的传输相关问题,可以在各种设备上提供快速、可靠和安全的 Web 连接。为此,它使用了一种名为 QUIC 的协议,该协议运行在UDP互联网协议之上,而不是TCP。 

与 TCP 的有序消息交换方案不同,UDP 允许消息的多向广播,这一特性有助于解决数据包级别的队头阻塞 (HoL) 问题。

4c8a7fdac02eba3509867f1830f5518c.jpeg

TCP 和 UDP 中消息排序的区别(SYN=同步;ACK=确认)

此外,QUIC 重新设计了客户端和服务器之间握手的方式,减少了与建立重复连接相关的延迟。

4de5a662619d3e4a0fd54fb13e0f692f.jpeg

TCP、TCP+TLS 和 QUIC 中重复连接数据第一个字节的消息数

HTTP/3 的出现

在IETF正式标准化 HTTP/2 的同时,谷歌正在独立构建新的传输协议 gQUIC,可以在网络状况不佳的情况下改善浏览体验。 

采用 gQUIC 的呼声越来越高,它被重新命名为 QUIC。大多数 IETF 成员投票决定为 HTTP 建立一个新的规范以在 QUIC 上运行(HTTP over QUIC),也就是 HTTP/3。

HTTP/3 在语法和语义上与 HTTP/2 相似,遵循着相同的请求和响应消息交换顺序,其数据格式包含方法、报头、状态码和正文。HTTP/3 的显着差异在于 UDP 之上协议层的堆叠顺序,如下图所示。 

a9fbdc75d00b8388dbf22fedb295ea1f.jpeg

HTTP/3 中的堆叠顺序显示 QUIC 与安全层和部分传输层重叠

HTTP/3 和 QUIC 如何解决 TCP 的局限性

HTTP/3 功能的优势来自于底层的 QUIC 协议。在我们讨论 QUIC 和 UDP 之前,先了解一下TCP 发展的局限性。

576a63b4977ab7582fd7a08e28bb7edb.jpeg

QUIC 中使用UDP 不会在出错时请求数据重发

TCP的局限性

TCP 会间歇性挂起数据传输

如果序列号较低的数据段尚未到达/接收,即使序列号较高的段已经到达/接收,TCP 的接收器滑动窗口也不会前进。这会导致 TCP 流暂时挂起甚至关闭,这个问题称为 TCP 流的队头阻塞 (HoL) 。

ff876487e062a66e18a97d79b4814513.jpeg

数据包级别的队头阻塞会导致 TCP 流关闭

TCP 不支持流级多路复用

虽然 TCP 允许与应用层之间的多个逻辑连接,但它不允许在单个 TCP 流中多路复用数据包。使用 HTTP/2,浏览器只能打开一个与服务器的 TCP 连接。它使用同一个连接来请求多个对象,例如 CSS、JavaScript 和其他文件。在接收这些对象时,TCP将同一流中的所有对象序列化。因此,它不知道TCP段的对象级分区。

TCP 导致冗余通信

在进行连接握手时,TCP 交换一系列消息,如果与已知主机建立连接,会有冗余的消息交换序列。

61ac409b3181e89eeec0b478ed0062fa.jpeg

使用 TLS 加密通信会话开始时的TCP+TLS 握手

QUIC

QUIC协议在以下设计的基础上,通过引入一些底层传输机制的改变,解决 TCP 的这些限制。

选择UDP作为底层传输层协议

如果还在TCP 之上的建立新的传输机制,将仍继承前面所说的TCP限制。QUIC 是在用户级别构建的,它不需要在每次协议升级时更改内核,从而更易采用。

流复用和流量控制

QUIC 引入了在单个连接上多路复用流的概念。QUIC 实现了单独的、逐流的流量控制,从而解决了整个连接的队头阻塞问题。

b3c6b909e3c7b6dc881e038114a503f3.jpeg

使用 UDP,没有包级的队头阻塞

灵活的拥塞控制

TCP有严格的拥塞控制机制。每次 TCP 协议检测到拥塞时,它都会将拥塞窗口的大小减半。QUIC 的拥塞控制更加灵活,可以更有效地利用可用网络带宽,从而获得更好的流量吞吐量。

更好的错误处理

QUIC 提议使用增强的丢失恢复机制和前向纠错来处理错误的数据包,尤其是对于在传输中容易出现高错误率的缓慢的无线网络。

更快地握手

QUIC 使用与 HTTP/2 相同的 TLS 模块来实现安全连接。然而,与 TCP 不同的是,QUIC 的握手机制经过优化,可以避免在两个已知对等点相互建立通信时进行冗余协议交换。

使用 TCP 和 TLS 建立安全连接至少需要两次往返时间 (RTT),增加了延迟开销。使用 QUIC,建立第一个加密连接是 1 个RTT,当会话恢复时,有效负载数据与第一个数据包一起发送,RTT 最少为零。

24cb5e2f203642ab509ac7d075502528.jpeg

第一次连接和后续连接之间不同协议的 RTT 数量比较

语法和语义

通过在QUIC之上构建基于HTTP/3的应用层,可以获得增强传输机制的所有优势,同时保留与 HTTP/2 相同的语法和语义。但是HTTP/2 不能直接与 QUIC 集成,因为从应用到传输的底层帧映射是不兼容的。因此,IETF 的 HTTP 工作组建议将 HTTP/3 作为新的HTTP 版本,并根据 QUIC 协议的帧格式要求修改其帧映射。

压缩

HTTP/3 还使用了一种称为 QPACK 的新报头压缩机制,是对 HTTP/2 中使用的 HPACK 的修改。在 QPACK 下,HTTP 报头可以在不同的 QUIC 流中乱序到达。QPACK 使用了一种查找表机制来对报头进行编码和解码。

为什么 HTTP/3 很重要?

TCP 已经存在了40多年。它最初于 1981 年通过 RFC 793 标准化。多年来,它被证明是一个支持互联网流量增长的非常强大的传输协议。然而,在设计上,TCP 不适合处理有损无线介质上的数据传输。

在互联网的早期,有线连接是唯一的连接方式,所以这在当时来说不是什么大问题。但现在,智能手机和便携式设备的数量超过台式机和笔记本电脑,超过 50% 的互联网流量是通过无线传输的。随着这种增长,整体 Web 浏览体验随着响应时间的增加而恶化。

谷歌首次旨在解决 HoL 的测试证明,将 QUIC 作为谷歌服务的底层传输协议大大提高了响应速度和用户体验。将 QUIC 部署为 YouTube 视频的底层传输协议,谷歌报告称重新缓冲率下降了 30%,这对视频观看体验有直接影响。

在网络条件较差的情况下提升非常明显,这促使谷歌更加积极地改进协议,最终将其提交给 IETF 进行标准化。

凭借这些早期试验带来的改进,QUIC 已成为将网络带入未来的重要组成部分。

HTTP/3 的最佳用例

HTTP/3 的目的是改善整体网络体验,尤其是在高速无线互联网访问仍然不可用的地区。尽管 HTTP/2 非常适合其中的一些应用程序,但 HTTP/3 在以下场景中更有价值:

物联网 (IoT)

由于其局限性, HTTP 可能不是 IoT 的首选协议,但有些应用程序非常适合基于 HTTP 的通信。例如,HTTP/3 可以解决从附加传感器收集数据的移动设备的无线连接有损问题。这也适用于安装在车辆或移动资产上的独立物联网设备。

微服务

在微服务网格中,为了获取数据,遍历所有微服务会浪费大量时间。QUIC 的优势在于握手次数较少,因此可以在几毫秒内传递这些请求。HTTP/3 在这里的好处不在于大数据的吞吐量,而在于加速每个微交互。

网络虚拟现实 (VR)

随着浏览器功能的不断改进,内容格局也会相应发生变化。其中一个变化领域是基于网络的 VR。尽管仍处于起步阶段,但在许多情况下,VR 在增强协作方面发挥着关键作用。VR 应用程序需要更多带宽来呈现虚拟场景的复杂细节,因此迁移到HTTP/3会大有收获。

HTTP/3 的局限性

过渡到 HTTP/3 不仅涉及应用层的变化,还涉及底层传输层的变化。因此,与其前身 HTTP/2 相比,采用 HTTP/3 更具挑战性,后者只需要在应用层进行更改。 

传输层要经过网络中间层的严格审查,如防火墙、代理、NAT 设备等,为了满足其功能需求,需要进行大量的深层包检测。因此,新传输机制的引入会对 IT 基础架构和运营团队产生了一些影响。

安全服务通常建立在应用程序流量(大部分为 HTTP)将通过 TCP 传输的前提下,TCP是以可靠性为中心、面向连接的协议。对 UDP 的更改可能会对安全基础设施解析和分析应用程序流量的能力产生重大影响,因为 UDP 是一种基于数据包的协议,而且可能不可靠。

另一个问题是,TCP目前是大多数web通信的首选协议,防火墙的默认数据包过滤策略可能能不支持长时间运行HTTP/3的UDP会话。

结论

HTTP/3 可以被认为是通过 QUIC 传输的 HTTP 语义,QUIC 是默认的加密传输协议,使用 UDP 进行拥塞控制。并不是 HTTP/2 的所有特性都可以映射到 QUIC 之上。一些 HTTP/2 功能需要顺序保证,虽然 QUIC 可以在单个流中提供这种保证,但它不能跨流提供相同的保证。因此,需要对 HTTP 进行新的修订。

QUIC 的两个主要目标是解决数据包级别的队头阻塞并减少 HTTP 连接和流量中的延迟。使用 UDP 允许多路复用和轻量级连接建立,改善了最终用户在低质量网络上的体验。

通过一些更改,IETF 验证了 HTTP-over-QUIC 的概念,并将其重命名为 HTTP/3。2022年6月6日,IETF QUIC 和 HTTP 工作组成员 Robin Marx 宣布,经过 5 年的努力,HTTP/3 正式被标准化为 RFC 9114,同时,HTTP/2 也更新为 RFC 9113标准,HTTP/1.1 和通用 HTTP 语义和缓存概念在 RFC 9110-9112 中也得到了加强。

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)大脑研究计划,构建互联网(城市)大脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。每日推荐范围未来科技发展趋势的学习型文章。目前线上平台已收藏上千篇精华前沿科技文章和报告。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

e4454d8cdff2030122cbf652215d02e2.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/481333.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

评估深度学习模型以预测表观基因组概况

编辑 | 萝卜皮深度学习已经能够成功预测 DNA 序列的表观基因组图谱。大多数方法将此任务定义为二元分类,依赖峰值调用者来定义功能活动。最近,出现了定量模型来直接预测实验覆盖值作为回归。随着具有不同架构和训练配置的新模型不断出现,由于…

DeepMind携AlphaCode登Science封面,写代码能力不输程序员

来源:机器之心编辑:小舟、陈萍AI 卷到程序员自己身上了。今年年初,DeepMind 发布了基于 Transformer 的新模型 AlphaCode,该模型实现了大规模代码生成。现在,AlphaCode 又在《Science》上发表了新论文,研究…

微软 CTO 断言,明年是AI社区最激动人心的一年,网友:GPT-4 要来了?

来源:AI前线 整理:褚杏娟 核子可乐GPT 不出,AI 万古如长夜。“对于人工智能,2022 年是有史以来最激动人心的一年。”微软首席技术官 Scott Stein 在近日的分享中说道,但他还自信地表示,“2023 年将是 AI 社…

以“开放同行评议”推动学术发展

来源:《中国社会科学报》图片来源:CFP同行评议是指同一领域的专家学者评议研究人员稿件,确定学术论文是否适合发表、提出意见的过程。同行评议一直是学术期刊出版的重要基石。然而,学术界关于同行评议中的偏见和不利影响的争论&am…

2022年,人工智能领域发展的七大趋势有哪些?

来源:福布斯官网美国《福布斯》网站在近日的报道中指出,尽管目前很难想象机器自主决策所产生的影响,但可以肯定的是,当时光的车轮到达2022年时,人工智能领域新的突破和发展将继续拓宽我们的想象边界,其将在…

DeepMind VS Meta:实现纳什均衡理性最优解,还是多人非零和博弈算法更强大?

大数据文摘转载自AI科技大本营编译 & 整理:杨阳记得豆瓣高分电影《美丽心灵》中的约翰纳什吗?作为获得诺贝尔经济学奖的数学家,纳什在博弈论、微分几何学,以及偏微分方程等各个领域都作出卓越贡献。为表彰他在非合作博弈理论中…

【萌味】小夕说,不了解动态空间增长的程序喵都是假喵(上)

小提示:小夕会将小屋的最新动态更新到小屋的布告栏哦,口令是【nb】(口令在订阅号主界面直接回复即可使用)。 小夕学了数据结构后,知道了链表、树、哈希表等数据结构与静态数组的固定容量不同,它们…

马斯克脑机接口公司被查,曾宣布6个月内进行人体试验

来源:医谷文:医谷近日,据路透社报道称,因涉嫌违反动物保护相关内容,马斯克的脑机接口公司Neuralink正面临美国联邦部门的调查。据称,其现任和前员工指出,由于马斯克要求加快研发速度的高压要求&…

【萌味】小夕说,不了解动态空间增长的程序喵都是假喵(中)

亲爱的小屋客人,昨天小夕将小屋的讨论室重新装修啦!希望您会喜欢哦~除了口令[d],现在也可以通过主页下方的“喵了个咪”进入讨论室啦。ps:昨天小夕装修讨论室的时候发生了N次差点吐血的事件,明天小夕与大家含泪分享T_T…

马斯克点赞!DeepMind神AI编剧,一句话生成几万字剧本

来源:机器学习研究组订阅你有灵光乍现的时刻吗?就是那种:这点子太好了,要是拍成电影一定能大火?之前这种想法可能只能停留在你的脑海中,而现在,一个「AI编剧大师」的出现,或许能让你…

“东数西算”之五大热点问题探讨

"“东数西算”无疑是2022年一大热词,产业界和学术界就该话题进行了深入的研究探讨。"整体上来看,“东数西算”的实施,一方面是为了更好地利用西部相对优惠的电力资源和优异的气候条件,推动数据中心的优化布局和产业整体…

科普一下人工智能领域的研究方向

路人甲:“你是学什么的?” 小夕:“学计算机嗒~” 路人甲:“哦哦,那你ps肯定很厉害!” 小夕:“我不会,我是做人工智能的。” 路人甲:“哦哦,做机器人的啊&…

编程神器Copilot被官司搞怕了?月收费19美元的商业版将提供辩护服务,最高索赔50万美元...

来源:AI前线作者:凌敏、核子可乐Copilot 的商业化“虽迟但到”。GitHub 推出商业版 Copilot据外媒 theRegister 报道,GitHub 旗下的 AI 编程神器 Copilot 现已推出商业版本,每月收费 19 美元(约合 133 元人民币&#x…

【激萌】人工智能大地图-生存能力篇

小屋的喵喵们,讨论室的投票明天就要截止了,还没有投票的喵喵快来啦。通过口令[d]或者主界面下方“喵了个咪”菜单即可进入讨论室哦。本文的封面图还是小夕设计的哦~喜欢吗(⁎⁍̴̛ᴗ⁍̴̛⁎)路人甲:“你是学什么的?”小夕&#…

Nature经典回顾:大脑中统一的物体空间模型

导语大脑能够轻而易举的完成物体识别,这一过程主要在大脑的下颞叶皮层进行。研究已经发现下颞叶皮层存在面孔、身体、场景等类别选择性区域,然而,仍有大部分下颞叶皮层未发现已知的功能特异性。这就带来一系列问题:未被理解的大片…

小夕说,不了解动态空间增长的程序喵都是假喵(下)

小夕在本系列前两篇文章中为大家介绍了各类数据结构的扩容策略,且在上篇文末,小夕提到了加倍式扩容中,倍率采用2并不是最优的,为什么呢?有没有最优倍率呢?内存复用如果倍率采用2甚至更大的数,那…

ChatGPT 与AI大模型发展简要综述

来源:数据观综合编辑:蒲蒲"日前,美国硅谷的初创公司OpenAI推出了一款新的人工智能对话模型ChatGPT,模型中首次采用RLHF(从人类反馈中强化学习)方式。目前,模型处于测试阶段,用户…

Nature Reviews Physics:人工智能怎样促进科学理解

导语一个能正确预测每个粒子物理实验结果、每个可能的化学反应产物或每个蛋白质的功能的先知将彻底改变科学和技术。然而,科学家们不会完全满意,因为他们想了解先知是如何做出这些预测的。这就是科学理解(scientific understanding&#xff0…

史上最萌最认真的机器学习/深度学习/模式识别入门指导手册(一)

喵喵喵~大家元宵节快乐噢。有没有要陪小夕出去看烟花的吖...小夕借此给热爱学习的喵喵们献上这篇拙文,希望不要嫌弃哦~还有,小夕画的封面图是不是很棒呀( ̄∇ ̄)小夕发现现在想进军人工智能领域的程序yuan甚至少年少女喵好多呀&…

OpenAI ChatGPT走红,DeepMind不甘示弱,推出剧本写作AI,一句话生成一个剧本

来源:机器学习研究组订阅Dramatron似乎在一定程度上克服了AI大模型写长剧本前后不连贯的问题。你是否有过这种体验:某一天逛街的时候,脑子里突然冒出来一个好玩的故事,但你一时想不到更多的细节,也没有一块完整的时间去…