CDN(Content Delivery Network, 内容分发网络), 其目的是通过在现有的Internet中增加一层新的网络架构, 将网站的内容发布到离最接近用户的网络边缘, 使用户可以就近取得所需要的内容,解决Internet网络拥塞的状况, 提高用户访问网站的响应速度.
CDN主要通过接管DNS实现, 下面是访问一个具有CDN缓存的网站的过程.
1) 用户提交域名:www.example.com(域名解析时使用CNAME指向相应的CDN)
2) 浏览器对域名进行解析
3) CDN域名服务器返回指定域名的CNAME记录(e.g. a.excdn.com)
4) 浏览器对CNAME记录进行再解释(根据策略获得相应的IP)
5) 向CDN缓存服务器IP地址发送访问请求
6) 缓存服务器依据Header中的HOST,根据内部DNS得到真实主机IP,处理完返回客户端
7) 客户端回显
理论上,最简单的CDN网络有一个负责全局负载均衡的DNS和各节点一台Cache, 即可运行. DNS根据用户的源IP解析为不同的IP,实现就近访问.