产品发布 | 阿里云CDN全面支持IETF QUIC

简介: 阿里云产品发布会154期,阿里云CDN重磅升级,为网友揭秘了新一代传输协议QUIC如何让CDN更快一步。

随着互联网飞速发展,用户通过手机看到的内容越来越多,交互形式也愈发丰富。用户对于网络的响应、网络的传输效率提出了更高的要求。传统的TCP传输方式存在一些问题,比如:依赖于操作系统的实现,部署和升级的周期很长;握手时延无法避免;传输效率上会存在对头阻塞等等,这些问题是无法解决的。基于此,QUIC应运而生并且不断发展演进。

QUIC全称Quick UDP Internet Connection,一种基于UDP实现可靠传输的低延时互联网传输协议。那么QUIC如何在CDN中应用?其技术应用场景可以为业务带来什么样的价值?1月12日,阿里云产品发布会154期,阿里云CDN重磅升级,为网友揭秘了新一代传输协议QUIC如何让CDN更快一步。

image.png

QUIC 发展史回顾

首先,让我们一起来回顾下QUIC的发展历史。QUIC是从2013年google开始基于UDP协议的一个研究,在经过2013年到2015年的一些公开的试验之后,2016年提交给IETF,也就是互联网标准,进行整体协议的标准化。众所周知,QUIC具备很多的优势,比如RTT、0RTT多路复用等,比较关键是它实现了从内核态到用户态的转变,整个算法的迭代从可以通过应用层去完成,实现一客一用,极大提升了更新效率。IETF QUIC最终在2021年7月份完成定稿,命名为RFC9000。QUIC时代,现在开始正式到来。

阿里云CDN QUIC的演进

阿里云CDN团队在2018年开始进行QUIC相关调研和支持,且在2019年已经支持了google QUIC的相关内容,包括google的比较广泛的版本,比如3943和46版本已经在支持。在2020年,随着IETF QUIC整个标准化进展加快,阿里云CDN也开始在对IETF QUIC进行兼容和适配。在2021年,阿里云CDN全部物理节点均支持IETF QUIC。

image.png

为什么大家对QUIC会得到这么多的关注呢?通过互联网一些通用的场景,阿里云CDN产品专家容蓓介绍了QUIC的优势和其与TCP之间的差异化价值。

QUIC 在CDN中的应用

短视频是CDN加速的经典场景之一。对于平台而言,希望给用户创造更好的观看体验,视频卡顿、延迟都是不利因素,平台会监控播放完成率、互动率等指标,用于评估短视频是否具备吸引力。拆分到技术层面,要看一个视频平台技术好不好,指标就包括首屏时间、卡顿率、下载速率等等。

QUIC为什么会在这些核心指标上面比TCP的效果更好?我们逐一来看。

第一,首屏时间通常是指用户观看到视频或者是观看到图片的第一帧的时间。这个时间越快、延迟越小,用户的体感就会越好,就不会有延迟。

从下图中里面来看到。如果通过HTTP的协议去访问视频,会有一次建联,建联之后再进行数据传输。此外,因为HTTP是明文传输,可能存在如数据篡改、劫持的风险,所以在客户端,大家倾向于选择使用HTTPS来传输。而HTTPS因为有证书存在,它的握手又会增加,至少要通过三个RTT才能获取到第一帧的内容。假设平均的握手时间是200毫秒,那这200毫秒首屏延迟是完全无法避免的。并且,在这一次访问结束之后,这个连接会关闭。下一次用户再访问同样的东西时,又要再去建联,这就意味着200毫秒是持续存在的,在TCP里面没有办法改善。

image.png

而因为QUIC用的是这个UDP的协议,它的建联方式会更优化一些。QUIC中的握手从第一次开始就是加密的状态,第二次就可以传输一个数据,所以在QUIC中,用户第一次访问一个资源,那么需要一个RTT,就可以获取到数据内容。而再次访问同样的内容,数据如果已经存在本地,无需再建联,就能实现0RTT的逻辑。当然,首屏时间也会有其他的影响因素,但是这三个握手时间的节省,确实是QUIC在首屏时间上能拿到的实打实的性能提升。

