• 计算机网络第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.将客户的请求重定向到该集群的某台服务器。

    一个简单的例子:

    假定一个内容提供商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可能会拒绝回应这些探测分组。

  • 相关阅读:
    ls -l 命令列出的total是什么
    编程题练习@9-5
    【JavaSE】类与对象(上)类是什么?对象是什么?
    算法43-欧拉信封问题
    【AI】PyTorch入门(六):自动微分torch.autograd
    Prometheus之node_exporter服务器采集信息泛释
    前端工程化知识系列(6)
    C++字面量杂谈
    多线程总结(线程池 & 线程安全 & 常见锁)
    Qt对象树
  • 原文地址:https://blog.csdn.net/zheshiyangyang/article/details/133866940