CDN原理解析

首先,让我们来看一下传统的Internet网络的基本结构和数据传输情况,如下图所示。

Internet 网络基本结构及数据传输方式

根据传统的网络结构,用户的访问流程基本如下:

1.用户在自己的浏览器中输入要访问的网站的域名

2.浏览器向本地DNS请求对该域名的解析

3.本地DNS将请求发到网站授权的DNS服务器

4.授权DNS将服务器的IP地址作为解析结果送给本地DNS

5.本地DNS将解析结果返还给用户,同时将该解析结果保存在自己的缓存中,直到相应的TTL(生存周期)过期,才再向网站的授权DNS请求解析

6.用户在得到IP地址后,向该地址所指向的网站的服务器进行访问;

上述传统的访问模式存在着如下几个严重影响互联网用户的访问效率和质量的环节:

     首先,传统的DNS解析过程在将网站主机域名转换为IP地址时,并不预先判断该服务器是否正常工作;即使该服务器已经宕机不能提供服务了,用户的请求仍将被发往这台服务器,造成服务的中断。

     其次,互联网从诞生的第一天起,就缺乏一个专门的中央管理结构,也缺乏统一的产品和技术标准。这一点曾是互联网得以迅速发展的优势。但是,随着互联网的 规模越来越大,这一点造成了众多不同网络结构并存的局面。不同网络间的兼容以及不同网络运营商/ISP之间的传输瓶颈等问题使得数据的流通受到限制。据统 计,现有互联网上的平均传输速率不高于30Kbps。

     另外,现有的互联网以数据包传输为基础,任何一个数据包的丢失或出错都必须重新发送,而平均一个重传过程需要3秒钟,从而导致延迟。并且现有的HTTP 协议也有诱发延迟的因素,据调查,完整下载一个网页,需要在用户和服务器之间往返20~100次。

     最后,现有的路由技术以路由器工作状态的历史数据为依据来确定当前数据包的传输路径,无法真实反应当前的路由和网络连接状况。这往往会导致数据传输所经 过的路径并不是当前的最佳路径。而且,众多的路由器和交换机不但使数据传输的时间延迟增大,还会增加出错的几率,因为任何一个路由器出现问题都会影响到整 个传输过程。

CDN是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容, 解决Internet网络拥塞状况,提高用户访问网站的响应速度。其技术原理是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,系统通过 在精心挑选的网络各处放置节点服务器,从而将网站的内容放置到离用户最近、最快的地方,避免了上述影响互联网传输性能的“第一公里”和“网间互联瓶颈”等 各个环节,从而实现跨地区、跨运营商网络加速服务。

其技术优点,CDN全球网络镜像及加速引擎使用本地Cache加速,镜像服务,远程加速,带宽优化,可扩展性,VPN高速压缩通道以及集群抗攻击技术实现 网络负载均衡,智能多线,自动获取最快路径并支持网通,电信,香港和教育网镜像,实现真正意义上的网络加速。

     与智能DNS解析相比CDN全球网络镜像及加速引擎不仅仅实现了网络负载均衡,并在智能 DNS解析的基础上,使用本地Cache加速,镜像服务,远程加速,带宽优化,可扩展性,VPN高速压缩通道以 及集群抗攻击等最新技术,实现智能多线,自动获取最快路径。可见比起智能DNS解析使用CDN能为用户提供更优 ,更快,更安全的网络服务并实现真正的意义上的网络加速。

使用了CDN缓存后的网站的访问过程变为:

1)、用户向浏览器提供要访问的域名;

2)、浏览器调用域名解析库对域名进行解析,由于CDN对域名解析过程进 行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实际IP地址,浏览器需要再次对获得的CNAME域名进行解析以得到实际的 IP地址;在此过程中,使用的全局负载均衡DNS解析,如根据地理位置信息解析对应的IP地址,使得用户能就近访问。

