CDN系统的关键技术
2018-09-03蒋杰
蒋 杰
(咪咕视讯科技有限公司,上海 201206)
1 引言
在收看互联网视频节目的过程中,终端用户都或多或少地遇到过播放等待、视频卡顿等现象,根本原因是视频内容无法及时和完整下载至本地播放器所致。目前解决上述问题的技术手段是:分布式内容分发网(CDN,Content Delivery Network)。[1]
CDN的基本技术原理是在IP承载网的不同网络位置设置服务节点,负责缓存内容资源并为最终用户提供资源服务。CDN通过将服务能力向终端用户下移,同时将满足用户需求复用率最高的资源预先缓存至服务节点,从而使用户请求服务时可避免内容源服务的负荷超载和终端-服务端的不合理访问路径。
1.1 CDN内容资源分发的主要机制
1.1.1 基于PULL的内容资源分发机制
基于PULL的内容资源分发机制是被动型资源分发机制[2],CDN对内容资源的获取目标和获取时间都是被动根据用户的请求而确定。如图1所示。
图1 基于PULL的内容资源分发机制功能流程
其流程如下:用户终端访问互联网业务时,由CDN调度节点根据用户网络位置,综合分析调度规则后计算出特定CDN服务节点,并告知用户终端服务器位置;由于CDN服务节点被设置为基于PULL 的内容资源分发机制,故服务节点无预存对应内容资源,需向内容资源原始存放的服务节点发起资源获取的PULL请求;内容资源源节点响应CDN服务节点的回源请求后,提供对应内容资源;CDN服务节点获取内容资源后,为用户提供服务。
1.1.2 基于PUSH的内容资源分发机制
基于PUSH的内容资源分发机制是主动型资源分发机制[2],这里的主动包括两个层面:内容资源的主动预分发;用户请求、CDN服务节点和内容资源实现主动匹配。如图2所示。
通过特定的业务模型选定内容资源和CDN服务节点,并完成该内容资源的主动预分发;CDN调度节点根据用户服务请求,综合分析内容资源分布情况和调度规则,主动匹配出包含所需内容资源的特定CDN服务节点为用户提供服务。其流程如下:内容资源源始节点根据业务模型,例如资源热度期望模型、资源热度趋势模型和资源受众预测模型等选定内容资源和CDN服务节点进行预先分发;用户终端访问互联网业务时,由CDN调度节点根据用户网络位置和服务请求,综合分析内容资源分布情况和调度规则,计算出特定CDN服务节点,并告知用户终端服务器位置;CDN服务节点匹配本地缓存资源后,为用户提供服务。
图2 基于PUSH的内容资源分发机制功能流程
1.2 CDN业务的主要运作流程
图3 CDN典型业务流程时序图
如图3所示,终端访问门户页面请求视频资源,门户根据请求内容生成CDN服务URL,并告知终端;终端使用CDN服务URL向CDN调度节点查询。CDN调度节点根据终端网络信息、请求资源信息和CDN节点状态信息等数据,确定为该终端服务的最佳CDN节点,并将该节点位置信息作为调度结果告知终端;终端根据调度结果向目标CDN服务节点发起视频资源播放请求;CDN服务节点根据终端请求匹配本地缓存的内容资源文件。如本地匹配成功,说明该内容资源已缓存,则直接为终端提供相应的资源文件;如本地匹配失败,说明该内容资源未缓存,则向预定的内容资源源站请求相应的资源文件。待内容资源源站成功返回资源文件后,CDN服务节点再将该资源文件向终端提供。
CDN技术提供的就近服务能力,可极大缩减互联网视频请求端与视频服务端的网络路径长度,规避视频大流量数据传输所可能遇到的传输质量劣化环。
2 CDN的关键技术
2.1 请求重定向技术
完整的请求重定向技术涉及“定向策略判断” 和“重定向生效”两个环节。定向策略判断主要以各类可评判服务端和请求端之间访问交互质量优劣的客观条件算法为主。常用算法模型有网络就近性判断、资源命中性判断和服务可用性判断等,以及多个算法组合评定。但最常用的还是网络就近性判断,可最大限度规避跨省、跨运营商导致的网络质量劣化,同时匹配结果的可预测性较理想。重定向生效就是将“定向策略判断”的结果实施生效,将终端请求导向至目标的服务节点,主要有“基于DNS位置判断重定向”和“基于IP位置判断重定向”两种技术。
2.1.1 基于DNS位置判断重定向
图4 基于DNS位置判断重定向流程图
涉及路由调度的域名会配置在支持智能调度的权威名称DNS中,本地LDNS会通过递归的方式将域名的解析请求转发至权威名称DNS(图4中②)。权威名称DNS根据调度策略已预配置多条ACNAME解析记录,可根据LDNS的网络位置,按匹配逻辑对应至某条解析记录(图4中③)。
2.1.2 基于IP位置判定重定向
图5 基于IP位置判断重定向流程图
图5 中,当用户终端的互联网视频播放地址访问域名为video.4k.cn时,该域名会默认指向GSLB。GSLB首先会通过TCP/IP连接信息获得请求终端的IP,并在静态最近调度列表中查找该IP所属的网段是否存在。如存在数据缓存,则该次请求即被快速判断出对应策略的CDN服务节点IP,并返回给客户端。如没有缓存记录,则GSLB会通过动态查询的方式,按预设策略算法计算出一个CDN服务节点IP,并返回给客户端。返回方式就是http 302机制。请求客户端会将识别302反馈结果,并以反馈IP为目标重新发起访问请求。通过GSLB的智能判断和302机制,就可实现不同地区+运营商的终端请求访问至网络距离最近的服务节点。
2.1.3 重定向技术的总结
基于DNS位置的重定向机制应用最广泛,主要是其使用简单,公共资源、商业化服务也比较成熟。而对于业务定制性要求强的的应用场景,基于IP位置的重定向机制就是不可或缺了。特别是现在一些运营商的流量计费政策是通过流量网关按域名对应不同流量池,部分互联网视频服务提供商就会利用GSLB 的302跳转机制,将不同等级的用户请求替换为不同的域名,实现诸如视频流量定向减免的营销政策。
2.2 负载均衡技术
2.2.1 负载均衡技术原理
由于CDN节点一般是服务器集群。为获得综合性能最优,就需要应用负载均衡技术避免单台服务器超负荷引发故障,而其他服务器则相对空闲的情况。因为单台服务器在处理高负荷的运算任务时会在处理能力、吞吐能力等方面形成严重的性能瓶颈。在这种情况下,CDN服务器集群通过负载均衡技术就是解决相关问题的有效手段。
2.2.2 负载均衡技术的实现方式
目前,有许多不同的负载均衡技术用以满足不同的应用需求,如以软为主/硬件为主的负载均衡实现方式。软件负载均衡解决方案,是指在一台或多台服务器相应的操作系统上,安装一个或多个附加软件来实现负载均衡,如LVS负载均衡等。硬件负载均衡解决方案,是直接在服务器和外部网络间安装负载均衡设备,这种设备通常被称为负载均衡器。一般而言,硬件负载均衡在功能、性能上优于软件方式,不过成本昂贵。
3 结束语
本文认为,在网络带宽仍不充裕的情况下,为了实现网络视频的流畅播放,需要借助CDN机制的端到端资源加速服务,主动规避传输网络中存在的不利因素,降低对传输网络的客观条件依赖性。■