一、背景
现今因特网的流量中,流式视频占据很大部分,通常是预先录制好的视频,例如Dou音、You管等。通常对用户来说,高比特率的视频更加有吸引力。但视频的传输通常需要占据巨大的流量和存储,DASH和CDN的根本出发点是希望能够将流式视频以更好的质量分发给用户,创造更好的使用感受。
二、DASH
DASH(Dynamic Adaptive Streaming over HTTP):经HTTP的动态适应流。DASH的出现是为了解决HTTP流的问题,HTTP流不考虑用户的可用带宽大小均为用户发送相同编码的视频,会造成在可用带宽较小时不好的使用体验。
DASH中,视频编码为几个不同质量的版本,用户可以根据可用带宽来选择不同速率版本的块(分块传输的数据)。DASH允许用户根据网络接入速率播放不同编码率的流式视频。在应用DSAH时,每个版本的流式视频都存储在服务器中,每个版本都具有一个URL。在下载块时,用户测量带宽并运行某种速率决定算法来选择下次请求的块,DASH允许用户在不同的视频质量等级间进行切换。
三、CDN
CDN(Content Distribution Network):内容分发网。目前流式视频提供的公司每天需要发送大量的流量,这种情况下,单一的大规模数据中心显然是无法支撑这种服务的,CDN应运而生。CDN管理分布在多个地理位置上的服务器,在它的服务器中存储视频的副本,尽力将每个用户的请求定向到一个最佳用户体验的CDN位置。CDN通常有专用CDN和第三方CDN。
CDN通常采用两种服务器安置策原则:
- 深入:在接入ISP中部署服务器集群来深入到ISP的接入网中,从而更加靠近端用户,改善用户使用的时延,是一种高度分布式的设计,管理和维护成本较高。
- 邀请做客:在少量的关键位置建造大集群来邀请ISP做客,即卡住关键位置,维护成本较低,可能会以用户的较高时延和低吞吐量作为代价。
类似地,CDN网络中同样会采取类似Web缓存的策略提升性能。
1.CDN操作
在用户检索一个视频时,CDN必须截获该请求,从而进行:1、确定适合于该用户地CDN服务器集群;2、将用户请求重定向至该集群的某台服务器。
2.选择策略
CDN部署的核心是集群选择策略,即动态地将用户定向到CDN中地某个服务器集群地机制。常见地策略包括:
- 重定向至地理上最近邻地集群
- 基于当前流量条件重定向至最合适地集群
本文为个人学习笔记,如有错漏之处,敬请指正!