什么是CDN - IDC资讯网_站长学院 - Java PHP Flex Python Ajax CSS 编程 开源 学习 总结 分享

什么是CDN

[ 2010-07-02 13:29 | by 草山湖 ]
    CDN的全称是Content Delivery Network,即内容分发网络。是通过在现有的 Internet 中增加一层新的网络架构,将网站的内容发布到最接近用户的网络 " 边缘 " ,使用户可以就近取得所需的内容,解决 Internet 网络拥塞状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,造成的用户访问网站的响应速度慢的问题。

    通过用户就近性和服务器负载的判断, CDN 确保内容以一种极为高效的方式为用户的请求提供服务。总的来讲,内容服务基于缓存服务器,也称作代理缓存 (Surrogate) ,它位于网络的边缘,距用户仅有 “ 一跳 ”(Single Hop) 之遥。

    同时,代理缓存是内容提供商源服务器的一个透明镜像。这样的架构使得 CDN 服务提供商能够代表他们客户,即内容供应商,向最终用户提供尽可能好的体验。采用 CDN 技术,能处理整个网站页面的 70% ~ 95 %的内容访问量,减轻服务器的压力,提升了网站的性能和可扩展性。

    而CDN又有别于一般的镜像,因为它比镜像更智能,或者可以做这样一个比喻:CDN=更智能的镜像+缓存+流量导流。因而,CDN可以明显提高Internet网络中信息流动的效率。

    总的来说,CDN是一个经策略性部署的整体系统,能够帮助用户解决分布式存储、负载均衡、网络请求的重定向和内容管理等问题;CDN代表了一种基于质量与秩序的网络服务模式。

CDN(Content Delivery Network)内容分发网络,简单的说就是通过在不同地点缓存内容,然后通过负载平衡等技术将用户请求定向到最近的缓存服务器上获取内容,提高用户访问网站的响应速度。和简单的内容镜像不同,CDN通过用户就近性和服务器负载的判断,以一种更为高效的方式为用户的请求提供服务。

CDN包括分布式存储、负载均衡、网络请求的重定向和内容管理,其中内容管理和全局的网络流量管理(Traffic Management)是CDN的核心所在。内容服务基于缓存服务器,也称作代理缓存(Surrogate),这样的缓存服务器分布在各地,为就近用户提供服务,缓存内容从数据中心自动获取,对用户透明。据说采用CDN技术能处理整个网站页面的 70%~95%的内容访问量,对于一些大型网站来说,没有CDN,单靠数据中心支撑所有访问量是不可想象的。

CDN中的关键技术包含以下几个方面;

    * 内容发布:借助于建立索引、缓存、流分裂、组播(Multicast)等技术,将内容发布或投递到距离用户最近的远程服务点(POP)处;
    * 内容路由:整体性的网络负载均衡技术,通过内容路由器中的重定向(DNS)机制,在多个远程POP上均衡用户的请求,以使用户请求得到最近内容源的响应;
    * 内容交换:根据内容的可用性、服务器的可用性以及用户的背景,在POP的缓存服务器上,利用应用层交换、流分裂、重定向(ICP、WCCP)等技术,智能地平衡负载流量;
    * 性能管理:通过内部和外部监控系统,获取网络部件的状况信息,测量内容发布的端到端性能(如包丢失、延时、平均带宽、启动时间、帧速率等),保证网络处于最佳的运行状态。

部署CDN后,用户访问网站的流程如下图:
点击在新窗口中浏览此图片

   1. 用户请求页面,域名解析的请求发送到网站的DNS域名解析服务器;
   2. 网站的DNS服务器将请求指向到智能DNS负载均衡系统;
   3. 智能DNS负载均衡系统对域名进行智能解析,将响应速度最快的CDN节点IP返回给用户;
   4. 浏览器向速度最快的CDN节点发出访问请求;
   5. 如果请求的内容是第一次访问,CDN节点将回到数据中心获取用户请求的数据,缓存并发给用户;
   6. 当有其他用户再次访问同样内容时,CDN将直接将缓存数据返回给客户,完成请求/服务过程。

从以上流程可以看到,CDN其实也没有什么特别的,主要是通过负载均衡,访问路由转向和本地代理缓存来加速网站访问,同时对于用户访问来说是透明的,用户端无须进行任何设置。
网站运营 | 评论(0) | 引用(0) | 阅读(4116)