计算机网络第2章-CDN(4)

视频流和内容分发网

HTTP流和DASH

在HTTP流中,视频只是存储在HTTP服务器中作为一个普通的文件,每个文件有有一个特定的URL。当用户要看视频时,客户与服务器之间创建一个TCP连接并发送HTTP GET请求。

HTTP流具有严重缺陷,即所有客户接收到相同编码的视频。

为此开发出了基于HTTP流的新式流,”经HTTP动态适应性流“(DASH)。

在DASH中,视频编码为几个不同的版本,每个版本具有不同的比特率,用户可以自行选择不同速率的版本,从而优化用户体验。

使用DASH之后,每个视频版本存储在HTTP服务器中,并且各有一个URL。

HTTP服务器也有一个”告示文件“,为每个版本提供一个URL及其比特率。

内容分发网

几乎所有的视频流公司都用到“内容分发网”(CDN)。

CDN可以是“专用CDN”也可以是“第三方CDN”。

CDN通常采用两种不同的服务器安置原则。

1.深入

在编辑全球的接入ISP种部署服务器群来深入到ISP的接入网种,改善了用户感受的时延和吞吐量,但是成本昂贵。

2.邀请做客

在少量的关键位置建造大集群来邀请ISP做客,而不是将CDN放到ISP中,该方法节约了大量成本,但是会带来较高的用户时延和较低的吞吐量。

CDN操作

当用户主机的一个浏览器指令检索一个特定的视频(由URL标识)时,CDN必须截获该请求,因为:

1.确定此时适合用于该客户端的CDN服务器集群。

2.将客户的请求重定向到该集群的某台服务器。

计算机网络第2章-CDN(4)_第1张图片

一个简单的例子:

假定一个内容提供商NetCinema,雇佣了第三方CDN公司KingCDN来向用户发放视频。

在NetCinema的Web网页上,它的每个视频都被指派了一个URL,该URL包括了字符串”video“以及

该视频本身的独特标识符。

假设我们现在要访问”http://video.netcinema.com/6Y7B23V“这个网页的视频,则系统会执行下面大致六个步骤。

1.用户访问位于NetCinema的Web网页。

2.当用户点击链接”http://video.netcinema.com/6Y7B23V“时,用户主机发送了一个vedio.netcinema.comDNS请求

3.用户的本地DNS服务器(LDNS)接收到该请求,并且将该请求发送到NetCinema权威DNS服务器,该服务器观察到主机名video.netcinema.com中的字符串"video"NetCinema权威服务器并不返回一个IP地址,而是返回一个KingCDN域的主机名,如a1105.kingcdn.com。

4.从这时起,DNS请求进入了KingCDN专用的DNS设施中。LDNS发送向a1105.kingcdn.com的DNS请求,KingCDN的DNS系统向LDNS返回KingCDN内容服务器的IP地址。

5.LDNS向用户返回KingCDN内容服务器IP地址。

6.用户直接跟该KingCDN内容服务器建立TCP连接,并且发送HTTP请求,获得视频流。

集群选择策略

任何CDN部署,其核心是”集群选择部署“,即动态的将客户重定向到CDN中的某个服务器集群中的某个服务器。

第一种简单的策略是:

将用户重定向到地理位置最近的CDN上,但是该方法存在弊端。

例如客户端LDNS距离客户很远的时候,那么就会造成很大的时延。

再比如忽略了时延和可用宽带随因特网路径时间而变化,并且总是为该用户重定向到这个集群,就会造成某个时间点上,用户的体验极差!

第二个策略是:

CDN能够对其集群和客户之间的时延和丢包性能执行周期性的实时测量。

例如CDN向每个集群周期性的发送探测分组(Ping请求或者DNS请求)。

但是该方法也存在缺点,那就是有些LDNS可能会拒绝回应这些探测分组。

你可能感兴趣的:(计算机网络)