第二,在传输层面上,QUIC也比TCP相对改进。从下图中可以看到,假设TCP在传三张图片,会把它分成不同的报文去进行传输。图一是TCP的传输方式,可以看到1234报文都被成功传输完了,应用层也可以读取到客户端并进行展示了,那么5的报文丢掉了,实际上6789在服务端也已经传成功了,但因为5丢掉了,所以678应用层都是没有办法去接收的,必须要等到5重传之后,后面的数据才能被传完。

image.png

在QUIC里面,通过多路复用的方式来进行数据传输,也就意味着1234传输成功之后,5丢掉了,678依旧可以被传输过去。这几个报文数据包中只有5需要重传,其他的都可以被应用层读取。那么在相同的网络吞吐量的前提下,在相同时间内会传更多的内容。所以,QUIC在下载耗时、卡顿率这个层面,会取得比较大的优势。

第三,拥塞机制。QUIC基本上继承了TCP的拥塞算法在里边。但为什么QUIC会要比TCP的优势更明显呢?那是因为QUIC的控制层在应用层,应用层最大特性就是很灵活,比如说我客户A去配cubic,客户B去配BBR,这个都只需要在服务端去做一个配置,然后几个小时、几分钟快速生效。在TCP里边,整个算法的优化需要在内核层中去做更新,更新是非常缓慢和慎重的,并且内核层面部署时间、发布时间都很长。举个栗子,我们要把阿里云CDN 2800个节点的内核层都更新一次,这个时间是非常漫长的,并且可能会存在一些不可控的因素在里面。所以QUIC协议在拥塞控制层面非常灵活,这也是它的核心优势之一。

第四,弱网优化。其实这也跟QUIC的建联方式有关系。TCP如果要建联,会有四要素,就是客户端这个源IP、端口,服务端的目的IP、目的端口。通常目的IP和目的端口相对来讲比较稳定,不太容易发生变化。但是源IP这一侧就不一定了。网络变了、设备变了都会导致IP和端口的变化,在发生变化之后,哪怕我们看的都是同样的内容,也肯定要重新建联。那么刚刚提到的TCP的握手又出来了,产生了中间的消耗和不确定性。那么,QUIC的建联方式是通过一个connection ID来完成的,connection ID是一个64位的随机数,相对更灵活。无论网络发生什么变化,只要connection ID不变,那连接就不会断掉,这就保证了用户在观看同样内容时更加顺畅,性能体感更好。

image.png

阿里巴巴集团应用在QUIC在CDN的实践上已经取得了一些效果,比如:手淘今年双11已经将部分流量切到了IETF QUIC之上,短视频业务卡顿率比TCP降低10%,下载分片耗时降低20%;优酷长视频业务,平均播放卡顿时长降低15% - 32.5%(强弱网区分);支付宝图片业务使用google QUIC,下载耗时降低25% - 40%以上。

总结:QUIC的核心优势

第一、快速建联
0-RTT的握手,减少TCP握手和TLS的握手时间,提升首屏效率

第二、多路复用
相比于HTTP/2,真正的单通道并行传输,彻底解决TCP协议中队头阻塞问题

第三、拥塞算法
拥塞算法灵活,不需要基于内核或操作系统,可直接在应用层改造

第四、持续在线
频繁切换网络的情况下,不会断线,不需要重连,用户无任何感知

如何开通CDN QUIC服务

通过阿里云CDN控制台,在每个域名配置下都会有QUIC选项。如果用户已经申请过了白名单,即可直接操控开关来开启或者关闭QUIC服务。没有申请过白名单的用户则需要提交申请,后台审核通过后即可通过控制台来进行操控。
在域名开启之后,用户可以在资源监控中选择相关的协议层,查看QUIC相关数据。同时,QUIC会按照每万次五分钱的一个计费逻辑按日出账,用户可以在用量中查询QUIC的请求数的总数量,来进行账单的核对。

image.png

其他内容

CDN产品关注QUIC协议演进并实践落地,从gQUIC协议到标准IETF QUIC协议已经部署在CDN边缘节点,并在短视频和图片业务场景实践有不错的收益。在发布会中,阿里云技术专家淮叶也带来了关于QUIC技术基础特性、应用场景及其技术落地实践中的协议库选择、QUIC协议软件实现、性能优化的内容分享。点击回顾发布会直播:https://yqh.aliyun.com/live/quic 了解更多详情。

