什么是CDN

CDN的全称是Content Delivery Network,即内容分发网络。是位于网络层与应用层之间的网络应用,其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布 到最接近用户的网络"边缘",使用户可以就近取得所需的内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。从技术上全面解决由于用 户访问量大、网点分布不均等原因所造成的用户访问网站响应速度慢的问题。

内容分发网络(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的建立解决了困扰内容运营商的内容"集中 与分散"的两难选择,无疑对于构建良好的互联网价值链是有价值的,也是不可或缺的最优网站加速服务。

CDN的技术原理

在描述CDN的实现原理,让我们先看传统的未加缓存服务的访问过程,以便了解CDN缓存访问方式与未加缓存访问方式的差别:

由上图可见,用户访问未使用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服务器时,还需要维护一台授权服务器,控制哪些域名可以进行缓存,而哪些又不进行缓存,以免发生开放代理的情况。

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的应用。

国内现状

实际上,CDN目前在国内普及率依然是非常非常低的,也就是大型的门户网站、大型的电子商务网 站在使用。一般的中小型网站使用率还非常非常低,中国也就是万分之一的CDN使用率。在美国我们所知道的能叫出来名字的几乎所有的网站都在使用CDN,与 国内浩瀚烟波的网络海洋相比,采用ChinaCache CDN服务的网站还只是少众。这与国外的情形有很大反差,比如韩国的CDN只有8个节点,但这8个节点就可支撑大约100G的流量。

虽然国内有很多家公司都在提供CDN服务,但目前CDN在国内互联网产业中的位置,依旧没有像美国那样达到一个应有的水平。

CDN对于动态页面加速存在的问题

目前国内解决到CDN对于动态页面加速存在的问题,当属蓝汛。他们在这一领域,远远超过一些其它的同行,看看蓝汛是怎么解决这个问题的。

动态网页是指使用php、asp、asp.net等网页脚本语言编写、当用户访问网站时通过服 务器端调用后台数据库来实时生成的网页。网站上主要是有一些基础框架,网页的内容大都存储在数据库中。用户和站点之间出现大量的交互,网站不再仅仅是内容 的发布,而是成为了一种"应用(Application)"。ChinaCache动态网页加速服务是专门针对采用数据库技术为基础的动态网页内容设计的 加速服务,对于每次查询都有变化的网页,ChinaCache提供的动态网页加速服务采用了智能通道技术为用户和ICP源站之间建立专用高速通道,以绕过 Internet上存在的拥塞节点,并融合了网络传输优化(并行获娶TCP优化等)等多种目前先进的网页加速技术,从而大大降低了用户访问动态WEB页面 的延迟。 ChinaCache动态内容加速系统还包括网管中心、计费中心和日志处理中心等专业服务子系统,从而保障为网站提供优质的在线监控和管理。

正所谓几家欢喜几家愁,国内CDN做得比较成功的没两家,不成功的倒是有很多家。先来说说做得比较成功的,看看他们在CDN这块成功的秘密在哪里?

ChinaCache 是国内最早从事专业CDN服务的公司,经过6年多时间的发展,在技术成熟程度、客户服务能力、行业应用及运营经验等各方面都已经确立了明显的优势。 ChinaCache积累了丰富的CDN运营经验,可以很好的将CDN服务与客户千差万别的网站内容相结合,为客户提供最适合的加速方案。同时我们还拥有 很强的差异化服务能力,可以针对不同的客户需求提供相应的解决方案,使更多的客户能够享用CDN所带来的网站提速体验。

网络覆盖全面:ChinaCache拥有国内覆盖范围最广,商用时间最长的CDN网络,目前在 全国80多个主要城市拥有近350个节点,网络处理能力达到400Gbps,其CDN网络覆盖中国电信、中国网通、中国移动、中国联通、中国教育科研网和 中国铁通等各大运营商,保证不同地区和不同网络中的用户都能得到良好的访问质量。

完善的冗余机制:在设备、节点、和网络三个层面上实现了完善的冗余,保证在设备或节点出现故障时,都不会影响用户的正常访问。

强大的安全保障机制:在系统设计上具有完备的安全机制,可以有效地预防黑客入侵以及降低各种D.D.o.S攻击对网站的影响,同时保证较好的服务质量。

内容管理更简单:有别于传统的镜像服务,通过使用ChinaCache自主开发的内容管理技术管理该系统,网站可以非常方便地实现对发布到CDN网络中的内容进行管理,保证用户看到的内容与网站源服务器中的内容完全同步。

服务更专业:ChinaCache 拥有完善的CDN服务流程,从需求分析、加速建议、效果测试、项目实施,直至客户服务,都有完善的专业化流程;ChinaCache自主开发的专业客户服 务系统,让网站客户使用浏览器通过这个系统实时查询各种统计数据,包括网站使用的CDN服务带宽、用户访问的Page View等;ChinaCache 拥有专门的客服部门,随时为客户提供各种技术支持,可以根据客户的要求提供各种统计分析数据、服务评估报告、网站优化建议等服务,让客户感受到体贴周到的 服务。

网宿科技

网宿科技凭借强大的研发团队和强大的技术力量,成功地研发了数据中心管理平台,CDN技术平台,流媒体分布加速平台、高速下载平台、速通VPN管理平台等,其中速通VPN管理平台被认定为“国家高新技术成果转化项目”。

网宿在国内5大运营商(中国电信、中国网通、中国铁通、中国移动、中国联通)以及2大专有网络(中国教育和科研计算机网、中国科技网)的各骨干节点上,合理部署了以盛直辖市、自治区为覆盖范围的CDN边缘分发存储节点,充分利用了带宽资源,平衡了大网流量。

网宿科技的CDN运维中心(CDNOC)可全天候对CDN节点网络链路状况、节点设备运行状况、客户网站访问效果、客户网站服务响应、客户源站点网络状况等进行实时的监控和管理,有效保障了CDN平台的运营质量,实现了CDNSLA承诺标准。

国内CDN加速现状的更多相关文章

  1. jquery的几个国内CDN加速节点

    分享几个jquery的几个国内国外的CDN加速节点,方便广大的开发设计者调用和节约空间,官网的总是最新版本的jquery所以不用去担心版本更新问题,其他加速节点可能不会在更新版本,所以取舍问题自己决定 ...

  2. 网站开启cdn加速的最简单步骤

    https://jingyan.baidu.com/article/fedf0737ac414f35ac897704.html https://su.baidu.com/console/website ...

  3. CDN加速服务

    CDN公共库是指将常用的JS库存放在CDN节点,以方便广大开发者直接调用.与将JS库存放在服务器单机上相比,CDN公共库更加稳定.高速.一般的CDN公共库都会包含全球所有最流行的开源JavaScrip ...

  4. 申请免费域名并配置DNS解析及CDN加速

    标题: 申请免费域名并配置DNS解析及CDN加速 作者: 梦幻之心星 sky-seeker@qq.com 标签: [#申请,#免费,#域名,#DNS解析,#CDN加速,#子域名] 目录: [网站] 日 ...

  5. 2014年十个优秀的免费CDN加速服务-国内和国外免费CDN

    这是一篇总结近几年来网络上出现了各类免费CDN服务的文章,文章本来应该早就发出来的,但是因为近期的各种原因一直拖到现在.之前部落已经总结了近几年来的优秀免费空间,新手朋友不必在茫茫“网”海中寻找免费空 ...

  6. Signalr系列之虚拟目录详解与应用中的CDN加速实战

    目录 对SignalR不了解的人可以直接移步下面的目录 SignalR系列目录 前言 前段时间一直有人问我 在用SignalR 2.0开发客服系统[系列1:实现群发通讯]这篇文章中的"/Si ...

  7. 利用免费cdn加速webpack单页应用

    回顾现状 在之前的学习过程中,react单页应用经过webpack打包之后会输出大概如下的目录结构,它就是站点的所有前端组成了:   1 2 3 4 5 6 MacBook-Pro:output ba ...

  8. 推荐国内外优秀+免费CDN加速站点及公共cdn加速库

    -----------------------------------------------------------------免费CDN加速站点 1.CloudFlare CloudFlare可能 ...

  9. 5个可用提高Godaddy主机速度的第三方CDN加速服务商

    毕竟Godaddy主机数据中心位于美国.新加坡.欧洲三个数据中心,一般我们都会选择美国数据中心,相比较其他2个机房的速度是快和稳定的,很多人要说为什么新加坡数据中心速度不好呢?因为目前的新加坡机房不是 ...

随机推荐

  1. PCB设计与信号完整性

    之前在设计板卡时,只是听过相关的概念,但是未真正去研究关于SI相关的知识.将之前看过的一些资料整理如下: (1)信号完整性分析 与SI有关的因素:反射,串扰,辐射.反射是由于传输路径上的阻抗不匹配导致 ...

  2. Axiom3D写游戏:用Overlay实现Mesh浏览.

    从网上找了些资源,大多搜Ogre,Mesh资源,然后为了方便查看各个Mesh,以及对应骨骼动画.为了实用性,考虑放在原游戏窗口里实现.最开始打算窗口新建viewport来实现,后发现这种方式的局限性, ...

  3. String和inputstream互转【转文】

    URLConnection urlConn = url.openConnection(); // 打开网站链接s BufferedReader reader = new BufferedReader( ...

  4. 对C语言中指针的入门理解

    通过一个例子引出对指针的概念理解 1,例子 #include<stdio.h> int main(void) { ; //小张的身高 ; //小李的身高 ; //小王的身高 int *xi ...

  5. e838. 使JTabbedPane中的卡片能用按键的方式选取

    Setting a mnemonic on a tab allows the tab to be selected with a keystroke. For example, if the mnem ...

  6. OpenStack配置解析库oslo.config的使用方法

    OpenStack的oslo项目旨在独立出系统中可重用的基础功能,oslo.config就是其中一个被广泛使用的库,该项工作的主要目的就是解析OpenStack中命令行(CLI)或配置文件(.conf ...

  7. WAS7.0安装补丁升级程序无法替换文件 java/docs/autorun.inf解决办法

    OS:Win7 64bit WAS版本:WASND_7.0_Windows_x64_C1G2JML.zip WAS补丁升级程序版本:7.0.0.13-WS-UPDI-WinAMD64 异常信息: Ca ...

  8. bioperl 格式化genebank的输出

    代码如下: use Bio::SeqIO; use Bio::DB::GenBank; use Bio::DB::Query::GenBank; my $db_obj = Bio::DB::GenBa ...

  9. 精挑细选 8款HTML5/jQuery应用助网站走向高上大

    在WEB3.0的时代,我们的网站不仅要实现实用价值,更要为用户设计优秀的用户体验.jQuery是一个不错的JS框架,结合目前最新的HTML5技术,我们可以将自己的网站脱胎换骨,立马走向高上大,至少在前 ...

  10. Vue.js 2.0 学习重点记录

      Vue.js兼容性 Vue.js.js 不支持 IE8 及其以下版本,因为 Vue.js.js 使用了 IE8 不能模拟的 ECMAScript 5 特性. Vue.js.js 支持所有兼容 EC ...