<cite id="pbjvp"></cite>

        <menuitem id="pbjvp"><em id="pbjvp"></em></menuitem>
        <ins id="pbjvp"></ins>

        <ins id="pbjvp"><video id="pbjvp"><mark id="pbjvp"></mark></video></ins>
        
        

        <output id="pbjvp"><em id="pbjvp"><b id="pbjvp"></b></em></output>

              <i id="pbjvp"><video id="pbjvp"><b id="pbjvp"></b></video></i>
              <mark id="pbjvp"></mark>
              <b id="pbjvp"><em id="pbjvp"><mark id="pbjvp"></mark></em></b>

              Jquery中文网 www.myllop.cn
              Jquery中文网 >  服务器技术  >  应用加速  >  正文 web网站加速之CDN技术原理

              web网站加速之CDN技术原理

              发布时间:2014-08-15   编辑:www.myllop.cn
              web网站加速之CDN技术原理

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

                      在不同地域的用户访问网站的响应速度存在差异,为了提高用户访问的响应速度、优化现有Internet中信息的流动,需要在用户和服务器间加入中间层CDN. 使用户能以最快的速度,从最接近用户的地方获得所需的信息,彻底解决网络拥塞,提高响应速度,是目前大型网站使用的流行的应用方案.

              1. CDN 概述

                  CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络"边缘"的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,提高用户访问网站的响应速度。

                img1

                  Cache层的技术,消除数据峰值访问造成的结点设备阻塞。Cache服务器具有缓存功能,所以大部分网页对象(Web page object),如html, htm, php等页面文件,gif,tif,png,bmp等图片文件,以及其他格式的文件,在有效期(TTL)内,对于重复的访问,不必从原始网站重新传送文件实体, 只需通过简单的认证(Freshness Validation)- 传送几十字节的Header,即可将本地的副本直接传送给访问者。由于缓存服务器通常部署在靠近用户端,所以能获得近似局域网的响应速度,并有效减少广域带宽的消耗。不仅能提高响应速度,节约带宽,对于加速Web服务器,有效减轻源服务器的负载是非常有效的。

                  根据加速对象不同,分为 客户端加速 和 服务器加速。
                  客户端加速 : Cache部署在网络出口处,把常访问的内容缓存在本地,提高响应速度和节约带宽;
                  服务器加速 : Cache部署在服务器前端,作为Web服务器的代理缓存机,提高Web服务器的性能,加速访问速度
                  如果多台Cache加速服务器且分布在不同地域,需要通过有效地机制管理Cache网络,引导用户就近访问(比如通过DNS引导用户),全局负载均衡流量,这是CDN内容传输网络的基本思想.

                  CDN对网络的优化作用主要体现在如下几个方面  - 解决服务器端的“第一公里”问题  - 缓解甚至消除了不同运营商之间互联的瓶颈造成的影响  - 减轻了各省的出口带宽压力  - 缓解了骨干网的压力  - 优化了网上热点内容的分布

              2. CDN 的工作原理
              2.1. 传统访问过程(未加速缓存服务)

              我们先看传统的未加缓存服务的访问过程,以便了解CDN缓存访问方式与未加缓存访问方式的差别:

              img2

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

                  用户输入访问的域名,操作系统向 LocalDns 查询域名的ip地址.
                  LocalDns向 ROOT DNS 查询域名的授权服务器(这里假设LocalDns缓存过期)
                  ROOT DNS将域名授权dns记录回应给 LocalDns
                  LocalDns得到域名的授权dns记录后,继续向域名授权dns查询域名的ip地址
                  域名授权dns 查询域名记录后,回应给 LocalDns
                  LocalDns 将得到的域名ip地址,回应给 用户端
                  用户得到域名ip地址后,访问站点服务器
                  站点服务器应答请求,将内容返回给客户端.

              2.2. CDN访问过程(使用缓存服务)

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

              img3

              通过上图,我们可以了解到,使用了CDN缓存后的网站的访问过程变为:

                  用户输入访问的域名,操作系统向 LocalDns 查询域名的ip地址.
                  LocalDns向 ROOT DNS 查询域名的授权服务器(这里假设LocalDns缓存过期)
                  ROOT DNS将域名授权dns记录回应给 LocalDns
                  LocalDns得到域名的授权dns记录后,继续向域名授权dns查询域名的ip地址
                  域名授权dns 查询域名记录后(一般是CNAME),回应给 LocalDns
                  LocalDns 得到域名记录后,向智能调度DNS查询域名的ip地址
                  智能调度DNS 根据一定的算法和策略(比如静态拓扑,容量等),将最适合的CDN节点ip地址回应给 LocalDns
                  LocalDns 将得到的域名ip地址,回应给 用户端
                  用户得到域名ip地址后,访问站点服务器
                  CDN节点服务器应答请求,将内容返回给客户端.(缓存服务器一方面在本地进行保存,以备以后使用,二方面把获取的数据返回给客户端,完成数据服务过程)

              通过以上的分析我们可以得到,为了实现对普通用户透明(使用缓存后用户客户端无需进行任何设置)访问,需要使用DNS(域名解析)来引导用户来访问Cache服务器,以实现透明的加速服务. 由于用户访问网站的第一步就是 域名解析 ,所以通过修改dns来引导用户访问是最简单有效的方式.
              2.3. CDN网络的组成要素

              对于普通的Internet用户,每个CDN节点就相当于一个放置在它周围的网站服务器.
              通过对dns的接管,用户的请求被透明地指向离他最近的节点,节点中CDN服务器会像网站的原始服务器一样,响应用户的请求.
              由于它离用户更近,因而响应时间必然更快.

              从上面图中 虚线圈起来的那块,就是CDN层,这层是位于 用户端 和 站点服务器之间.

                  智能调度DNS(比如f5的3DNS)

                  智能调度DNS是CDN服务中的关键系统.当用户访问加入CDN服务的网站时,域名解析请求将最终由 智能调度DNS 负责处理.
                  它通过一组预先定义好的策略,将当时最接近用户的节点地址提供给用户,使用户可以得到快速的服务.
                  同时它需要与分布在各地的CDN节点保持通信,跟踪各节点的健康状态,容量等,确保将用户的请求分配到就近可用的节点上.

                  缓存功能服务
                      负载均衡设备(如lvs,F5的BIG/IP)
                      内容Cache服务器(如squid)
                      共享存储(根据缓存数据量多少决定是否需要)

              3. CDN 智能调度Dns 实例分析
                  分析img.alibaba.com域名
                  在系统中,执行dig命令,输出如下:

              复制代码 代码如下:
              #dig img.alibaba.com      
                   
                    ; 部分省略
                   
                    ;; QUESTION SECTION:
                    ;img.alibaba.com.  IN A
                   
                    ;; ANSWER SECTION:
                    img.alibaba.com. 600 IN CNAME img.alibaba.com.edgesuite.net.
                    img.alibaba.com.edgesuite.net. 7191 IN CNAME img.alibaba.com.georedirector.akadns.net.
                    img.alibaba.com.georedirector.akadns.net. 3592 IN CNAME a1366.g.akamai.net.
                    a1366.g.akamai.net. 12 IN A 204.203.18.145
                    a1366.g.akamai.net. 12 IN A 204.203.18.160
                   
                    ; 部分省略

                  从上面查询结果可以看出 img.alibaba.com. CNAME img.alibaba.com.edgesuite.net. 后面的CNAME是由 Akamai(CDN服务商) 去跳转到 智能调度器上的.

                  分析www.discovery.com域名

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

              复制代码 代码如下:
                #dig www.discovery.com
                   
                    ; 部分省略
                   
                    ;; QUESTION SECTION:
                    ;www.discovery.com.  IN A
                   
                    ;; ANSWER SECTION:
                    www.discovery.com. 1077 IN CNAME www.discovery.com.edgesuite.net.
                    www.discovery.com.edgesuite.net. 21477 IN CNAME a212.g.akamai.net.
                    a212.g.akamai.net. 20 IN A 204.203.18.154
                    a212.g.akamai.net. 20 IN A 204.203.18.147
                   
                    ; 部分省略

                  从上面查询结果可以看出 www.discovery.com. IN CNAME www.discovery.com.edgesuite.net. 后面的CNAME是由 Akamai(CDN服务商) 去跳转到 智能调度器上的.

                  总结:一般来说,网站需要使用到CDN服务时,一般都是将需要加速访问的域名 CNAME到 CDN服务商的域名上.
                  缓存服务和调度功能都是由服务商来完成.

              4. CDN的 智能调度Dns 简化实现
              4.1. 调度策略说明

              在用户请求解析域名的时候,智能DNS判断用户的LocalDns的IP,然后跟DNS服务器内部的IP表范围匹配一下,看看用户是电信还是网通用户,然后给用户返回对应的IP地址
              这里使用的是静态拓扑的方法,只是判断LocalDns的IP.要想使用更复杂的调度算法可以考虑商业产品,如F5的3DNS.
              4.2. 假设CDN节点规划

              在这里我们将使用 BIND 的View功能来实现运营商的区分,假设我们在每个运营商的机房都放有一个CDN节点,列表如下:  

              复制代码 代码如下:
              域名  运营商(view)  服务地址
              www.cdntest.com  网通(CNC)  192.168.0.1
              www.cdntest.com  电信(TELECOM)  192.168.0.2
              www.cdntest.com  教育网(EDU)  192.168.0.3
              www.cdntest.com  默认(ANY)  192.168.0.4

              4.3. bind view 配置

                  以下是named.conf配置文件的部分截取,只是涉及到 View 的部分,其他细节可参考互联网.

              复制代码 代码如下:
                    acl "cnc_iprange"{   //定义ip范围(网通)
                    192.168.1.0/24; 
                    192.168.2.0/24;
                    //此处只是示例,其他省略
                    }; 
                   
                    acl "tel_iprange"{  //定义ip范围(电信)
                    192.168.3.0/24; 
                    192.168.4.0/24;
                    //其他省略
                    };
                    
                    acl "edu_iprange"{  //定义ip范围(教育网)
                    192.168.5.0/24; 
                    192.168.6.0/24;
                    //其他省略
                    };
                    
                    acl "default_iprange"{ //定义ip范围(默认)
                    192.168.7.0/24; 
                    192.168.8.0/24;
                    //其他省略
                    };
                   
                   
                    view "CNC" {
                     Match-clients{cnc_iprange};
                     zone "." IN {
                          type hint;
                          file "named.root";
                     };
                   
                     zone "localhost" IN {
                          type master;
                          file "localhost.zone";
                          allow-update { none; };
                     };
                     
                     zone "cdntest.com" IN {
                          type master;
                          file "cnc_cdntest.zone";
                     };
                    };
                   
                    view "TEL" {
                     Match-clients{tel_iprange};
                     zone "." IN {
                          type hint;
                          file "named.root";
                     };
                   
                     zone "localhost" IN {
                          type master;
                          file "localhost.zone";
                          allow-update { none; };
                     };
                     
                     zone "cdntest.com" IN {
                          type master;
                          file "tel_cdntest.zone";
                     };
                    };
                   
                    view "EDU" {
                     Match-clients{edu_iprange};
                     zone "." IN {
                          type hint;
                          file "named.root";
                     };
                   
                     zone "localhost" IN {
                          type master;
                          file "localhost.zone";
                          allow-update { none; };
                     };
                     
                     zone "cdntest.com" IN {
                          type master;
                          file "edu_cdntest.zone";
                     };
                    };
                   
                    view "DEFAULT" {
                     Match-clients{default_iprange};
                     zone "." IN {
                          type hint;
                          file "named.root";
                     };
                   
                     zone "localhost" IN {
                          type master;
                          file "localhost.zone";
                          allow-update { none; };
                     };
                     
                     zone "cdntest.com" IN {
                          type master;
                          file "default_cdntest.zone";
                     };
                    };

                  zone文件的配置说明

                  这4个zone配置文件(cnc_cdntest.zone,tel_cdntest.zone,edu_cdntest.zone,default_cdntest.zone)中,只有www.cndtest.com的A记录不一样,其他的都是一样.

              复制代码 代码如下:
              域名  zone配置文件  A记录地址
              www.cdntest.com  cnc_cdntest.zone  192.168.0.1
              www.cdntest.com  tel_cdntest.zone  192.168.0.2
              www.cdntest.com  edu_cdntest.zone  192.168.0.3
              www.cdntest.com  default_cdntest.zone  192.168.0.4

              以上只列出了 www.cdntest.com 的A记录地址,其他关于zone的语法 请参考互联网.

                  域名解析流程简要说明

                  用户向 LocalDns 查询域名 www.cdntest.com
                  LocalDns 向 授权DNS 查询www.cdntest.com
                  授权DNS 判断用户使用的 LocalDns的ip地址,匹配上述设置的ip范围,如果范围在网通,就将网通对应的ip地址(192.168.0.1),回应给LocalDns(其他依此类推)
                  LocalDns 将得到的域名ip地址,回应给 用户端 (域名解析完成)

                  说明:再此过程中,我们简化了主DNS 到 智能DNS 之间的CNAME过程(为了简要说明问题).
                  这里使用的是静态拓扑(根据ip范围)的方法,也称为地域化方法,只是判断LocalDns的IP.

                  此简化方案中的存在的问题

                  如果用户设置错误的dns,可能会导致用户访问比原来慢(比如网通用户设置了电信的DNS)
                  不能判断CDN节点服务器的健康状态和容量状态,可能会把用户定向到不可用的CDN节点
                  由于静态拓扑方法,可能存在用户访问的CDN节点不是最优化和最快的
                  .....可能还有其他想不到的....

              5. 总结(Summary)

              在建立CDN网路时,最关键的就是 智能调度DNS,这个是CND网络总协调,通过高效的调度算法,可以使用户得到最佳的访问体验.
              其次就是 CND节点的管理,比如涉及到 内容的同步机制,配置文件的更新等等,都需要有一套机制来保证.
              当然在大型网站中,也要考建设CDN体系的成本和回报率.

              本文转自: http://www.51know.info/system_performance/cdn/cdn.html
              作者:北方人

              您可能感兴趣的文章:
              web网站加速之CDN技术原理
              squid反向代理配置(web服务器的前端内容缓存器)
              (图文)IIS6.0压缩配置
              怎么让百度快速收录新网站
              用缓冲技术提高JSP应用的性能和稳定性
              apache启用gzip压缩方法
              IIS压缩及性能优化
              php添加关联链接的代码
              jQuery cdn使用介绍
              web开发人员学习jQuery的6大理由及jQuery的优势介绍

              [关闭]
              246好彩天天免费资枓大全 <二四六03024>| <二四六z资料>| <二四六老地主>| <二四六老地主论坛>| <246天天好彩玄机图>| <246天天好彩票玄机图片>| <246好彩天天免费资枓大全>| <二四六天天好彩彩玄机资枓>| <二四天天正版免费资枓大>| <二四六天天好彩每期文字賧料>| <二四六天天好彩毎期文字资料>| <二四六天天好彩毎期文字图片玄机>| <二四六天天人好彩网手机版>| <二四六天天好彩手机版—每期>| <二四六天天好彩免费网手机板>| <二四六天天好手机版本>| <二四六天天好彩彩玄机资枓>| <246好彩天天免费资枓大全>| <二四六天天好彩彩玄机资枓>| <二四天天正版免费资枓大>| <二四天天正版好彩免费资枓1>| <二四六天天好彩头首页>| <二四六天天网手机版>| <二四六玄机图片天天好彩玄机图>| <图片玄机二四六天天好彩资料大全 www.308k.com>| <二四六天天好彩费网站大全>| <精选二四六天天好彩手机版>| <二四六天天好资料大全168>| <二四六天天好来 资料大全>| <二四六天天好资料大全50期蓝月亮>| <246天天免费彩资料大全>| <二四六天天好彩资枓大全>| <二四天天正版免费资枓大全>| <二四六天天好彩免费全年资枓大全>| <二四六天天免费好彩资料大全>| <二四六天天免费好彩资料图>| <二四六天天免费好彩资料大全168>| <743cc二四六天天好釆免费资料>| <246好彩天天免费资枓大全>| <天下釆彩与你同行资料二四六>| <二四六天天好彩资料246>| <二四六天天玄机资料大全>| <308二四六玄机资料大全二四六天天玄机图资料>| <香港二四六玄机资料>| <3o8k com二四六天天好彩文字资枓>| <246好彩天天免费资枓大全>| <二四六好彩资料大全308kk>| <二四六天天好彩彩免费资料大全>| <743cc二四六天天好釆免费资料>| <734cc期期好彩免费资枓大全>| <二四六好彩正版资料>| <308k二四六天好彩资料大全>| <二四六天天,好彩资料开奖>| <玄机二四六天天彩>| <二四六天天天好彩图片玄机>| <二四六天天好彩玄机图库>| <二四六天天如彩正版免费资料大全>| <二四六天天彩玄机免费资料大全>| <二四六天天好彩每期文资子料大全>| <二四六天天香港好彩资料大全>| <二四六天天好彩资料免费大全送>| <香港二四六天天好彩正版资料大全>| <308k二四六好彩资料大全>| <246天天彩免费资料308k>| <246天天好彩资料app>| <二四六天天好彩app下载>| <500502二四六天天彩>| <天天好彩246app>| <246天天好彩资料app>| <二四六天天好彩一每期文字资料>| <二四六天天好彩图片玄机下载>| <246好彩天天免费资枓大全>| <天下釆彩与你同行资料二四六>| <246免费资料大全天天好彩>| <246免费资料大全开>| <246好彩天天免费资枓大全>| <246天天好·彩免费资料大全>| <246天天好彩正版资>| <246天天好彩免费大全资料308k>| | | <新址246天天好彩>| <新址天天好彩二四六>| <246天天好彩开奖944cc>| <246好彩天天免费资枓大全>| <图玄机246天天好彩资料>| <246天天好彩资料全>| <246天天好彩玄机图片>| <246天天好彩免费944cc>| <246556 民间高手论坛>| <246正版天天好彩免费资枓大全>| <246正板天天好彩免费资枓大全>| <308kcom二四六天天彩>| <246玄机图资料天天好彩>| <246天天好彩免费资料大全308>| <二四六免费资料大全正>| <二四六天空彩资料大全>| <二四六天天好彩兔费咨料大全>| <246zl天天好·彩免费资料大全>| <246zl天天944cc好彩免费资料大全>| <二四六正版免费资料大全743cc>| <二四六天天好彩资料大全首页>| <二四六天天好彩免费资料308k>| <二四六免费资料玄机>| <二四六天天好彩资免费大全资料>| <308k二四六天天好彩i>| <246zl天天好·彩免费资料大全>| <二四六天天好彩网手机版 免费>| <天天好彩246资料308图库>| <246天天免费资料大全开奖结果>| <246天天免费资料大全玄机>| <二四六天天好彩免费资料大全168i>| <二四六天天好彩zl246cc>| <精选好彩二四六天天好彩>| <黄大仙精选二四六天天好彩>| | <蓝月亮精选二四六免费天天好彩>| <二四六天天好彩全年免费玄机料>| <二四六图片玄机资料大全>| <二四六玄机图片花仙子>| <香港二四六玄机资料图>| <二四六天天好采玄机资料大全>| <天天二四六玄机>| <二四六天天好彩免费资枓全免费>| <二四六天天好彩资枓免费>| <玄机图二四六天天好彩免费资料>| <二四六天天彩与你同行开奖>| <246好彩天天免费资枓大全>| <二四六天天手机版玄机图资料大全>| <308kcom二四六天天好彩玄机资料>| <二四六好彩正版资料大全>| <香港二四六天天好彩兔费资>| <308k二四六天天好彩 资料>| <二四六玄机图 彩图102>| <二四六天天彩正版资料>| <香港二四六玄机图>| <香港二四六好彩资料246>| <308kcom二四六玄机资料>| <二四六天天好彩正版文字资料大全>| <246天天好彩免费开奖结果>| <246天天好彩免费开奖资料>| <246天天好彩免费资料正版资料>| <2246天天好彩图片玄机>| <246天天好彩图片机>| <二四六天天网彩手机版>| <246 天天好彩免费资料成语挂牌>| <246天天好彩管家婆资料大全>| <246天天好彩综合资料大全>| <308k二四六天天彩>| <二四六天天彩免费玄机资料>| <新址246天天好彩282cc>| <246天天好彩免费944cc>| | <二四六天天好彩944cc资讯>| <246天天好彩308k每期资料>| <246天天好彩308每期资料>| <二四六好彩免费资料图片玄机>| <新址246正版免费资料大全>| <246天天好彩勉费资料大全246>| <新址246zlcom天天好彩资料>| <新址zl 246天天好彩>| <新址246zl cc天天好彩>| <246天天好彩118图片玄机>| <二四六天天好彩马会开奖结果>| <二四六天天好彩手机版开奖结果>| <二四六天天好彩综合资料大全>| <二四六天天好彩308k con>| <二四六天天好彩308k kom>| <246天天好彩免费资大全>| <新址zl246net天天好彩大全>| <246天天好彩玄机资料手机版>| <246天天好天下天空免费>| <二四六天空釆资料大全>| <二四六兔费天天好彩资料>| <二四六308kcom文字资料>| <246天天好天下彩天空开奖>| <二四六免费资料天下>| <二四六天天好彩308k玄机图>| <二四六天天好彩资料开奖>| <308k二四六天天好彩每期>| <308k二四六天天好彩图片玄机>| <二四六天天好彩246zl免费>| <二四六天天好彩 944cc 彩图>| <蓝月亮精选二四六天天好彩>| <二四六天天好彩资料网手机板>| <二四六天天好彩玄机图手机版>| <二四六论坛图片玄机>| <天天二四六玄机图>| <天天彩246免费资料大全>| <246天天好好彩资料免费大全>| <246天天好好彩资料大全>| <二四六免费大全天天彩308>| <香港二四六论坛308k>| <二四六天天彩正版资料大全>| <二四六论坛玄机资料大全>| <308kcom二四六玄机图片>| <308kcom二四六图片玄机>| <308kcom二四六生活幽默>| <玄机图片二四六好彩网>| <玄机资料二四六好彩资料大全>| <246天天好彩308k每期资料大全>|