科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道CDN 内容分发网络技术

CDN 内容分发网络技术

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

网络缓存技术,其目的就是减少网络中冗余数据的重复传输,使之最小化,将广域传输转为本地或就近访问。

作者:vlan9 来源:vlan9 2008年6月10日

关键字: cdn技术 CDN cdn加速 广域网加速

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

  7. CDN示例

  商业化的CDN网络是用于服务性质的,高可用性等要求非常高,有专业产品和CDN网络解决方案,本文主要从理论角度,理解CDN的实现过程,并利用已有网络环境和开源软件做实际配置,更深刻理解CDN的具体工作过程。

  Linux是开放源代码的免费操作系统,已经成功应用于许多关键领域。Bind是Unix/FreeBSD/Linux等类unix平台上非常有名DNS服务程序,Internet上超过60%的DNS运行的是bind。Bind的最新版本是9.x,用的比较多的是8.x,bind 9有很多新特性,其中一项是根据用户端源地址对同一域名解析不同的IP地址,有了这种特性,能把用户对同一域名的访问,引导到不同地域节点的服务器上去访问。Squid是Linux等操作系统上有名的Cache引擎,与商业Cache引擎相比,Squid的性能比较低,基本功能工作原理与商业Cache产品是一致的,作为试验,是非常容易配置运行起来。以下简要介绍CDN的配置流程。

  1、要加入CDN服务的网站,需要域名(如www.linuxaid.com.cn,地址202.99.11.120)解析权提供给CDN运营商,Linuxaid的域名解析记录只要把www主机的A记录改为CNAME并指向cache.cdn.com即可。cache.cdn.com是CDN网络自定义的缓存服务器的标识。在/var/named/linuxaid.com.cn域名解析记录中,由:

  www IN A 202.99.11.120

  改为

  www IN CNAME cache.cdn.com.

  2、CDN运营商得到域名解析权以后,得到域名的CNAME记录,指向CDN网络属下缓存服务器的域名,如cache.cdn.com,CDN网络的全局负载均衡DNS,需要把CNAME记录根据策略解析出IP地址,一般是给出就近访问的Cache地址。

  Bind 9的基本功能可以根据不同的源IP地址段解析对应的IP,实现根据地域就近访问的负载均衡,一般可以通过Bind 9的sortlist选项实现根据用户端IP地址返回最近的节点IP地址,具体的过程为:

  1)为cache.cdn.com设置多个A记录,/var/named/cdn.com 的内容如下:

  $TTL 3600

  @ IN SOAns.cdn.com. root.ns.cdn.com. (

  2002090201 ;Serial num

  10800 ;Refresh after 3 hours

  3600 ;Retry

  604800 ;Expire

  1800 ;Time to live

  )

  IN NS ns

  www IN A 210.33.21.168

  ns IN A 202.96.128.68

  cache IN A 202.93.22.13 ;有多少个CACHE地址

  cache IN A 210.21.30.90 ;就有多少个CACHE的A记录

  cache IN A 211.99.13.47

  2) /etc/named.conf中的内容为:

  options {

  directory "/var/named";

  sortlist {

  #这一段表示当在本地执行查询时

  #将按照202.93.22.13,210.21.30.90,211.99.13.47的顺序返回地址

  { localhost;

  { localnets;

  202.93.22.13;

  { 210.21.30.90; 211.99.13.47; };

  };

  };

  #这一段表示当在202/8地址段进行DNS查询时

  #将按照202.93.22.13,210.21.30.90,211.99.13.47的顺序返回地址

  { 202/8;

  { 202.93.22.13;

  { 210.21.30.90; 211.99.13.47; };

  };

  };

  #这一段表示当在211/8地址段进行DNS查询时

  #将按照211.99.13.47,202.93.22.13,210.21.30.90的顺序返回地址,

  #也就是211.99.13.47是最靠近查询地点的节点

  { 211/8;

  { 211.99.13.47;

  { 202.93.22.13; 210.21.30.90; };

  };

  };

  { 61/8;

  { 202.93.22.13;

  { 210.21.30.90; 211.99.13.47; };

  };

  };

  };

  };

  zone "." {

  type hint;

  file "root.cache";

  };

  zone "localhost" {

  type master;

  file "localhost";

  };

  zone "cdn.com" {

  type master;

  file "cdn.com";

  };

  3、Cache在CDN网络中如果工作在服务器加速模式,因为配置里已经写明加速服务器的url,所以Cache直接匹配用户请求,到源服务器获得内容并缓存供下次使用;如果Cache工作在客户端加速模式,Cache需要知道源服务器的IP地址,所以CDN网络维护和运行一个供Cache使用的DNS服务器,解析域名的真实IP地址,如202.99.11.120 ,各域名的解析记录与未加入CDN网络之前一样。

  4、工作在CDN网络中缓存服务器必须工作在透明方式,对于Squid来说,需要设置以下参数:

  httpd_accel_host virtual

  httpd_accel_port 80

  httpd_accel_with_proxy on

  httpd_accel_uses_host_header on

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章