6.8 CDN
内容分发网络(CDN)
CDN是内容分发网的简称,Content Distribution Network。
现今几乎所有的视频流公司都利用CDN存储视频或Web内容,包括文档、图片和音频的副本。
常用于视频流:Internet 带宽的主要消耗者(Youtube、Netfix)
Netflix, YouTube 分别消耗了 37%, 16% 的住宅ISP 流量
需求产生
- 如何应对(Youtube)十亿的用户的访问
- 如何从海量的视频中,挑选出某个用户想要的内容
单个服务器(X)
如果打造单个超级视频服务器,可能遇到问题,太多了
- 该服务器故障
- 单点故障
- 单点网络拥塞
- 远距离用户的访问路径很长
- 输出链路上发送同一视频的多份重复拷贝
CDN!
将多份拷贝存储在地理上分散的不同站点来提供服务(CDN)
深入:
- 将CDN服务器部署在众多的接入网络中
- 离终端用户近一点(方便用户,不方便维护者)
邀请做客:
- 在少量(例如10个)靠近接入网的关键位置(例如IXP),建造大集群,邀请到ISP做客
- 离终端用户远一点
流程
上图假设一个内容提供商NetCinema雇佣了第三方内容提供商KingCDN来分发视频
在NetCinema的Web网页上,它的每个视频都被指派了一个URL
如我们要访问video.netcinema.com/23425235 ,接下来将会发生图中的6个步骤:
- 用户访问www.NetCinema.com , 其返回一个video.netcinema.com/23425235 ;
- 用户主机再访问这个返回的video.netcinema.com/23425235 时,该用户的主机发送了一个对于video.netcinema.com的DNS请求
- 用户的本地DNS服务器(LDNS)将该DNS请求中继到一个用户NetCinema的权限DNS服务器,该服务器看到是video,就将DNS请求移交给KingCDN,NetCinema权威DNS服务器不返回IP地址,而是返回一个KingCDN域的主机名,如123.kingcdn.com
- 当LDNS拿到KingCDN域的主机名,又去请求KingCDN权威DNS服务器,KingCDN权威DNS服务器这时返回的才是KindCDN服务器的IP地址
- LDNS把KindCDN服务器的IP地址返回给用户
- 用户拿到KindCDN服务器的IP地址后,就发起连接请求,并获取资源
自此,整个流程结束。