共计 1559 个字符,预计需要花费 4 分钟才能阅读完成。
导读 | CDN 的全称是 Content Delivery Network,即内容分发网络。其目的是通过在现有的 Internet 中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。 |
CDN 的全称是 Content Delivery Network,即内容分发网络。其目的是通过在现有的 Internet 中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。CDN 有别于镜像,因为它比镜像更智能,或者可以做这样一个比喻:CDN= 更智能的镜像 + 缓存 + 流量导流。因而,CDN 可以明显提高 Internet 网络中信息流动的效率。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等问题,提高用户访问网站的响应速度。下面是一个简单的 CND 示意图
如上图所示,是 CDN 一个常见的架构示意图,其工作流程可以总结为:当用户访问已经加入 CDN 服务的网站时,首先通过 DNS 重定向技术确定最接近用户的最佳 CDN 节点,同时将用户的请求指向该节点。当用户的请求到达指定节点时,CDN 的服务器 (节点上的高速缓存) 负责将用户请求的内容提供给用户。具体流程为: 用户在自己的浏览器中输入要访问的网站的域名,浏览器向本地 DNS 请求对该域名的解析,本地 DNS 将请求发到网站的主 DNS,主 DNS 根据一系列的策略确定当时最适当的 CDN 节点,并将解析的结果 (IP 地址) 发给用户,用户向给定的 CDN 节点请求相应网站的内容
CDN 网络是在用户和服务器之间增加 Cache 层,主要是通过接管 DNS 实现,将用户的请求引导到 Cache 上获得源服务器的数据,从而降低网络的访问时间。
首先,让我们看一下传统的未加缓存服务的访问过程:
如图可以看出,传统的网络访问的流程如下:
1: 用户输入访问的域名, 操作系统向 LocalDns 查询域名的 ip 地址;2:LocalDns 向 ROOT DNS 查询域名的授权服务器(这里假设 LocalDns 缓存过期);3:ROOT DNS 将域名授权 dns 记录回应给 LocalDns;4:LocalDns 得到域名的授权 dns 记录后,继续向域名授权 dns 查询域名的 ip 地址;5: 域名授权 dns 查询域名记录后,回应给 LocalDns;6:LocalDns 将得到的域名 ip 地址,回应给用户端;7: 用户得到域名 ip 地址后,访问站点服务器;8: 站点服务器应答请求,将内容返回给客户端.
如上图,是使用 CDN 缓存后的网络访问流程:
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 地址后,访问站点服务器。宗上,CDN 网络是在用户和服务器之间增加 Cache 层,主要是通过接管 DNS 实现,将用户的请求引导到 Cache 上获得源服务器的数据,从而降低网络的访问的速度。