什么是cdn?
专门解决长距离上网络访问速度慢而诞生的一种网络应用服务
CDN 的最核心的原则就是就近访问
CDN 投入了大笔资金,在全国、乃至全球的各个大枢纽城市都建立了机房,部署了大量拥有高存储高带宽的节点,构建了一个专用网络。
这个网络是跨运营商、跨地域的,
虽然内部也划分成多个小网络,但它们之间用高速专有线路连接,是真正的“信息高速公路”,基本上可以认为不存在网络拥堵
用户在上网的时候就不直接访问源站,
而是访问离他“最近的”一个 CDN 节点,术语叫“边缘节点”(edge node)
,其实就是缓存了源站内容的代理服务器,这样一来就省去了“长途跋涉”的时间成本,实现了“网络加速”
image.png
CDN 工作原理:
CDN访问过程
image.png
使用了CDN缓存后的网站的访问的过程变为:
其中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、共享存储