DASH

尽管HTTP流在实践中已经得到广泛部署(例如,自YouTube发展初期开始),但它具有严重缺陷,即所有客户接收到相同编码的视频,尽管对不同的客户或者对于相同客户的不同时间而言,客户可用的带宽大小有很大不同。因此,DASH协议出现了:

DASH:Dynamic Adaptive Streaming over HTTP,在DASH中,视频编码为几个不同的版本,其中每个版本具有不同的比特率,对应于不同的质量水平。客户动态地请求来自不同版本且长度为几秒的视频段数据块。(网速好,请求质量高的视频,网速差,请求质量差的视频

使用DASH后,每个视频版本存储在HTTP服务器中,每个版本都有一个不同的 URL。HTTP服务器也有一个告示文件(manifest file),为每个版本提供了一个URL及其 比特率。

CDN

首先,如果客户远离数据中心,服务器到客户的分组将跨越许多通信链路并很可能通过许多ISP,其中某些ISP可能位于不同的大洲。如果这些链路之一提供的吞吐量小于视频消耗速率,端到端吞吐量也将小于该消耗速率,给用户带来恼人的停滞时延。

为了应对向分布于全世界的用户分发巨量视频数据的挑战,几乎所有主要的视频流公 司都利用内容分发网(Content Distribution Network, CDN)

大多数CDN利用DNS来截获和重定向请求;

Untitled

具体步骤:

  1. 用户访问位于NetCinema的Web网页。
  2. 当用户点击链接http://video.netcinema.com/6Y7B23V时,该用户主机发送了一个对于 video.netcinenia.com 的 DNS 请求。
  3. 用户的本地DNS服务器将该DNS请求中继到一台用于NetCinema的权威DNS服务器,该服务器观察到主机名video, netcinenia. com中的字符串“video” 。为了将该DNS请求移交给KingCDN, NetCinema权威DNS服务器并不返回一个IP地址,而是向 LDNS 返回一个KingCDN域的主机名,如 a1105.kingcdn.com
  4. 从这时起,DNS请求进入了 KingCDN专用DNS基础设施。用户的LDNS则发送第 二个请求,此时是对a1105.kingcdn.com的DNS请求,KingCDN的DNS系统最终向LDNS返回KingCDN内容服务器的IP地址。
  5. LDNS向用户主机转发内容服务CDN节点的IP地址
  6. 一旦客户收到KingCDN内容服务器的IP地址,它与具有该IP地址的服务器创建 了一条直接的TCP连接,并且发岀对该视频的HTTP GET请求。如果使用了 DASH,服务 器将首先向客户发送具有URL列表的告示文件,每个URL对应视频的每个版本,并且客 户将动态地选择来自不同版本的块