CDN关键技术研究与应用 — 内容路由技术

内容路由技术作为CDN中关键技术之一对业务的支撑效果起着举足轻重的作用。在LiveVideoStackCon2019上海 大会中,爱奇艺高级技术经理白帆从技术背景,架构优化,特殊场景应用等多方面详细介绍了CDN内容路由技术的实现并为用户提供高效的服务能力。

文/白帆

整理/LiveVideoStack

大家好,我是来自爱奇艺的白帆,视频业务是目前爱奇艺的主营业务,CDN是支撑视频分发的关键系统,视频流技术的发展和高清视频流的应用对视频分发提出了更高的要求。本次分享的主要内容是如何通过内容路由技术的优化来提升CDN系统服务用户的能力。

本次分享主要从以下几个方面进行:

1. 内容路由背景

2. 系统优化实践

3. 特殊场景举例

4. 展望

1. 内容路由背景

1.1 传统CDN架构

在传统的CDN架构中,CDN系统分为若干层,用户一般是先从Local DNS发起域名请求,如果Local DNS 没有所需内容就继续向上层权威DNS请求,并将CDN节点的DNS结果返回给用户,最终将用户调度到边缘CDN节点,通过DNS结果获取此内容所在的具体网络位置,这是经典的路由寻址方式。

1.2 P2P CDN架构

随着P2P技术的发展,内容路由技术也有所演进,P2P中有的关键模块是Tracker,其汇聚了所有内容的相关位置信息,终端可以在这些节点上进行注册,同时也可以从Tracker获取内容的来源,实现类Mesh的一种组网模式。

1.3 两种架构的区别

上图展示的是在两种架构的特性对比。从对比中可以看出,传统CDN的扩展成本较高,如果要扩展一个点就需要对此进行相应建设,建设CDN要以IDC为条件。国内的IDC节点在三四线城市相对匮乏,扩展成本较高。但P2P的模式是用户一起来帮用户提供整体的内容,所以扩展成本相对较低。内容寻址方面CDN采用的是DNS,P2P则是采用Tracker模式。传输效率方面,传统CDN共享边缘节点的能力,传输效率相对较低,而P2P可以利用空闲资源提高数据共享效率,这也是P2P CDN资源利用率比传统CDN更高的原因。传统CDN分层级架构较为简单,所以容易管理,但P2P CDN在节点联动和不完整内容共享上都存在比较难解决的问题。在流量有序性方面传统CDN采用流量区域控制,P2P CDN的流量处于无序的状态。以上便是传统CDN和P2P CDN两种架构的主要区别。

1.4 媒体新体验带来的新需求

视频流媒体新体验带来了高清、4K/8K、VR、媒体移动化、短视频和5G新场景这些新的元素,同时无疑也对系统提出了播放必须稳定、必须秒播、必须高清、带宽足够大和延迟足够低等多种要求。

1.5 内容路由定义

CDN涉及到的关键技术包括:内容路由、内容分发、内容存储和内容管理。终端、边缘和云统一形成了CDN的基本业务架构而且同时承载了端到端的业务逻辑。终端网络特性结合云端策略实现针对性的内容调度和路由的方法,终端感知本身所处网络的特性进行正确的解析行为,并将这些特性同步到云端,云端结合全网状态形成调度策略动态匹配终端和边缘的服务关系。本文主要讲解云和边缘针对于内容路由方面的业务实现及优化方案。

内容路由是指将用户的内容请求导向全网CDN中相对请求者的最佳服务节点,通常CDN的内容路由功能由CDN调度体系来实现,DNS、负载均衡和网络路由等都是比较常用的实现方式。爱奇艺在融合多种技术于CDN工作模式中,统一调度体系保障用户体验。

2. 系统优化实践

2.1 内容路由实践方向

内容路由实践方向主要从系统架构和网络两个方面进行优化保障。

2.2 系统架构优化

2.2.1 系统架构建设目标

系统架构优化的第一个目标是一跳到达内容,这需要让用户内容请求路由到某一个明确的位置,国内网络存在流量重复下载和流量绕转问题,如何使用户一次请求获取到具体的地域、运营商、节点、服务器、磁盘和目录便是系统架构建设的第一任务。第二个目标是最优的节点服务能力,根据具体用户请求内容返回给请求用户的服务节点不止需要有用户需要的内容,而且必须有足够的服务能力保障用户下载服务。第三个目标是请求MISS后的用户体验保障,当无法给请求用户提供精准的可服务节点时,不能降低用户体验。

2.2.3 实现关键指标

上图中列出的关键指标会影响到用户的使用体验,从网络方面来讲,服务器网口状态、接入交换机状态、IDC出口状态、线路状态等都是需要考虑的内容。从内容方面来讲,有内容存储位置(IDC、Server、Disk)、内容更新和内容存储规则等问题需要考虑。从单服务器节点角度出发,Load、IO、MEM、进程、线程、并发连接等问题需要考虑。这些指标都需要我们进行关注和分析。

2.2.4 系统建设之构建CDN控制面

