对于经常上网的人们来说,可能会经常遇到网络阻塞,响应速度缓慢,甚至服务器错误响应或无法进行正常访问等问题。鉴于此,为提高用户访问的响应速度、优化现有Internet中信息的传输,在现有的Internet网络中建立一个完善全面的中间层--CDN, 使用户能以最快的速度,从最接近用户的地方获得所需的信息,彻底解决网络拥塞,提高响应速度,是目前最为流行的网络优化应用方案。
目前的CDN服务主要应用于证券、金融保险、ISP、ICP、网上交易、网站、大中型公司、网络教学等领域。另外在行业专网、互联网中都可以用到,甚至可以对局域网进行网络优化。利用CDN,这些网站无需投资昂贵的各类服务器、设立分站点。通过与CDN机构进行合作,CDN负责信息传递工作,保证信息正常传输,维护传送网络,而网站只需要内容维护,不再需要考虑流量问题。
CDN能够为网络的快速、安全、稳定、可扩展等方面提供保障。
一、什么是CDN?
CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度。
CDN通过负载均衡技术、动态内容路由、高速缓存机制、动态内容分发与复制、安全服务等网络技术,应用特定的智能算法与服务设备,归纳出最重要与访问率最高的内容,并把这部分内容传送到指定的异地服务器上。据统计,采用CDN技术映射多个服务器可以保证70%~95%的内容访问的命中率。
二、CDN 的工作原理
当用户访问已经加入CDN服务的网站时,首先通过CDN公司的3DNS确定最接近用户的最佳CDN节点,同时将用户的请求指向该节点。当用户的请求到达指定节点时,CDN的服务器负责将用户请求的内容提供给用户。
用户访问的基本流程如下:
1、用户在自己的浏览器中输入要访问的网站的域名;
2、浏览器向本地DNS(域名解析系统)请求对该域名的解析;
3、本地DNS将请求发到网站的主DNS,主DNS再将域名解析请求转发到3DNS;
4、3DNS根据一系列的策略确定当时最适当的CDN节点,并将解析的结果(IP地址)发给用户;
5、用户向给定的CDN节点请求相应网站的内容;
6、CDN节点中的服务器负责响应用户的请求,提供所需的内容。
三、实现CDN的技术手段
实现CDN所采用的技术手段可以划分为三大类:镜像、高速缓存、专线。
镜像站点(Mirror Site)服务器是我们经常可以看到的,它让内容直截了当地进行分布,适用于静态和准动态的数据同步。但是购买和维护新服务器的费用较高,另外还必须在各个地区设置镜像服务器,配备专业技术人员进行管理与维护。大型网站在随时更新各地服务器的同时,对带宽的需求也会显著增加,因此一般的互联网公司不会建立太多的镜像服务器。
高速缓存手段的成本较低,适用于静态内容。Internet的统计表明,超过80%的用户经常访问的是20%的网站的内容,在这个规律下,缓存服务器可以处理大部分客户的静态请求,而原始的WWW服务器只需处理约20%左右的非缓存请求和动态请求,于是大大加快了客户请求的响应时间,并降低了原始WWW服务器的负载。根据美国IDC公司的调查,作为CDN的一项重要指标-缓存的市场正在以每年近100%的速度增长,全球的营业额在2004年将达到45亿美元。网络流媒体的发展还将剌激这个市场的需求。
而专线手段,可以让用户直接访问数据源,可以实现数据的动态同步。
四、CDN的网络结构(如图)
一个典型CDN网络结构由以下五部分组成,如图所示。
内容缓存: 位于 POP接入点或多点 IDC 中, 可缓存静态的Web内容和流媒体内容。
内容交换机: 在 IDC中,可对内容缓存负载平衡及访问控制。
内容路由器: 在POP点或IDC中,负载为用户的请求选择最佳的访问站点。
内容分发系统: 内容缓存只可缓存静态内容而对于一些要求对其所有分布站点的内容作镜像的用户,我们需要一个内容镜像系统,这就是内容分发系统。
CDN管理系统: 由于CDN系统是提供给多个用户共享,所以需要一个中心管理系统作为 CDN的集中管理。
六、CDN系统的关键构件
一个完整的CDN网络主要由三个子系统组成:
3DNS
3DNS是CDN服务中的关键子系统。当用户访问加入CDN服务的网站时,域名解析请求将最终交给3DNS进行处理。3DNS通过一组预先定义好的策略,将当时最接近用户的节点地址提供给用户,使用户能够得到快速的服务。同时,它还与分布在世界各地的所有CDNC节点保持通信,搜集各节点的通信状态,确保不将用户的请求分配到不可用的CDN节点上。
CDN 节点
对于普通的Internet用户来讲,每个CDN节点就相当于一个放置在它周围的WEB。通过3DNS的控制,用户的请求被透明地指向离他最近的节点,节点中CDN服务器会像网站的原始服务器一样,响应用户的请求。由于它离用户更近,因而响应时间必然更快。
每个CDN节点由两部分组成:负载均衡设备和内容加速服务器
负载均衡设备负责每个节点中各个Cache的负载均衡,保证节点的工作效率;同时,负载均衡设备还负责收集节点与周围环境的信息,保持与3DNS的通信,实现整个系统的负载均衡。
内容加速服务器(Cache)负责存储客户网站的大量信息,就像一个靠近用户的网站服务器一样响应本地用户的访问请求。
CDN管理系统
CDN的管理系统是整个系统能够正常运转的保证。它不仅能对系统中的各个子系统和设备进行实时监控,对各种故障产生相应的告警,还可以实时监测到系统中总的流量和各节点的流量,并保存在系统的数据库中,使网管人员能够方便地进行进一步分析。通过完善的网管系统,用户可以对系统配置进行修改。