CDN 原理

什么是cdn?

专门解决长距离上网络访问速度慢而诞生的一种网络应用服务

CDN 的最核心的原则就是就近访问

CDN 投入了大笔资金,在全国、乃至全球的各个大枢纽城市都建立了机房,部署了大量拥有高存储高带宽的节点,构建了一个专用网络。
这个网络是跨运营商、跨地域的,虽然内部也划分成多个小网络,但它们之间用高速专有线路连接,是真正的“信息高速公路”,基本上可以认为不存在网络拥堵

用户在上网的时候就不直接访问源站,而是访问离他“最近的”一个 CDN 节点,术语叫“边缘节点”(edge node),其实就是缓存了源站内容的代理服务器,这样一来就省去了“长途跋涉”的时间成本,实现了“网络加速”

image.png

CDN 工作原理:

CDN访问过程

image.png

使用了CDN缓存后的网站的访问的过程变为:
其中DNS访问的过程 可以 参考

http缓存中的DNS

  • 1、用户输入访问的域名,操作系统向 LocalDns 查询域名的ip地址.
  • 2、LocalDns向 ROOT DNS 查询域名的授权服务器(这里假设LocalDns缓存过期)
  • 3、ROOT DNS将域名授权dns记录回应给 LocalDns
  • 4、LocalDns得到域名的授权dns记录后,继续向域名授权dns查询域名的ip地址
  • 5、域名授权dns 查询域名记录后(一般是CNAME),回应给 LocalDns
  • 6、LocalDns 得到域名记录后,向智能调度DNS查询域名的ip地址
  • 7、智能调度DNS 根据一定的算法和策略(比如静态拓扑,容量等),将最适合的CDN节点ip地址回应给 LocalDns
  • 8、LocalDns 将得到的域名ip地址,回应给 用户端
  • 9、用户得到域名ip地址后,访问站点服务器
  • 10、CDN节点服务器应答请求,将内容返回给客户端.(缓存服务器一方面在本地进行保存,以备以后使用,二方面把获取的数据返回给客户端,完成数据服务过程)

CDN网络的组成要素

每个CDN节点就相当于一个放置在它周围的网站服务器. 通过对dns的接管,用户的请求被透明地指向离他最近的节点,节点中CDN服务器会像网站的原始服务器一样,响应用户的请求. 由于它离用户更近,因而响应时间必然更快

智能调度:

  • 智能调度DNS 是CDN服务中的关键系统。它通过一组预先定义好的策略, 将当时最接近用户的节点地址提供给用户,使用户可以得到快速的服务
    同时它需要与分布在各地的CDN节点保持通信,跟踪各节点的健康状态、容量等信息

  • 缓存服务功能:
    1、负载均衡设备(如lvs,F5的BIG/IP)
    2、内容Cache服务器(如squid)
    3、共享存储

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。