CDN(内容分发网络)知识篇


        CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。

一、图解CDN作用:

使用CDN加速前的情况:

传统网络中,网站服务器一般为单线路接入互联网,无法满足不同地区,不同线路的用户进行高速访问。

网站打不开,网页显示慢,是十分不利于网站运营和发展的!


 

使用CDN加速服务以后:


CDN在国内不同线路,不同机房部署了CDN加速节点,实现网站数据就近读取,减少数据读取的等待时间。

由于CDN节点分担了很大一部分数据请求,极大的降低WEB源服务器的访问压力。

由于CDN节点和网站源服务器可能不是相同线路,WDCDN实现了BGP多线回源请求数据。

访客访问数据是从CDN节点读取数据,网站源服务器的IP可以隐藏。保证安全和防止恶意攻击!


二、CDN服务模式

  实际上,内容分发网络(CDN)是一种新型的网络构建方式,它是为能在传统的IP网发布宽带丰富媒体而特别优化的网络覆盖层;而从广义的角度,CDN代表了一种基于质量与秩序的网络服务模式。 
  简单地说,内容发布网(CDN)是一个经策略性部署的整体系统,包括分布式存储、负载均衡、网络请求的重定向和内容管理4个要件,而内容管理和全局的网络流量管理(Traffic Management)是CDN的核心所在。通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务。 

  总的来说,内容服务基于缓存服务器,也称作代理缓存(Surrogate),它位于网络的边缘,距用户仅有"一跳"(Single Hop)之遥。同时,代理缓存是内容提供商源服务器(通常位于CDN服务提供商的数据中心)的一个透明镜像。这样的架构使得CDN服务提供商能够代表他们客户,即内容供应商,向最终用户提供尽可能好的体验,而这些用户是不能容忍请求响应时间有任何延迟的。

三、CDN 的工作原理

  在描述CDN的实现原理,让我们先看传统的未加缓存服务的访问过程,以便了解CDN缓存访问方式与未加缓存访问方式的差别:

  由上图可见,用户访问未使用CDN缓存网站的过程为:

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

  2)、浏览器调用域名解析函数库对域名进行解析,以得到此域名对应的IP地址;

  3)、浏览器使用所得到的IP地址,域名的服务主机发出数据访问请求;

  4)、浏览器根据域名主机返回的数据显示网页的内容。

  通过以上四个步骤,浏览器完成从用户处接收用户要访问的域名到从域名服务主机处获取数据的整个过程。CDN网络是在用户和服务器之间增加Cache层,如何将用户的请求引导到Cache上获得源服务器的数据,主要是通过接管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)、当需要进行sorlist时,CDN运营商可以利用DNS对CNAME指向的域名解析过程进行特殊处理,使DNS服务器在接收到客户端请求时可以根据客户端的IP地址,返回相同域名的不同IP地址;

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

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


四、关键技术
  (1)内容发布:它借助于建立索引、缓存、流分裂、组播(Multicast)等技术,将内容发布或投递到距离用户最近的远程服务点(POP)处; 
  (2)内容路由:它是整体性的网络负载均衡技术,通过内容路由器中的重定向(DNS)机制,在多个远程POP上均衡用户的请求,以使用户请求得到最近内容源的响应; 
  (3)内容交换:它根据内容的可用性、服务器的可用性以及用户的背景,在POP的缓存服务器上,利用应用层交换、流分裂、重定向(ICP、WCCP)等技术,智能地平衡负载流量; 
  (4)性能管理:它通过内部和外部监控系统,获取网络部件的状况信息,测量内容发布的端到端性能(如包丢失、延时、平均带宽、启动时间、帧速率等),保证网络处于最佳的运行状态。 


五、应用举例
  目前,国内访问量较高的大型网站如新浪、网易等,均使用CDN网络加速技术,虽然网站的访问巨大,但无论在什么地方访问都会感觉速度很快。而一般的网站如果服务器在网通,电信用户访问很慢,如果服务器在电信,网通用户访问又很慢。 
  它采取了分布式网络缓存结构(即国际上流行的web cache技术),通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的cache服务器内,通过DNS负载均衡的技术,判断用户来源就近访问cache服务器取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度,如同提供了多个分布在各地的加速器,以达到快速、可冗余的为多个网站加速的目的。 
  CDN服务最初用于确保快速可靠地分发静态内容,这些内容可以缓存,最适合在网速庞大的网络中存储和分发,该网络在几十多个国家的十几个网络中的覆盖CDN网络服务器。 
  由于动态内容必须通过互联网来传输,因此要提供快速的网络体验,以满足当今用户的要求,只能通过对互联网流量的独特视角来达到。必须使用先进技术来了解通过互联网的最佳路由,充分利用这些最佳路由,加速通过互联网协议的数据通讯,以改善用户的网络体验。 


附:

1、CDN和双线机房相比有何优势?
  常见的双线机房只能解决网通和电信互相访问慢的问题,其它ISP(譬如教育网,移动网,铁通)互通的问题还是没得到解决。而CDN是访问者就近取数据,而CDN的节点遍布各ISP,从而保证了网站到任意ISP的访问速度。另外CDN因为其流量分流到各节点的原理,天然获得抵抗网络攻击的能力。

2、为什么我的网站更新后,通过CDN后看到网页还是旧网页,如何解决?
  由于CDN采用各节点缓存的机制,网站的静态网页和图片修改后,如果CDN缓存没有做相应更新,则看到的还是旧的网页。为了解
  决这个问题,CDN管理面板中提供了URL推送服务,来通知CDN各节点刷新自己的缓存。
  在URL推送地址栏中,输入具体的网址或者图片地址,则各节点中的缓存内容即被统一删除,并且当即生效。
  如果需要推送的网址和图片太多,可以选择目录推送,输入 http://www.kkk.com/news 即可以对网站下news目录下所有网页和图片进行了刷新。

选抄自:http://kb.cnblogs.com/page/121664/ 

               http://wiki.baiwanzhan.com/term/seo/cdn/

                http://www.wdcdn.com/wdcdn0318/faq.html



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CDN(Content Delivery Network)内容分发网络是一种通过在全球多个节点部署服务器,将内容缓存并分发至用户就近访问的技术。CDN适用于以下几个应用场景: 1. 高并发网站加速:对于访问量较大的网站,CDN可以将静态资源(如图片、CSS、JavaScript、视频等)缓存在离用户较近的节点上。这样可以减少用户请求的响应时间,提高网站的访问速度和用户体验。 2. 视频点播和直播:CDN可以为视频点播和直播提供高质量的服务。通过在全球各地的节点缓存视频内容CDN可以减少视频传输中的延迟和卡顿现象,提供流畅的观看体验。 3. 软件和游戏下载加速:对于需要下载较大文件的软件和游戏,CDN可以将这些文件缓存到离用户最近的节点上。这样可以加快下载速度,减少带宽消耗,并提供更好的下载体验。 4. 移动应用加速:对于移动应用,CDN可以加速应用程序、图片、音视频等内容的传输。通过将这些内容缓存在离用户最近的节点上,CDN可以减少数据传输的延迟和流量消耗,提高应用的响应速度和用户体验。 5. 动态内容加速:CDN不仅可以缓存静态内容,还可以缓存部分动态内容。通过将动态内容缓存在离用户最近的节点上,CDN可以减轻源服务器的压力,提高动态内容的传输速度和可靠性。 总之,CDN适用于各种需要分发内容并提高访问速度的场景,可以为用户提供更快、更可靠的访问体验,并减少源服务器的负载压力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值