3)、此次解析得到CDN缓存服务器的IP地址,浏览器在得到实际的IP地址以后,向缓存服务器发出访问请求;

4)、缓存服务器根据浏览器提供的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求;

5)、缓存服务器从实际IP地址得得到内容以后,一方面在本地进行保存,以备以后使用,另一方面把获取的数据返回给客户端,完成数据服务过程;

6)、客户端得到由缓存服务器返回的数据以后显示出来并完成整个浏览的数据请求过程。

通过以上的分析我们可以得到,为了实现既要对普通用户透明(即加入缓存以 后用户客户端无需进行任何设置,直接使用被加速网站原有的域名即可访问,又要在为指定的网站提供加速服务的同时降低对ICP的影响,只要修改整个访问过程 中的域名解析部分,以实现透明的加速服务,下面是CDN网络实现的具体操作过程。

1)、作为ICP,只需要把域名解释权交给CDN运营商,其他方面不需要进行任何的修改;操作时,ICP修改自己域名的解析记录,一般用cname方式指向CDN网络Cache服务器的地址。

2)、作为CDN运营商,首先需要为ICP的域名提供公开的解析,为了实现sortlist,一般是把ICP的域名解释结果指向一个CNAME记录;

3)、当需要进行sortlist时,CDN运营商可以利用DNS对CNAME指向的域名解析过程进行特殊处理,使DNS服务器在接收到客户端请求时可以根据客户端的IP地址,返回相同域名的不同IP地址;

4)、由于从cname获得的IP地址,并且带有hostname信息,请求到达Cache之后,Cache必须知道源服务器的IP地址,所以在CDN运营商内部维护一个内部DNS服务器,用于解释用户所访问的域名的真实IP地址;

5)、在维护内部DNS服务器时,还需要维护一台授权服务器,控制哪些域名可以进行缓存,而哪些又不进行缓存,以免发生开放代理的情况。

在国内访问量较高的大型网站如新浪、网易等,均使用CDN网络加速技术,虽然网站的访问巨大,但无论在什么地方访问都会感觉速度很快。而一般的网站如果服务器在网通,电信用户访问很慢,如果服务器在电信,网通用户访问又很慢。

  采取了分布式网络缓存结构(即国际上流行的web cache技术),通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的cache服务器内,通过DNS负载均衡的技 术,判断用户来源就近访问cache服务器取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度,如同提供了多个分布在各地的 加速器,以达到快速、可冗余的为多个网站加速的目的。

  CDN服务最初用于确保快速可靠地分发静态内容,这些内容可以缓存,最适合在网速庞大的网络中存储和分发,该网络在几十多个国家的十几个网络中的覆盖CDN网络服务器。

  由于动态内容必须通过互联网来传输,因此要提供快速的网络体验,以满足当今用户的要求,只能通过对互联网流量的独特视角来达到。必须使用先进技术来了解通过互联网的最佳路由,充分利用这些最佳路由,加速通过互联网协议的数据通讯,以改善用户的网络体验。

1、本地Cache加速 提高了企业站点(尤其含有大量图片和静态页面站点)的访问速度,并大大提高以上性质站点的稳定性

2、镜像服务 消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营商的网络加速,保证不同网络中的用户都能得到良好的访问质量。

3、远程加速远程访问用户根据DNS负载均衡技术智能自动选择Cache服务器,选择最快的Cache服务器,加快远程访问的速度

4、带宽优化 自动生成服务器的远程Mirror(镜像)cache服务器,远程用户访问时从cache服务器上读取数据,减少远程访问的带宽、分担网络流量、减轻原站点WEB服务器负载等功能。

5、集群抗攻击 广泛分布的CDN节点加上节点之间的智能冗余机制,可以有效地预防黑客入侵以及降低各种D.D.o.S攻击对网站的影响,同时保证较好的服务质量 。

猜你喜欢

转载自www.cnblogs.com/redfire/p/11957220.html