常规调度是把用户分配到最近的节点(节点内容有无不确定)上去,根据来源地址和请求内容Hash到某个服务器之后再Hash到某个盘上(盘里有无内容不确定),种种不确定因素导致传统的调度系统无法保证其优质的服务能力。这种方式从网络来说是最优的解决办法,但从服务能力来讲传统调度方式存在一些问题。所以我们在构建CDN控制面时提供了一个整体的策略中控,CDN节点上报服务状态到策略中控,中控根据这些数据结合外围用户的请求数据形成策略并应用到分发、同步、调度和回源。用户在发送请求内容时,调度进入索引服务,根据全网的服务情况找到相应节点为之服务。中控生成的策略会影响分发,生产内容之后根据相应的分发策略到全网的节点。在承载层中用到多点回源。

2.2.5 精准调度——一跳到达

一跳到达是通过索引服务来实现的,索引服务分为缓存节点和预存节点两种,缓存节点数据动态更新过程和索引服务同步,通过本地磁盘索引管理模块实时通告内容的变化信息。预存节点是向相应节点预推相应的内容,此内容在索引中注册并和节点绑定作为调度的依据。

2.2.6 点选

服务请求需要通过一定的节点选择算法,根据节点实时运行数据和节点的历史趋势数据判断节点当前的服务能力,最终提供给用户最佳的服务节点。

2.2.7 节点数据共享——MISS体验保障

在点选算法因为某些原因没有找到用户请求的内容时,结合当前网络全域针对此内容的请求情况,根据基本服务能力将用户调度到次优节点,此节点可以通过其他有数据的节点同时获取内容,保障内容能够最快的获取并推给用户,使得内容在网络中达到均衡状态。

2.3 网络优化

2.3.1 网络优化目标

网络优化的目标有三个,第一,为了使内容接近用户,需要把内容下沉到边缘,同时网络提供一定的保障方式。第二,统一入口可以很大程度上减少系统管理的复杂性,提高内容路由的效率。第三,流量重复和流量绕转是影响用户体验的两个关键因素,内容下沉可以解决流量重复问题,而流量绕转最好的解决办法就是互联互通。

2.3.2 内容下沉之奇速播

为了解决内容下沉问题,爱奇艺推出了一个CDN扩展方案——奇速播。从毛细血管来看系统存在IT基础设施薄弱、用户规模较小和难以形成集中热点三个难点。通过奇速播可以把相应的存量计算/存储资源合作利用。奇速播的工作模式是依靠可定制的播单引导并收拢用户的视频点击行为,用户点击播单内容,通过爱奇艺调度系统,由部署在ISP内网的播单服务器交付文件。

2.3.3 Anycast——统一入口

Anycast使得DNS对用户提供统一的服务接口,凭借这个接口我们可以在任何地方给用户提供不间断服务,任何节点出现问题用户可以通过动态路由导到其他节点,网络通过BGP的方式连接每个城市的核心节点,用户在任何地方访问都只有一个入口。

2.3.4 Anycast——统一出口

系统本身内部节点也需要与外部进行交互,所以在网内和网外之间加了一层Overlay加速平面,Overlay是全基于虚拟化来实现,把物联网的路由全部打碎,所有的用户在对外访问时需要在中间Overlay层做路由优化,通过SDN方式把流量导向最优出口。

总体来说Anycast统一入口可以面向业务请求者同一访问地址、使得单点故障后路由自动倒换收敛、解决DNS劫持带来的业务不稳定性和简化内容路由系统架构。

2.3.5 互联互通——BGP对等互联

互联互通可以很大程度上减少流量绕转所带来的访问延迟,让用户通过最短的路径获取到所请求的内容。ISP通过多点对等互联可以解决因为单点故障带来的业务中断问题。

3. 特殊场景举例

3.1 移动场景下内容路由

相对有线网络,移动网络CDN加速实现更加复杂,随着无线网络技术的发展,移动网络中内容加速技术也随之发生改变。5G MEC(边缘计算)在移动网络中将内容下沉到用户边缘提供了解决方案。

终端定位由移动终端本机获取基站位置信息,通过MEP公共接口获取位置信息。节点匹配MEC唯一编码和基站信息建立对应关系,通过基站信息可以找到匹配的MEC服务点。节点调度根据终端位置信息和下沉节点的匹配信息判断使用哪个边缘节点为用户提供服务。

3.2 封闭场景

封闭场景是在外网无法持续性提供服务的情况下,通过内容下沉来解决本地用户快速获取服务。用户终端通过组播/广播方式在本地网内寻找服务点,并从服务点获取相应的业务服务。

3.3 奇速播5G-MEC案例——5G+8K+VR

2019年第一季度,爱奇艺和中国联通北京公司联合测试,通过奇速播落地5G场景,提供了VR视频、8K视频的极速播放体验,VR视频和8K视频这类高码流的技术应用在5G场景有更显著的播放效果。

原文发布于微信公众号 - LiveVideoStack(livevideostack)

原文发表时间:2019-09-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券