一、CDN 全称:Content Delivery Network   即内容分发网络;
     基本思路  : 尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。 
    bgp :边界网关协议,是一种用来在不同的运营商之间传递大量路由信息的路由协议。
    BGP 机房:是将IDC网络和多个运营商互联起来,实现单ip绑定在多条线路上,所有互联运营商(电信,网通)用户访问IDC的网络,都会智能的走相应的线路,达到访问速度都是很快的目的。

二、CDN加速的特点:

  ⅰ:本地Cache 加速提高了企业站点的访问速度,并大大提高以上性质站点的稳定性;
  ⅱ:镜像服务消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营商的网络加速,保证不同网络中的用户都能得到良好的访问质量。
  ⅲ:远程加速远程访问用户根据DNS负载均衡技术智能自动选择Cache服务器,选择最快的cache服务器,加快远程访问的速度。
  ⅳ:宽带优化自动生成服务器的远程Mirror(镜像)cache服务器,远程用户访问时从cache服务器上读取数据,减少远程访问的宽带、分担网络流量、减轻原站点web服务器的负载等功能。
  ⅴ:集群抗攻击广泛分布的CDN节点加上节点之间的智能冗余机制,可以有效的防御黑客入侵以及降低各种D.D.o.S攻击对网站的影响,同时保证较好的服务质量。
    curl -I www.163.com
    HTTP/1.1 200 OK
    Expires: Wed, 25 Feb 2015 03:08:12 GMT
    Date: Wed, 25 Feb 2015 03:06:52 GMT
    Server: nginx
    Content-Type: text/html; charset=GBK
    Transfer-Encoding: chunked
    Vary: Accept-Encoding,User-Agent,Accept
    Cache-Control: max-age=80
    X-Via: 1.1 czdx85:8105 (Cdn Cache Server V2.0), 1.1 yg20:7 (Cdn Cache Server V2.0)
    Connection: keep-alive

   #缓冲了站点的首页,所以效率高 (或缓冲二级页面。大部分是静态的,当然也可以是动态页面)

三、CDN价值:省钱、提升企业网站的用户体验、可以阻挡大部分的流量攻击。


四、使用CDN 的基本要求:
      #首先不是所有的网站都可以直接使用CDN的
    ⑴、要加速的业务数据要存在独立的独立的域名例如imag.etiantian.org、video.etiantian.org
     (#浏览器的并发进程是有限的,从一个域名下载图片,并发可能只有几个,所以网站一般有2-4个域名用于加速,其次域名也并不是越多越好,DNS解析也是需要时间的,4个是一个临界值)


    ⑵、 正常的DNS解析范例:A records
          img.etiantina.org    IN    A 124.106.0.21 (企业服务器iP)
         配置CDN的解析:
          删除原有的A记录;
          imag.etiantian.org     3M    IN CNAME        imag.etiantian.org.cachen.com(此地址必须事先由CDN公司配置好)
    

          a、用户访问imag.etiantian.org域名时,授权DNS进行解析,通过CNAME(别名)解析到imag.etiantian.org.cachen.com(CDN公司的域名);
          b、寻找cache.com的授权DNS服务器;
          c、解析imag.etiantian.org.cachen.com 相对应的ip地址(CDN公司的智能DNS调度系统);
          d、从调度系统中的进行计算,返回ip 给用户(靠近用户线路及相同运营商的ip);
           e、如果返回的IP的没有用户请求的数据,则cache服务器会请求原站服务器,然后返回数据在次发给用户。

五、CDN服务提供商架构的关键元素:
    1、DNS和智能DNS集群;(bind,powerdns)
        #DNS的原理:

        客户端访问baidu.com时,首先会查看本地的缓冲或者HOST记录,如果存在会直接请求相对应的ip;
         假设本地没有对应的记录,它会根据网关配置的DNS记录 找到local.dns,查看缓存,请求且访问;
         如果local.dns没有,会直接请求.根服务器,一级一级的查找对应的记录,直到找到最对应的记录返回给客户端。
           #智能dns:

        当用户解析的时候,DNSbind里的view功能(view里存在全国dns记录),智能判断网站的用户,根据用户的dns地址比对view对应的记录,解析到相对应的ip地址。
    2、Cache集群;(squid,ats,nginx,varnish)
    3、用户源站(CDN服务的客户)
    4、外围(计费、日志分析、存储、Protal展示)



六、CDN 的原理:

        a、用户发出请求,本地DNS服务器通过解析得到ICP2 dns授权服务器地址(cname记录);
        b、本地DNS服务器访问ICP2 dns授权服务器,获知域名的详细解析由ssr授权服务器负责。
        c、本地DNS服务器访问×××授权服务器,得到离用户最近节点服务器的地址,回送给用户;
        d、用户访问chinacache节点服务器,节点服务器从源站取得用户所需内容并将内容发给用户


七、CDN故障基本的解决办法:

        a、分析web日志,查看ip来源。
        b、有可能cdn频繁抓取数据(源站更新平凡,CDN缓存倒腾数据,命中率高)

           #命令中率低可能是403、404页面导致
        c、cdn公司增加缓存节点,抓取源站导致,告知cdn 抓取自己的核心服务器。


        案例资料:http://oldboy.blog.51cto.com/2561410/909696