随着互联网的发展,用户在使用网络时对网站的浏览速度和效果愈加重视,但由于网民数量激增,网络访问路径过长,从而使用户的访问质量受到严重影响。特别是当用户与网站之间的链路被突发的大流量数据拥塞时,对于异地互联网用户急速增加的地区来说,访问质量不良更是一个急待解决的问题。如何才能让各地的用户都能够进行高质量的访问,并尽量减少由此而产生的费用和网站管理压力呢?内容发布网络(Content Delivery Network,CDN)诞生了。
一、CDN是什么?
---- CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。CDN有别于镜像,因为它比镜像更智能,或者可以做这样一个比喻:CDN=更智能的镜像+缓存+流量导流。因而,CDN可以明显提高Internet网络中信息流动的效率。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等问题,提高用户访问网站的响应速度。
---- 为更好地理解CDN,让我们看一下CDN的工作流程。当用户访问已经加入CDN服务的网站时,首先通过DNS重定向技术确定最接近用户的最佳CDN节点,同时将用户的请求指向该节点。当用户的请求到达指定节点时,CDN的服务器(节点上的高速缓存)负责将用户请求的内容提供给用户。具体流程为: 用户在自己的浏览器中输入要访问的网站的域名,浏览器向本地DNS请求对该域名的解析,本地DNS将请求发到网站的主DNS,主DNS根据一系列的策略确定当时最适当的CDN节点,并将解析的结果(IP地址)发给用户,用户向给定的CDN节点请求相应网站的内容。
二、CDN的相关技术
---- CDN的实现需要依赖多种网络技术的支持,其中负载均衡技术、动态内容分发与复制技术、缓存技术是比较主要的几个,下面让我们简单看一下这几种技术。
---- 负载均衡技术
---- 负载均衡技术不仅仅应用于CDN中,在网络的很多领域都得到了广泛的应用,如服务器的负载均衡、网络流量的负载均衡。顾名思义,网络中的负载均衡就是将网络的流量尽可能均匀分配到几个能完成相同任务的服务器或网络节点上,由此来避免部分网络节点过载。这样既可以提高网络流量,又提高了网络的整体性能。在CDN中,负载均衡又分为服务器负载均衡和服务器整体负载均衡(也有的称为服务器全局负载均衡)。服务器负载均衡是指能够在性能不同的服务器之间进行任务分配,既能保证性能差的服务器不成为系统的瓶颈,又能保证性能高的服务器的资源得到充分利用。而服务器整体负载均衡允许Web网络托管商、门户站点和企业根据地理位置分配内容和服务。通过使用多站点内容和服务来提高容错性和可用性,防止因本地网或区域网络中断、断电或自然灾害而导致的故障。在CDN的方案中服务器整体负载均衡将发挥重要作用,其性能高低将直接影响整个CDN的性能。
---- 动态内容分发与复制技术
---- 大家都知道,网站访问响应速度取决于许多因素,如网络的带宽是否有瓶颈、传输途中的路由是否有阻塞和延迟、网站服务器的处理能力及访问距离等。多数情况下,网站响应速度和访问者与网站服务器之间的距离有密切的关系。如果访问者和网站之间的距离过远的话,它们之间的通信一样需要经过重重的路由转发和处理,网络延误不可避免。一个有效的方法就是利用内容分发与复制技术,将占网站主体的大部分静态网页、图像和流媒体数据分发复制到各地的加速节点上。所以动态内容分发与复制技术也是CDN所需的一个主要技术。
---- 缓存技术
---- 缓存技术已经不是一种新鲜技术。Web缓存服务通过几种方式来改善用户的响应时间,如代理缓存服务、透明代理缓存服务、使用重定向服务的透明代理缓存服务等。通过Web缓存服务,用户访问网页时可以将广域网的流量降至最低。对于公司内联网用户来说,这意味着将内容在本地缓存,而无须通过专用的广域网来检索网页。对于Internet用户来说,这意味着将内容存储在他们的ISP的缓存器中,而无须通过Internet来检索网页。这样无疑会提高用户的访问速度。CDN的核心作用正是提高网络的访问速度,所以,缓存技术将是CDN所采用的又一个主要技术。
三、谁需要CDN?
---- 既然CDN的核心作用是提高网络的访问速度,那么其用户也就是访问量很大的网站,例如ICP 、ISP、大型企业、电子商务网站和政府网站等。利用CDN技术,这些网站无需投资昂贵的各类服务器,设立分站点。通过采用CDN,CDN将负责信息传递工作,保证信息正常传输,而技术人员只需要维护网站内容,不需要考虑流量问题。这样,网站可保证用户得到更多的新业务,可以快速访问网络上的内容,获得更好的服务质量。举个例子来讲,对于访问量比较大,而被访问内容更新周期比较长的网站,如政府网站,用户往往进行大量的查询工作。这类网站比较适合采用CDN。还有,大家是否注意到,在所谓的宽带社区中,瓶颈是社区的对外出口。这样,如果采用CDN无疑对社区用户使用视频点播、网络教育等宽带应用提供了保证。
四、CDN的不足
---- 任何一个新事物,在给现有模式带来改进的同时,也必然存在一定的局限,CDN也是这样。据互联通网络有限公司的技术经理郭广中讲,实时性不太好是CDN的致命缺陷。随着对CDN需求的逐渐升温,这一缺陷将得到改进,使来自于远程服务器的网络内容网页与复本服务器或缓存器中的网页保持同步。解决方法是在网络内容发生变化时将新的网络内容从服务器端直接传送到缓存器,或者当对网络内容的访问增加时将数据源服务器的网络内容尽可能实时地复制到缓存服务器。
五、CDN产品
---- 目前,推出比较成熟的CDN产品的厂家有Cisco、F5和互联通公司等,前两者的CDN是以硬件系统为主,而后者的CDN是以软件为主的通用平台,很好地结合了线路和服务优势。下面简单分析一下互联通的CDN――Smart CDN。
---- 互联通采用整体负载均衡(GSLB)、缓存技术(Cache)及镜像技术(Mirror)相结合的方法,为客户提供异地网络加速服务。具体方案是在网站主站点以外的用户集中城市、地区使用互联通的网络加速服务,互联通智能GSLB系统通过互联通专网,引导网站用户访问“最佳”Cache/Mirror服务器,从而绕过互联网拥堵链路,减轻主站点服务器负载,实现异地网络加速,并解决了单纯Cache/Mirror不能解决的难题。
---- Smart CDN通过DNS解析或HTTP重定向两种方式工作,通过Cache服务器或异地的镜像站点完成内容的传送与同步更新。DNS方式用户位置判断准确率大于85%,HTTP方式准确率为99%以上。经实际测算,各Cache服务器群的用户访问流入数据量与Cache服务器到原始网站取内容的数据量之比在2:1到3:1之间,即分担50%~70%的到原始网站重复访问数据量(主要是图片、流媒体文件等内容)。对于镜像,除数据同步的流量,其余均在本地完成,不访问原始服务器。
---- Smart CDN系统基于用户实际访问的IP地址判断用户位置,直接将用户访问指向响应速度最快的站点。整个系统管理简单,用户可通过GUI确定有哪些内容需要做分布式分发,系统会自动完成内容的复制、更新及数据库同步的全过程。并且,系统具有自诊断、负载均衡的能力,任何环节发生故障,不会影响整个系统的可访问性。
---- 可以说,负载均衡技术在CDN中发挥着重要的作用,其能力高低对CDN的性能产生直接影响。Smart CDN所采用的负载均衡具有一定的优势,主要体现在如下几个方面。
---- 1. 高智能化
---- 运用虚拟IP(VIP)地址代表目标服务器和应用,Smart CDN将会话分配到最高可用性的服务器,全程监控每个会话。服务恢复后自动重新登记,并在转发客户机和服务器信息包时提供全地址转换。Smart CDN采用了包括循环法、最少连接法、散列法或最少失误法等多种不同的负载均衡方法,并对个别服务器配置最大连接数量阈值和加权值,这样可以有效避免服务器超载。
---- 2. 高可靠性
---- Smart CDN架构在互联通专用的高速骨干网之上,该主干网络提供延迟极小的网络连通性,从而保障GSLB的功能正常发挥和高性能,优于基于公网的GSLB。并且,当主站点机房的Internet出口出现故障时,Smart CDN还能将用户自动、透明地从其他分站点Internet入口导向主站点服务器,从而提高了网络的可靠性。
---- 3. 高可用性
---- 采用热备份方法,在极短时间内对服务器链路、交换端口和交换机进行检测和故障转移,使应用免受故障影响。一旦任何一个服务器或服务器群发生故障或阻塞,用户将被自动引导到下一个最佳备份服务器或站点,从而更进一步提高了服务和内容的可用性。
---- 4. 高冗余性
---- Smart CDN运行在互联通“三环嵌套”网络主干架构之上,具有高冗余特点,从而保证了高可靠性和高可用性,这一点和其他基于公网的GSLB解决方案有很大差别。
---- 另外,Smart CDN在服务上的优势体现在: 通过互联通专有链路系统,可提高用户访问的响应速度;保证了两岸三地区域内多点多地服务器内容同步;消除了峰值访问(Peak Load)对出口链路及服务器性能的压力;提高了租用链路的带宽利用率; 降低了原始Web/FTP网站的负载等。