当前位置:首页> 模板建站动态> CDN与CDN加速原理

CDN与CDN加速原理

发布时间:2020-05-10 17:00:00

为了提高用户访问的响应速度,优化现有Internet的信息流,需要在用户和服务器之间增加一个中间层CDN。使用户能够以最快的速度从离用户最近的地方获取所需信息,彻底解决网络拥塞问题,提高响应速度,是大型网站普遍采用的应用方案

根据加速对象的不同,可以分为客户端加速和服务器加速

CDN对网络的优化效果主要体现在以下几个方面

让我们先看一下传统无缓存服务的访问过程,了解CDN缓存访问模式和无缓存访问模式之间的区别:

CDN网络是在用户和服务器之间增加缓存层,主要通过接管DNS,引导用户请求缓存来获取源服务器的数据来实现。让我们看看使用CDN缓存后访问网站的过程:

从以上分析可以看出,为了实现对普通用户的透明访问(使用缓存后用户客户端没有任何设置),需要使用DNS(域名解析)来引导用户访问缓存服务器,实现透明的加速服务。由于用户访问网站的第一步是域名解析,因此通过修改DNS来引导用户访问是最简单有效的方法

对于普通的互联网用户来说,每个CDN节点都相当于放置在其周围的一个web服务器。通过接管DNS,用户的请求被透明地定向到最近的节点。节点中的CDN服务器将像web站点的原始服务器一样响应用户的请求。因为它离用户更近,所以响应时间会更快

上图中的虚线是CDN层,位于客户机和站点服务器之间

在系统中,执行dig命令,输出如下:

在系统中,继续执行dig命令,输出如下:

结论:一般来说,当一个网站需要使用CDN服务时,一般是在CDN服务提供商的域名中添加CNAME这个需要快速访问的域名。缓存服务和调度功能由服务提供者完成。

当用户请求解析域名时,智能DNS判断用户的localdns的IP地址,然后匹配DNS服务器内的IP表范围,查看用户是电信用户还是网通用户,然后将相应的IP地址返回给用户。这里使用静态拓扑方法,只判断localdns的IP地址。要使用更复杂的调度算法,请考虑商业产品,如F5的3dns。

这里我们将使用bind的view函数来区分运算符。假设我们在每个操作员的机房中都有一个CDN节点。清单如下:

注意:在这个过程中,我们简化了主DNS和智能DNS之间的CNAME过程(简要说明问题)。这里我们使用静态拓扑(基于IP范围),也称为区域化方法,来判断本地DNS的IP