需要云计算吗? 即刻开始体验

利用 HTTP/3 提供快速、可靠且安全的网络体验

Julio Chaves

寫於

Julio Chaves

May 31, 2023

Julio Chaves

寫於

Julio Chaves

Julio Chaves 是一位视频游戏爱好者,但在职场上,他是一位产品营销人员,在过去 3 年多的时间里,他一直运用创意打造产品宣传信息、企业活动和传播内容。作为服务与支持部门的产品营销人员,Julio 专注于制定辅助上市的战略,以提升大众对于安全服务的重视程度。

HTTP/3 使网络性能和安全有了质的提升,我们很高兴能够向我们的内容交付客户提供它,而且不额外收取费用

令人兴奋的消息:HTTP/3 现在可供所有 Akamai 内容交付 客户使用。这是 HTTP/3 在全球最大规模的部署。 

HTTP/3 是超文本传输协议 (HTTP) 的最新版迭代,该版沿用了 HTTP/1.1HTTP/2 的概念,但在传输层采用了 QUIC 协议,而非 传输控制协议 (TCP)

历经多年探索,互联网工程任务组 (IETF) 于 2022 年 6 月 正式发布 HTTP/3 。作为内容交付领域的市场领导者,Akamai 一直积极参与 HTTP/3 的开发和规范制定,并已与超过 85 家客户一起完成了 12 个月以上的用户验收测试。 

Akamai 继续引领对互联网中开放式标准的支持,让数十亿人的生活更美好,每天感受数十亿次美好的瞬间,另外, HTTP/3 代表着在提高内容交付的速度、安全性和可靠性方面迈出了重要一步。 

快速适应变化:QUIC 演进

变化是自然规律,因而我们的适应能力不断受到考验,尤其是在过去 30 年里。在前几代技术的更新换代中,新技术可能需要几十年时间才能推出,但与此不同,自从有了互联网技术以后, 创新的速度呈指数级增长 。网络协议也不例外,HTTP/2 于 2015 年实现了标准化,而针对 HTTP/3 的工作始于 2018 年。 

那么,短短三年的时间里发生了哪些变化? 

答案便是 QUIC 

QUIC 于 2012 年由 Google 设计,并于 2021 年实现了标准化,这是一个基于用户数据报协议 (UDP) 的传输协议,与 TLS 1.3 深度集成。Akamai 首席架构师兼 HTTP/3 RFC 编辑 Mike Bishop 之前 深入了解了 QUIC 的起源 以及 QUIC 如何对于 HTTP/3 而言不可或缺。 

QUIC 旨在解决与 TCP 相关的大多数效率问题,包括升级版 TCP 在设备上的兼容性问题。UDP 与大多数设备兼容,且功能集较小,因而比 TCP 更为灵活。由于集成了 TLS 1.3,QUIC 减少了建立安全连接所需的网络往返次数。 

此外,QUIC 可以更好地处理数据流、保护隐私,同时改进了丢包检测和恢复。这与 HTTP 层基于 TCP 协议处理数据流的传统方法形成了鲜明对比。通过将这些功能转移到传输层,QUIC 能够提高效率并带来更好的用户体验(图 1)。 

HTTP/2 与 HTTP/3 间的高级别协议堆栈对比 图 1:HTTP/2 与 HTTP/3 间的高级别协议堆栈对比

HTTP/3:更快、更安全、更可靠

HTTP/3 沿袭了 QUIC 在传输数据时的功能,并消除了 TCP 在性能、隐私、可靠性和兼容性方面的限制。

提高性能

加载速度的提高以及延迟的降低,使 API 调用、流媒体和网页等现代在线体验受益匪浅。HTTP/3 可加快连接设置速度,从而减少 Web 服务器和客户端之间所需的往返次数。 

而采用 TCP,则需要单独的三方握手来建立连接,因而增加了延迟。另一方面,QUIC 通过与 TLS 1.3 的深度集成,将传输和加密握手组合为一次往返。这大大缩短了建立连接所需的时间(图 2)。

HTTP/3 减少了往返次数 图 2:HTTP/3 减少了往返次数

示例:大型媒体客户

以下是我们的一家超大型媒体客户的例子,该客户于 2023 年 4 月 19 日在拉美国家/地区提供欧洲足球赛事直播期间的 HTTP/3 和 HTTP/2 流量(图 3)。这两个协议版本之间的流量几乎是一比一的,且该赛事中出现了一个 4.16 Tb/s 的重要流量峰值。

2023 年 4 月 19 日的赛事直播期间出现的峰值流量 (Tb/s) 图 3:2023 年 4 月 19 日的赛事直播期间出现 4.16 Tb/s 的峰值流量

总体而言,HTTP/3 的性能优于 HTTP/2,且该客户因周转时间 (TAT) 的缩短和吞吐量的提高而受益匪浅。TAT 指标指的是从 Akamai 边缘服务器接收到 HTTP 请求的第一个字节到将响应的第一个字节放入套接字所需的时间(以毫秒为单位)。

该指标可用于度量我们服务器端的效率,对于评估 HTTP 实施的性能十分重要,同时也有助于度量端到端延迟。吞吐量指的是在某段时间内可利用协议发送和接收的数据量。

