`
liangjian103
  • 浏览: 177001 次
  • 性别: 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工作原理主要包括以下几个关键步骤: 1. **用户请求**:当用户访问一个网站时,其浏览器向DNS(Domain Name System)发起域名解析请求。 2. **智能DNS解析**:DNS服务器根据用户的IP地址,利用负载均衡算法,将...

    CDN原理介绍

    ### CDN原理介绍 #### CDN概述 CDN(Content Delivery Network),即内容分发网络,是一项旨在提高互联网用户体验的关键技术。随着互联网技术的迅速发展以及用户对高质量内容需求的增长,CDN成为了确保网络服务稳定...

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

    ### CDN的工作原理及工作过程详解 #### 一、引言 随着互联网的快速发展,人们对于网络服务质量和访问速度的要求日益提高。尽管网络带宽不断升级,但由于Web服务器的负载、传输距离等因素,响应速度缓慢仍然是常见...

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

    关于CDN

    CDN技术详解高清书籍

    CDN工作原理涉及将用户的请求从最近的缓存服务器中重定向,而不是直接从源服务器下载内容。这样做的好处包括以下几个方面: 1. 降低延迟:用户数据请求可以被重定向到离用户物理位置最近的缓存节点,从而减少数据...

    CDN技术原理[收集].pdf

    CDN 技术原理解析 CDN(Content Delivery Network)是近年来兴起的一种网络优化技术,旨在解决传统互联网访问模式中存在的多个瓶颈问题,提高互联网用户的访问效率和质量。从 CDN 技术的基本原理到其对网络的优化...

    cdn学习总结资料汇总

    “CDN总结”这个文件可能包含了作者对CDN概念的理解、CDN工作原理的解析、CDN的优缺点、选择CDN服务的考虑因素、CDN在不同应用场景下的实践案例等内容。通过对这份资料的学习,我们可以深入理解CDN技术,提升网络...

    Python-通过扫描全网绕过CDN获取网站IP地址.zip

    总之,"Python-通过扫描全网绕过CDN获取网站IP地址"是一个实用的工具,可以帮助IT专业人员在特定场景下获取网站的真实IP,同时也提供了一个深入学习网络编程、DNS解析和CDN工作原理的实践案例。在使用和改进这个项目...

    Go-dummyorigin-一个模拟源服务器来测试CDN或代理的行为

    - **教学与研究**:在教育和研究环境中,`Go-dummyorigin`能提供一个可控的环境,帮助理解网络协议和CDN工作原理。 总之,`Go-dummyorigin`是一个强大的工具,它为测试CDN和代理服务器提供了灵活、高效的解决方案。...

    cdn原理

    ### CDN原理详解 #### 一、CDN概述 ##### 1.1 什么是CDN? CDN(Content Delivery Network)的全称是内容分发网络,它是一种在现有Internet基础上增加的一层网络架构,旨在通过将网站内容发布到最接近用户的网络...

    9-CDN网络.ppt

    CDN 工作原理可以分为两部分:使用前和使用后。在使用前,CDN 智能路由系统将用户的请求信息解析到对应的 CDN 节点节点,然后将用户重定向到最近的 CDN 节点节点。使用后,CDN 节点节点将内容信息发布到用户的浏览器...

    CDN简介,欢迎下载分享

    #### CDN工作原理 - **典型流程**: 1. **用户请求**:终端用户向目标域名发起HTTP请求。 2. **本地DNS查询**:请求被转发至本地DNS服务器进行域名解析。 3. **授权DNS响应**:如果本地DNS缓存中没有相关信息,...

    互联网加速CDN原理-PPT

    ### 互联网加速CDN原理详解 #### 一、CDN的概念与产生背景 - **概念**:CDN(Content Delivery Network),即内容分发网络,是一种位于现有互联网基础之上的虚拟网络,通过在网络各处布置节点服务器来实现对数据、...

    深度剖析CDN技术原理

    【CDN技术原理深度解析】 随着互联网的飞速发展,人们对网络服务的品质和访问速度有了更高的要求。尽管网络带宽不断提升,用户基数不断增长,但Web服务器的负荷和长距离传输仍然可能导致响应速度变慢,给用户带来...

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

    CDN技术原理Content Delivery Network,即内容分发网络,是一种分布式网络服务,旨在通过将内容缓存到离用户更近的边缘服务器来提高网络服务的响应速度和可用性。CDN的基本设计思路是,通过将网站内容分发到分布在...

    缓存工作原理(CDN).pdf

    AzureCDN的基本工作流程包括以下几个步骤: 1. 用户使用特殊域名的URL(如终结点名称.***)请求文件。 2. DNS将请求路由至性能最佳的POP位置,通常是地理位置上靠近用户的服务器。 3. 若POP中的边缘服务器缓存中...

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

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

    squid指南.rar

    《Squid 指南》是一份详细阐述如何利用 Squid 技术构建 CDN(内容分发网络)架构的参考资料。Squid 是一款开源的高性能代理...对于希望深入理解 CDN 工作原理和实践操作的 IT 从业者,这份指南无疑是一份宝贵的资源。

Global site tag (gtag.js) - Google Analytics