CDN技术原理深度剖析

上传人:zou****hua 文档编号:185587226 上传时间:2023-02-04 格式:DOCX 页数:10 大小:76.27KB
返回 下载 相关 举报
CDN技术原理深度剖析_第1页
第1页 / 共10页
CDN技术原理深度剖析_第2页
第2页 / 共10页
CDN技术原理深度剖析_第3页
第3页 / 共10页
点击查看更多>>
资源描述
深度剖析:CDN内容分发网络技术原理1. 前言Internet 的高速发展,给人们的工作和生活带来了极大的便利,对 Internet 的服务品质和 访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负 荷和传输距离等因数的影响,响应速度慢还是经常抱怨和困扰。解决方案就是在网络传输上 利用缓存技术使得Web服务数据流能就近访问,是优化网络数据传输非常有效的技术,从 而获得高速的体验和品质保证。网络缓存技术,其目的就是减少网络中冗余数据的重复传输,使之最小化,将广域传输 转为本地或就近访问。互联网上传递的内容,大部分为重复的Web/FTP数据,Cache服务 器及应用Caching技术的网络设备,可大大优化数据链路性能,消除数据峰值访问造成的结 点设备阻塞。Cache服务器具有缓存功能,所以大部分网页对象 Web page object),如html, htm, php等页面文件,gif,tif,png,bmp等图片文件,以及其他格式的文件,在有效期(TTL) 内,对于重复的访问,不必从原始网站重新传送文件实体 只需通过简单的认证(Freshness Validation)-传送几十字节的Header,即可将本地的副本直接传送给访问者。由于缓存服 务器通常部署在靠近用户端,所以能获得近似局域网的响应速度,并有效减少广域带宽的消 耗。据统计,Internet上超过80%的用户重复访问20%的信息资源,给缓存技术的应用提供 了先决的条件。缓存服务器的体系结构与Web服务器不同,缓存服务器能比Web服务器获 得更高的性能,缓存服务器不仅能提高响应速度,节约带宽,对于加速Web服务器,有效 减轻源服务器的负荷是非常有效的。高速缓存服务器(Cache Server)是软硬件高度集成的专业功能服务器,主要做高速缓 存加速服务,一般部署在网络边缘。根据加速对象不同,分为客户端加速和服务器加速,客 户端加速Cache部署在网络出口处,把常访问的内容缓存在本地,提高响应速度和节约带宽; 服务器加速,Cache部署在服务器前端,作为Web服务器的前置机,提高Web服务器的性 能,加速访问速度。如果多台Cache加速服务器且分布在不同地域,需要通过有效地机制管 理Cache网络,引导用户就近访问,全局负载均衡流量,这就是CDN内容传输网络的基本 思想。2什么是 CDN?CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的 Internet 中增加一层新的网络架构,将网站的内容发布到最接近用户的网络边缘,使用户 可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度。从 技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,解决用户访问网站 的响应速度慢的根本原因。狭义地讲,内容分发布网络(CDN)是一种新型的网络构建方式,它是为能在传统的IP 网发布宽带丰富媒体而特别优化的网络覆盖层;而从广义的角度, CDN 代表了一种基于质 量与秩序的网络服务模式。简单地说,内容发布网(CDN)是一个经策略性部署的整体系统, 包括分布式存储、负载均衡、网络请求的重定向和内容管理4个要件,而内容管理和全局的 网络流量管理(Traffic Management)是CDN的核心所在。通过用户就近性和服务器负载的判 断, CDN 确保内容以一种极为高效的方式为用户的请求提供服务。总的来说,内容服务基 于缓存服务器,也称作代理缓存(Surrogate),它位于网络的边缘,距用户仅有一跳(Single Hop)之遥。同时,代理缓存是内容提供商源服务器(通常位于CDN服务提供商的数据中心) 的一个透明镜像。这样的架构使得CDN服务提供商能够代表他们客户,即内容供应商,向 最终用户提供尽可能好的体验,而这些用户是不能容忍请求响应时间有任何延迟的。据统计, 采用CDN技术,能处理整个网站页面的70%95%的内容访问量,减轻服务器的压力,提 升了网站的性能和可扩展性。与目前现有的内容发布模式相比较, CDN 强调了网络在内容发布中的重要性。通过引 入主动的内容管理层的和全局负载均衡, CDN 从根本上区别于传统的内容发布模式。在传 统的内容发布模式中,内容的发布由 ICP 的应用服务器完成,而网络只表现为一个透明的 数据传输通道,这种透明性表现在网络的质量保证仅仅停留在数据包的层面,而不能根据内 容对象的不同区分服务质量。此外,由于 IP 网的尽力而为的特性使得其质量保证是依靠 在用户和应用服务器之间端到端地提供充分的、远大于实际所需的带宽通量来实现的。在这 样的内容发布模式下,不仅大量宝贵的骨干带宽被占用,同时 ICP 的应用服务器的负载也 变得非常重,而且不可预计。当发生一些热点事件和出现浪涌流量时,会产生局部热点效应, 从而使应用服务器过载退出服务。这种基于中心的应用服务器的内容发布模式的另外一个缺 陷在于个性化服务的缺失和对宽带服务价值链的扭曲,内容提供商承担了他们不该干也干不 好的内容发布服务。纵观整个宽带服务的价值链,内容提供商和用户位于整个价值链的两端,中间依靠网络 服务提供商将其串接起来。随着互联网工业的成熟和商业模式的变革,在这条价值链上的角 色越来越多也越来越细分。比如内容应用的运营商、托管服务提供商、骨干网络服务提供 商、接入服务提供商等等。在这一条价值链上的每一个角色都要分工合作、各司其职才能为 客户提供良好的服务,从而带来多赢的局面。从内容与网络的结合模式上看,内容的发布已 经走过了 ICP的内容(应用)服务器和IDC这两个阶段。IDC的热潮也催生了托管服务提 供商这一角色。但是,IDC并不能解决内容的有效发布问题。内容位于网络的中心并不能解 决骨干带宽的占用和建立IP网络上的流量秩序。因此将内容推到网络的边缘,为用户提供 就近性的边缘服务,从而保证服务的质量和整个网络上的访问秩序就成了一种显而易见的选 择。而这就是内容发布网(CDN)服务模式。CDN的建立解决了困扰内容运营商的内容集中 与分散的两难选择。无疑对于构建良好的互联网价值链是有价值的,也是不可或缺的。3. CDN新应用和客户目前的CDN服务主要应用于证券、金融保险、ISP、ICP、网上交易、门户网站、大中 型公司、网络教学等领域。另外在行业专网、互联网中都可以用到,甚至可以对局域网进行 网络优化。利用CDN,这些网站无需投资昂贵的各类服务器、设立分站点,特别是流媒体 信息的广泛应用、远程教学课件等消耗带宽资源多的媒体信息,应用CDN网络,把内容复 制到网络的最边缘,使内容请求点和交付点之间的距离缩至最小,从而促进Web站点性能 的提高,具有重要的意义。CDN网络的建设主要有企业建设的CDN网络,为企业服务;IDC 的CDN网络,主要服务于IDC和增值服务;网络运营上主建的CDN网络,主要提供内容 推送服务;CDN网络服务商,专门建设的CDN用于做服务,用户通过与CDN机构进行合 作,CDN负责信息传递工作,保证信息正常传输,维护传送网络,而网站只需要内容维护, 不再需要考虑流量问题。CDN能够为网络的快速、安全、稳定、可扩展等方面提供保障。IDC建立CDN网络,IDC运营商一般需要有分部各地的多个IDC中心,服务对象是托 管在IDC中心的客户,利用现有的网络资源,投资较少,容易建设。例如某IDC全国有10 个机房,加入IDC的CDN网络,托管在一个节点的Web服务器,相当于有了 10个镜像服 务器,就近供客户访问。宽带城域网,域内网络速度很快,出城带宽一般就会瓶颈,为了体 现城域网的高速体验,解决方案就是将Internet网上内容高速缓存到本地,将Cache部署在 城域网各 POP 点上,这样形成高效有序的网络,用户仅一跳就能访问大部分的内容,这也 是一种加速所有网站CDN的应用。4. CDN 的工作原理在描述CDN的实现原理,让我们先看传统的未加缓存服务的访问过程,以便了解CDN 缓存访问方式与未加缓存访问方式的差别:1151:5求帥馮畀回弧由上图可见,用户访问未使用CDN缓存网站的过程为:1)、用户向浏览器提供要访问的域名;2)、浏览器调用域名解析函数库对域名进行解析,以得到此域名对应的IP地址;3)、浏览器使用所得到的IP地址,域名的服务主机发出数据访问请求;4)、浏览器根据域名主机返回的数据显示网页的内容。通过以上四个步骤,浏览器完成从用户处接收用户要访问的域名到从域名服务主机处获 取数据的整个过程。CDN网络是在用户和服务器之间增加Cache层,如何将用户的请求引 导到Cache上获得源服务器的数据,主要是通过接管DNS实现,下面让我们看看访问使用 CDN缓存后的网站的过程:通过上图,我们可以了解到,使用了 CDN缓存后的网站的访问过程变为:1)、用户向浏览器提供要访问的域名;2)、浏览器调用域名解析库对域名进行解析,由于CDN对域名解析过程进行了调整, 所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实际IP地址,浏览器 需要再次对获得的CNAME域名进行解析以得到实际的IP地址;在此过程中,使用的全局 负载均衡DNS解析,如根据地理位置信息解析对应的IP地址,使得用户能就近访问。3)、此次解析得到CDN缓存服务器的IP地址,浏览器在得到实际的IP地址以后,向 缓存服务器发出访问请求;4)、缓存服务器根据浏览器提供的要访问的域名,通过Cache内部专用DNS解析得到 此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求;5)、缓存服务器从实际 IP 地址得得到内容以后,一方面在本地进行保存,以备以后使 用,二方面把获取的数据返回给客户端,完成数据服务过程;6)、客户端得到由缓存服务器返回的数据以后显示出来并完成整个浏览的数据请求过 程。通过以上的分析我们可以得到,为了实现既要对普通用户透明(即加入缓存以后用户客 户端无需进行任何设置,直接使用被加速网站原有的域名即可访问),又要在为指定的网站 提供加速服务的同时降低对 ICP 的影响,只要修改整个访问过程中的域名解析部分,以实 现透明的加速服务,下面是CDN网络实现的具体操作过程。1)、作为ICP,只需要把域名解释权交给CDN运营商,其他方面不需要进行任何的修 改;操作时,ICP修改自己域名的解析记录,一般用cname方式指向CDN网络Cache服务 器的地址。2)、作为CDN运营商,首先需要为ICP的域名提供公开的解析,为了实现sortlist, 般是把ICP的域名解释结果指向一个CNAME记录;3)、当需要进行sorlist时,CDN运营商可以利用DNS对CNAME指向的域名解析过程 进行特殊处理,使DNS服务器在接收到客户端请求时可以根据客户端的IP地址,返回相同 域名的不同IP地址;4)、由于从cname获得的IP地址,并且带有hostname信息,请求到达Cache之后,Cache 必须知道源服务器的IP地址,所以在CDN运营商内部维护一个内部DNS服务器,用于解 释用户所访问的域名的真实IP地址;5)、在维护内部DNS服务器时,还需要维护一台授权服务器,控制哪些域名可以进行 缓存,而哪些又不进行缓存,以免发生开放代理的情况。5. CDN的技术手段实现CDN的主要技术手段是高速缓存、镜像服务器。可工作于DNS解析或HTTP重 定向两种方式,通过Cache服务器,或异地的镜像站点完成内容的传送与同步更新。DNS 方式用户位置判断准确率大于 85%, HTTP 方式准确率为 99%以上;一般情况,各 Cache 服务器群的用户访问流入数据量与Cache服务器到原始网站取内容的数据量之比在2: 1到 3: 1之间,即分担50%到70%的到原始网站重复访问数据量(主要是图片,流媒体文件等 内容);对于镜像,除数据同步的流量,其余均在本地完成,不访问原始服务器。镜像站点(Mirror Site)服务器是我们经常可以看到的,它让内容直截了当地进行分布, 适用于静态和准动态的数据同步。但是购买和维护新服务器的费用较高,另外还必须在各个 地区设置镜像服务器,配备专业技术人员进行管理与维护。大型网站在随时更新各地服务器 的同时,对带宽的需求也会显著增加,因此一般的互联网公司不会建立太多的镜像服务器。高速缓存手段的成本较低,适用于静态内容。Internet的统计表明,超过80%的用户经 常访问的是 20%的网站的内容,在这个规律下,缓存服务器可以处理大部分客户的静态请 求,而原始的 WWW 服务器只需处理约20%左右的非缓存请求和动态请求,于是大大加快 了客户请求的响应时间,并降低了原始WWW服务器的负载。根据美国IDC公司的调查, 作为 CDN 的一项重要指标-缓存的市场正在以每年近 100%的速度增长,全球的营业额在 2004年将达到45亿美元。网络流媒体的发展还将剌激这个市场的需求。6CDN 的网络架构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服务的网站,需要域名(如地址202.99.11.120)解析 权提供给CDN运营商,Linuxaid的域名解析记录只要把www主机的A记录改为CNAME 并指向 即可。 是 CDN 网络自定义的缓存服务器的标识。在 /var/named/ 域名解析记录中,由:www IN A 202.99.11.120改为www IN CNAME .2、CDN运营商得到域名解析权以后,得到域名的CNAME记录,指向CDN网络属下 缓存服务器的域名,如,CDN网络的全局负载均衡DNS,需要把CNAME记 录根据策略解析出IP地址,一般是给出就近访问的Cache地址。Bind 9的基本功能可以根据不同的源IP地址段解析对应的IP,实现根据地域就近访问 的负载均衡,一般可以通过Bind 9的sortlist选项实现根据用户端IP地址返回最近的节点IP 地址,具体的过程为:1)为 设置多个 A 记录, /var/named/ 的内容如下:$TTL 3600 IN SOA . . (2002090201 ;Serial num10800 ;Refresh after 3 hours3600 ;Retry604800 ;Expire1800 ;Time to live)IN NS nswww IN A 210.33.21.168ns IN A 202.96.128.68cache IN A 202.93.22.13 ;有多少个 CACHE 地址cache IN A 210.21.30.90 就有多少个 CACHE 的 A 记录cache IN A 211.99.13.472) /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 type master; file ;3、Cache 在 CDN 网络中如果工作在服务器加速模式,因为配置里已经写明加速服务器 的 url ,所以 Cache 直接匹配用户请求,到源服务器获得内容并缓存供下次使用;如果 Cache 工作在客户端加速模式,Cache需要知道源服务器的IP地址,所以CDN网络维护和运行一 个供Cache使用的DNS服务器,解析域名的真实IP地址,如202.99.11.120,各域名的解 析记录与未加入CDN网络之前一样。4、工作在CDN网络中缓存服务器必须工作在透明方式,对于Squid来说,需要设置以下参数:httpd_accel_host virtualhttpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑环境 > 机械电气


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!