一文看懂CDN原理

1,109 阅读2分钟

简介

CDN是内容分发网的简称,Content Distribution Network。现今几乎所有的视频流公司都利用CDN存储视频或Web内容,包括文档、图片和音频的副本。一般CDN都会以集群方式部署,部署原则有二:

  • 尽可能靠近用户端,就是把CDN部署在距离用户地理位置近的地方

  • 在关键位置部署集群,让ISP接入集群

    一旦CDN的集群准备就绪,它就可以跨集群复制内容。

CDN原理

上图假设一个内容提供商NetCinema雇佣了第三方内容提供商KingCDN来分发视频,在NetCinema的Web网页上,它的每个视频都被指派了一个URL,如video.netcinema.com/23425235 ,接下来将会发生图中的6个步骤:

  1. 用户访问www.NetCinema.com , 并返回video.netcinema.com/23425235

  2. 用户点击video.netcinema.com/23425235 时,该用户的主机发送了一个对于video.netcinema.com的DNS请求

  3. 用户的本地DNS服务器(LDNS)将该DNS请求中继到一个用户NetCinema的权限DNS服务器,该服务器看到是video,就将DNS请求移交给KingCDN,NetCinema权威DNS服务器不返回IP地址,而是返回一个KingCDN域的主机名,如123.kingcdn.com

  4. 当LDNS拿到123.kingcdn.com时,就去请求KingCDN权威DNS服务器,KingCDN权威DNS服务器这时返回的才是KindCDN服务器的IP地址

  5. LDNS把KindCDN服务器的IP地址返回给用户

  6. 用户拿到KindCDN服务器的IP地址后,就发起连接请求,并获取资源

自此,整个流程结束。

CDN集群选择

任何CDN的部署,其集群选择策略很重要,因为关乎到用户体验和网络性能,用户选择太远的集群,就会造成网络损耗,所以集群选择策略有两种:

  • 基于地理位置最为临近的。这种可以根据用户IP作出选择,比如基于商用地理位置数据库可以查询到用户的地理位置

  • 基于当前流量条件选择最优。这种需要对集群和客户之间的时延和丢包性能做周期性的实时测量