例如,在第一个阈值中,HTTP/3 请求中有 96.2% 的 TAT 低于 25 毫秒,而使用 HTTP/2 时,只有 89.7% 的请求可满足这一标准。这意味着 6.5% 的提升。此外,还需要注意的是,所有 HTTP/3 请求的 TAT 均低于 500 毫秒(表 1)。

2023 年 4 月 19 日直播期间 HTTP/3 与 HTTP/2 间的 TAT 对比 表 1.2023 年 4 月 19 日直播期间 HTTP/3 与 HTTP/2 间的 TAT 对比

在吞吐量方面,HTTP/3 在所有吞吐量水平上均优于 HTTP/2,尤其是在速率较低的情况下更是如此。在第一个阈值中,HTTP/3 明显优于 HTTP/2,其中分别有 86.2% 和 73.5% 的连接速度超过 1Mbps,这意味着提高了 12.7%。随着吞吐量水平的提高,HTTP/3 和 HTTP/2 之间的差距缩小,但 HTTP/3 在每个阈值级别上的表现仍然始终优于 HTTP/2(表 2)。

2023 年 4 月 19 日直播期间 HTTP/3 与 HTTP/2 间的吞吐量对比 表 2.2023 年 4 月 19 日直播期间 HTTP/3 与 HTTP/2 间的吞吐量对比

请注意,性能总是会受到各种因素的影响,如最终用户的位置、带宽、提供的内容类型等。虽然与 HTTP/1.x 相比,HTTP/2 的性能有了显著的改进,但 HTTP/3 的优势同样不可小觑。

缓解了队头阻塞情况

HTTP/3 提高性能的另一种方法是减少队头阻塞。在 HTTP/2 中,因依赖于 TCP,即使一个 TCP 数据包延迟或丢失,也可能导致其后的所有其他数据包被困,直到恢复为止。对于网页来说这可能是一个问题,原因如下:比如,承载 CSS 数据的单个数据包丢失不应该影响后续包含 JavaScript (JS) 代码的数据包;此问题可通过 QUIC 得以解决,因为 QUIC 会基于每个数据流(分别用于 CSS 和 JS 资源)跟踪数据包丢失,只会让实际遭受丢失或中断情况的数据流出现延迟。

Akamai 高级技术解决方案架构师兼 IETF 撰稿人 Robin Marx 在 这篇深入剖析的文章 中详细介绍了队头阻塞。此外,您还可以查看 Robin 有关其他 HTTP/3 性能提升方面的 精彩文章

专为提高可靠性而设计

HTTP/3 的一大优势在于 QUIC 在设计上更加稳健,与 TCP 相比,能够更有效地预防网络拥塞和数据包丢失。这是因为 QUIC 采用经过更新的丢失恢复和拥塞控制机制,可帮助高效、可靠地传递数据包。

HTTP/3 还使用了更出色的优先级排序方案,可进一步提升可靠性。此系统十分必要,这样一来,在数据传输过程中,重要数据的优先级便高于那些不太重要的数据。 HTTP/2 的复杂优先级树 将代之以更简单的设置,该设置采用了更易于理解和实现的简单优先级。这有助于确保即使在网络拥塞的情况下也能先交付关键数据。

增强了私密性和安全性

HTTP/3 包括一些安全增强功能,如 TLS 1.3 和传输层数据包加密,可更好地保护客户数据和敏感信息免遭潜在的安全威胁。QUIC 还吸取了从 TCP 和 UDP 中的许多经验教训,针对许多已知的拒绝服务攻击提供了内置的保护和抵御措施。对传输层的大部分元数据(如数据包编号)进行加密,会让攻击者更难推断或操控连接属性。

HTTP/3 的未来

我们相信,HTTP/3 将继续推进网络发展,塑造网络的未来,我们很期待看到它将如何改变我们与数字内容的交互。Akamai 将一如既往地致力于为客户提供出色性能,并期望不断拓展 HTTP/3 服务的范围。

此外,Akamai 还与 IETF 和万维网联盟等标准化组织一起开展其他 HTTP/3 相关工作。Akamai 专家参与推出了一系列新标准,如 WebTransport、Alt-SvcB、HTTPS DNS 记录以及 Media Over QUIC。所以,未来可期。

启用 HTTP/3 而无任何额外费用

HTTP/3 使网络性能和安全有了质的提升,我们很高兴能够向我们的内容交付客户提供它,而且 不额外收取费用。借助 QUIC,HTTP/3 可为用户提供了更快、更可靠且更安全的网络体验。

您可以立即开始使用。按照 本文档 中的指导在您的交付属性上启用 HTTP/3,或 联系我们的支持团队 以获得进一步帮助。

特别鸣谢 Robin Marx 和 Rafal Myszka 对本博文的贡献。



Julio Chaves

寫於

Julio Chaves

May 31, 2023

Julio Chaves

寫於

Julio Chaves

Julio Chaves 是一位视频游戏爱好者,但在职场上,他是一位产品营销人员,在过去 3 年多的时间里,他一直运用创意打造产品宣传信息、企业活动和传播内容。作为服务与支持部门的产品营销人员,Julio 专注于制定辅助上市的战略,以提升大众对于安全服务的重视程度。