使用QUIC协议提升音视频业务访问速度

更新时间:2025-02-26 08:48:08

QUIC(Quick UDP Internet Connections)协议能帮助您大幅提升客户端访问速度,尤其是在弱网络、Wi-Fi和移动网络频繁切换等场景下,无需重连即可实现多路复用,提升资源的访问效率,同时保障数据传输的安全性。

QUIC协议介绍

QUIC协议又被称为快速UDP互联网连接协议,提供与SSL相同的安全性,同时具备多路复用等多种优势,具有极佳的弱网性能,在丢包和网络延迟严重的情况下仍可提供可用的服务。QUIC协议在应用程序层面可以实现不同的拥塞控制算法,不需要操作系统和内核支持,相比于传统的TCP协议,拥有了更好的改造灵活性,适合用于在TCP协议优化遇到瓶颈的业务。

随着短视频、直播等新兴业务的飞速发展,流媒体传输对于带宽和延迟提出了双重要求,QUIC协议可以有效解决网络、视频卡顿的问题,提升音视频资源的访问效率,同时保障数据传输的安全性。

支持的QUIC协议类型

ALB支持gQUICiQUIC。HTTP/3协议是以iQUIC协议为基础构建的应用层协议,它主要依赖iQUIC来实现多路复用、拥塞控制、损失检测和重新传输等功能。HTTP/3协议可以更快地启动客户端连接,消除了多路复用流中的队头阻塞。

应用型负载均衡ALB支持的gQUIC协议版本有Q46、Q43、Q39,支持的HTTP/3协议版本为h3。

如何协商HTTP/3

开启QUIC升级后,ALB将向客户端通告HTTP/3gQUIC协议,优先通告HTTP/3,让支持HTTP/3的客户端优先尝试与ALB建立连接。

  • 客户端在无法建立HTTP/3连接时始终回退为使用HTTPSHTTP/2。

  • 支持HTTP/3的客户端使用与HTTP/3有关的缓存Cookie。

  • 启用或停用“QUIC升级”不会影响ALB连接到客户端的能力。

Alt-Svc HTTP 响应标头中通告支持,alt-svc 标头值:

Alt-Svc : h3=":$quic_port"; ma=3600,quic=":$quic_port"; v="46,43,39"; ma=3600

当“开启QUIC升级” 时,某些情况会导致您的客户端回退为使用HTTPSHTTP/2而不是协商 HTTP/3。其中包括:

  • 客户端支持的HTTP/3版本与ALB支持的HTTP/3版本不兼容。

  • ALB检测到UDP流量阻塞或速率受限以致HTTP/3无法工作。

  • 客户端完全不支持HTTP/3,因此不尝试协商HTTP/3连接。

客户端要求

  • 如果您使用Chrome浏览器,支持直接对ALB发起QUIC协议请求。

  • 使用Chrome浏览器访问QUIC,需要使用指定的Chrome浏览器版本:

    • ALB支持的gQUIC协议最高版本是Q46,对应的Chrome浏览器版本为Chrome 74-81。

    • ALB支持的HTTP/3协议最高版本是h3,对应的Chrome浏览器版本为Chrome 87及以上。

  • 如果您使用其他客户端例如自研APP,则客户端必须集成支持QUIC协议的网络库,例如:lsquic-client、cronet网络库、ngtcp2quiche等。

场景示例

使用Chrome浏览器访问ALB实例时,ALB会根据配置的监听所绑定的证书域名example.com访问后端服务器。主要有以下两种应用场景:

  • 当同时配置了HTTPS监听和QUIC监听时,系统会优先使用QUIC监听,此时在Chrome浏览器中输入证书绑定的域名example.comALB实例将通过配置的QUIC监听将客户端的请求转发至默认后端服务器组RS1。

  • QUIC监听不可用时,系统会自动切换到关联的HTTPS监听,此时在Chrome浏览器中输入证书绑定的域名example.comALB实例将会通过配置的HTTPS监听将客户端的请求转发至默认后端服务器组RS1。

前提条件

  • 已创建ALB实例。具体操作,请参见创建和管理ALB实例

  • 已创建服务器组RS1。具体操作,请参见创建和管理服务器组

  • 已在服务器组RS1中添加ECS01实例,并在ECS01实例中部署了Nginx的视频服务。

  • 您已经在ALB实例上部署了SSL服务器证书,该证书已绑定了域名example.com

