`
liangjian103
  • 浏览: 173422 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

CDN工作原理

阅读更多

CDN网络架构主要由两大部分,分为中心和边缘两部分,中心指CDN网管中心和DNS重定向解析中心,负责全局负载均衡,设备系统安装在管理中心机房,边缘主要指异地节点,CDN分发的载体,主要由Cache和负载均衡器等组成。

当用户访问加入CDN服务的网站时,域名解析请求将最终交给全局负载均衡DNS进行处理。全局负载均衡DNS通过一组预先定义好的策略,将当时最接近用户 的节点地址提供给用户,使用户能够得到快速的服务。同时,它还与分布在世界各地的所有CDNC节点保持通信,搜集各节点的通信状态,确保不将用户的请求分 配到不可用的CDN节点上,实际上是通过DNS做全局负载均衡。

对于普通的Internet用户来讲,每个CDN节点就相当于一个放置在它周围的WEB。通过全局负载均衡DNS的控制,用户的请求被透明地指向离他最近的节点,节点中CDN服务器会像网站的原始服务器一样,响应用户的请求。由于它离用户更近,因而响应时间必然更快。


每个CDN节点由两部分组成:负载均衡设备和高速缓存服务器

负载均衡设备负责每个节点中各个Cache的负载均衡,保证节点的工作效率;同时,负载均衡设备还负责收集节点与周围环境的信息,保持与全局负载DNS的通信,实现整个系统的负载均衡。

高速缓存服务器(Cache)负责存储客户网站的大量信息,就像一个靠近用户的网站服务器一样响应本地用户的访问请求。

CDN的管理系统是整个系统能够正常运转的保证。它不仅能对系统中的各个子系统和设备进行实时监控,对各种故障产生相应的告警,还可以实时监测到系统中总 的流量和各节点的流量,并保存在系统的数据库中,使网管人员能够方便地进行进一步分析。通过完善的网管系统,用户可以对系统配置进行修改。

理论上,最简单的CDN网络有一个负责全局负载均衡的DNS和各节点一台Cache,即可运行。DNS支持根据用户源IP地址解析不同的IP,实现就近访 问。为了保证高可用性等,需要监视各节点的流量、健康状况等。一个节点的单台Cache承载数量不够时,才需要多台Cache,多台Cache同时工作, 才需要负载均衡器,使Cache群协同工作。

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      SOA             ns.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

 

 

分享到:
评论

相关推荐

    详叙CDN的工作原理及工作过程

    详叙CDN的工作原理及工作过程,想了解cdn的下载了

    CDN的原理及优势与不足.md

    关于CDN

    CDN技术原理[收集].pdf

    CDN技术原理[收集].pdf

    CDN及其工作原理ppt

    这是一个描述cdn的资料,可以给读者初步认识cdn的工作原理

    cdn原理

    cdn原理

    CDN技术原理

    CDN技术原理 常见问题 .doc

    互联网加速CDN原理-PPT

    互联网加速的来源,CDN相关的工作原理、及互联网加速的未来

    《从直播CDN的原理说起,谈如何解决延时和连麦的老难题?》.pdf

    2018架构师大会《从直播CDN的原理说起,谈如何解决延时和连麦的老难题?》.pdf

    CDN技术原理与广电CDN发展现状调研.ppt

    CDN技术原理与广电CDN发展现状调研.ppt

    CDN的工作原理以及其中的一些技术.doc

    CDN,全称Content Delivery Network,主要作用是为源站减少访问压力的同时,为客户端提供更快速的内容响应。除此之外,CDN还能对源站进行安全防护。其实真正为CDN付费的是源站,所以CDN的用户其实是源站,例如新浪...

    缓存工作原理(CDN).pdf

    学习 andriod,java,c,

    深度剖析CDN技术原理

    Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因数的影响,响应速度慢还是经常...

    CDN原理介绍

    CDN的全称是Content Delivery Network,即内容分发网络,适合新手理解原理!

    CDN技术详解高清书籍

    CDN基本原理和技术详解,了解图片加速、流媒体加速的基本原理。CDN入门书籍。

    CDN详细教程.zip

    CDN详细教程.zip CDN大家都听说过,那么CDN的工作原理是?如何通过CDN提高文件下载速度,如何使用CDN来防御DDoS攻击

    CDN技术详解

    《cdn技术详解》内容包括cdn技术的发展历程、关键技术、商业化服务现状,以及对未来的发展展望,对构成cdn系统的关键功能模块gslb、slb、cache进行了重点讲解,除技术原理之外,还对实现这些功能模块所涉及的一些...

    CDN排坑指南.pdf

    了解和学习阿里云 CDN 的工作原理非常重要,这对于网站优化、解决用 户问题都有非常大的帮助。本文主要介绍了阿里云 CDN 的加速原理和缓存策略,举 了一些实际的例子方便读者能清晰地理解阿里云 CDN。

    CDN技术详解【完整目录】

    第3章 内容缓存工作原理及实现 第4章 集群服务与负载均衡技术 第5章 全局负载均衡工作原理及实现 第6章 流媒体CDN系统的组成和关键技术 第7章 动态内容加速服务的实现 第8章 CDN商业化服务现状 第9章 CDN发展...

    CDN技术分享

    网络应用服务发展 CDN技术 1、CDN是什么?为什么我们需要它?(简介) 2、CDN能做什么?...3、CDN是如何工作?(原理) 4、CDN有那些具体应用?(应用) 我们项目将怎样使用CDN 1、项目特点 2、静态加速

Global site tag (gtag.js) - Google Analytics