目录
相关文章
|
21天前
|
关系型数据库 分布式数据库 数据库
成都晨云信息技术完成阿里云PolarDB数据库产品生态集成认证
近日,成都晨云信息技术有限责任公司(以下简称晨云信息)与阿里云PolarDB PostgreSQL版数据库产品展开产品集成认证。测试结果表明,晨云信息旗下晨云-站群管理系统(V1.0)与阿里云以下产品:开源云原生数据库PolarDB PostgreSQL版(V11),完全满足产品兼容认证要求,兼容性良好,系统运行稳定。
|
21天前
|
SQL 存储 API
阿里云实时计算Flink的产品化思考与实践【下】
本文整理自阿里云高级产品专家黄鹏程和阿里云技术专家陈婧敏在 FFA 2023 平台建设专场中的分享。
110192 10
阿里云实时计算Flink的产品化思考与实践【下】
|
2天前
|
API
阿里云微服务引擎及 API 网关 2024 年 3 月产品动态
阿里云微服务引擎及 API 网关 2024 年 3 月产品动态。
|
3天前
|
安全 云计算
电子好书发您分享《阿里云产品手册2024版.阿里云产品手册2024版》
**《阿里云产品手册2024版》电子书分享:** 探索阿里云最新技术与服务,涵盖云计算、安全、移动研发等领域,详尽指南助您高效上云。[阅读链接](https://developer.aliyun.com/ebook/8326/116556?spm=a2c6h.26392459.ebook-detail.4.176b272aLerqlg)
11 1
|
7天前
|
云安全 数据采集 安全
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
阿里云提供两种关键安全产品:Web应用防火墙和云防火墙。Web应用防火墙专注网站安全,防护Web攻击、CC攻击和Bot防御,具备流量管理、大数据防御能力和简易部署。云防火墙是SaaS化的网络边界防护,管理南北向和东西向流量,提供访问控制、入侵防御和流量可视化。两者结合可实现全面的网络和应用安全。
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
|
9天前
|
消息中间件 人工智能 监控
|
17天前
|
消息中间件 Cloud Native Serverless
飞天发布时刻丨阿里云 ApsaraMQ 全面升级,携手 Confluent 发布全新产品
阿里云在3月29日的飞天发布时刻宣布ApsaraMQ全面升级,实现全系产品Serverless化,与Confluent合作推出新产品,强化云原生消息队列服务。
|
24天前
|
Ubuntu JavaScript 关系型数据库
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
在阿里云Ubuntu 20.04服务器上部署Ghost博客的步骤包括创建新用户、安装Nginx、MySQL和Node.js 18.x。首先,通过`adduser`命令创建非root用户,然后安装Nginx和MySQL。接着,设置Node.js环境,下载Nodesource GPG密钥并安装Node.js 18.x。之后,使用`npm`安装Ghost-CLI,创建Ghost安装目录并进行安装。配置过程中需提供博客URL、数据库连接信息等。最后,测试访问前台首页和后台管理页面。确保DNS设置正确,并根据提示完成Ghost博客的配置。
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
|
27天前
|
存储 分布式计算 网络协议
阿里云服务器内存型r7、r8a、r8y实例区别参考
在阿里云目前的活动中,属于内存型实例规格的云服务器有内存型r7、内存型r8a、内存型r8y这几个实例规格,相比于活动内的经济型e、通用算力型u1实例来说,这些实例规格等性能更强,与计算型和通用型相比,它的内存更大,因此这些内存型实例规格主要适用于数据库、中间件和数据分析与挖掘,Hadoop、Spark集群等场景,本文为大家介绍内存型r7、r8a、r8y实例区别及最新活动价格,以供参考。
阿里云服务器内存型r7、r8a、r8y实例区别参考
|
28天前
|
SQL 弹性计算 安全
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
当我们通过阿里云的活动购买完云服务器之后,并不是立马就能使用了,还需要我们设置云服务器密码,配置安全组等基本操作之后才能使用,有的用户还需要购买并挂载数据盘到云服务器上,很多新手用户由于是初次使用阿里云服务器,因此并不知道这些设置的操作流程,下面给大家介绍下这些设置的具体操作流程。
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程