步骤一:创建QUIC监听

  1. 登录应用型负载均衡ALB控制台
  2. 在顶部菜单栏,选择ALB实例所属的地域。

  3. 实例页面,找到目标实例,单击目标实例ID。在监听页签,单击创建监听

  4. 配置监听配置向导,完成以下配置,然后单击下一步

    此处仅列出和本文强相关的配置项,其余参数可保持默认值或根据实际情况修改。更多信息,请参见添加QUIC监听

    监听配置

    说明

    监听配置

    说明

    选择监听协议

    选择监听的协议类型。

    本示例选择QUIC

    监听端口

    输入用来接收请求并向后端服务器进行请求转发的监听端口。

    端口范围为1~65535。

    说明

    同一个ALB实例内,相同协议的监听端口不能重复,且HTTPHTTPS监听端口互不重复。

  5. 配置SSL证书配置向导,选择服务器证书,然后单击下一步

  6. 选择服务器组配置向导,选择服务器类型,然后选择服务器组并查看后端服务器信息,单击下一步

  7. 配置审核配置向导,确认配置信息,单击提交

步骤二:创建HTTPS监听

创建HTTPS监听时,请开启QUIC升级,并关联已创建的QUIC监听。

  1. 实例页面,找到在步骤一中创建了QUIC监听的实例,单击该实例ID。

  2. 实例详情页签,单击监听页签,单击创建监听

  3. 配置监听配置向导,完成以下配置,然后单击下一步

    此处仅列出和本文强相关的配置项,其余参数可保持默认值或根据实际情况修改。更多信息,请参见添加HTTPS监听

    监听配置

    说明

    监听配置

    说明

    选择监听协议

    选择监听的协议类型。

    本示例选择HTTPS

    监听端口

    输入用来接收请求并向后端服务器进行请求转发的监听端口,通常HTTP协议使用80端口,HTTPS协议使用443端口。

    端口范围为1~65535。

    本示例输入443

    说明

    在同一个负载均衡实例内,监听端口不可重复。

    高级配置

    单击修改展开高级配置。

    开启QUIC升级

    选择是否开启QUIC升级。

    本示例开启QUIC升级,并在关联的QUIC监听下拉列表中选择已创建的QUIC监听。

  4. 配置SSL证书配置向导,选择服务器证书,然后单击下一步

    说明

    如果您要设置TLS安全策略,单击高级配置后的修改

  5. 选择服务器组配置向导,选择服务器类型,然后选择服务器组,查看后端服务器信息,然后单击下一步

  6. 配置审核页面,确认配置信息,单击提交

步骤三:配置域名解析

example.com通过CNAME域名解析的方式解析到ALB实例的公网服务域名上。

  1. 登录应用型负载均衡控制台

  2. 在顶部菜单栏选择地域。

  3. 选择要进行域名解析的ALB实例,复制其对应的DNS名称。

  4. 执行以下步骤添加CNAME解析记录。

    说明

    对于非阿里云注册域名,需先将域名添加到云解析控制台,才可以进行域名解析设置。具体操作,请参见域名管理。如果您是阿里云注册的域名,请直接执行以下步骤。

    1. 登录域名解析控制台

    2. 权威域名解析页面,找到目标域名,在操作列单击解析设置

    3. 解析设置页面,单击添加记录

    4. 添加记录面板,配置以下信息完成CNAME解析配置,然后单击确定

      配置

      说明

      配置

      说明

      记录类型

      在下拉列表中选择CNAME

      主机记录

      您的域名的前缀。

      解析请求来源

      选择默认。

      记录值

      输入域名对应的CNAME地址,即您复制的ALB实例的DNS名称。

      TTL

      全称Time To Live,表示DNS记录在DNS服务器上的缓存时间,本文使用默认值。

      说明
      • 新增CNAME记录实时生效,修改CNAME记录取决于本地DNS缓存的解析记录的TTL到期时间,默认为10分钟。

      • 添加时如遇添加冲突,请换一个解析域名。更多信息请参见解析记录冲突规则

步骤四:结果验证

本文以Windows客户端为例说明。在浏览器中输入example.com可访问到ALB实例,本文在服务器组RS1对应的后端服务器ECS01上使用Nginx搭建了视频服务。

  • 当同时配置了HTTPS监听和QUIC监听时,在浏览器中输入证书绑定的域名example.com,并按F12可以查看当前网页的协议HTTP/3,耗时93毫秒

    如下图所示:quic

  • QUIC监听不可用时,在浏览器中输入证书绑定的域名example.com,并按F12可以查看当前网页的协议HTTP/2,耗时148毫秒

    如下图所示:https

经测试,ALB使用HTTP/3协议大幅提升了客户端访问后端服务器视频的速度。

  • 本页导读 (1)
  • QUIC协议介绍
  • 支持的QUIC协议类型
  • 如何协商HTTP/3
  • 客户端要求
  • 场景示例
  • 前提条件
  • 步骤一:创建QUIC监听
  • 步骤二:创建HTTPS监听
  • 步骤三:配置域名解析
  • 步骤四:结果验证
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等