CDN(了解)
CDN:Content Delivery Network(内容分发网络)
CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边
缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户
就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN
的关键技术主要有内容存储和分发技术。
CDN组成:
CDN网络中包含的功能实体包括内容缓存设备、内容交换机、内容路由
器、CDN内容管理系统等组成。
内容缓存为CDN网络节点,位于用户接入点,是面向最终用户的内容提
供设备,可缓存静态Web内容和流媒体内容,实现内容的边缘传播和存储,
以便用户的就近访问。
内容交换机处于用户接入集中点,可以均衡单点多个内容缓存设备的负
载,并对内容进行缓存负载平衡及访问控制。
内容路由器负责将用户的请求调度到适当的设备上。内容路由通常通过
负载均衡系统来实现,动态均衡各个内容缓存站点的载荷分配,为用户的请
求选择最佳的访问站点,同时提高网站的可用性。内容路由器可根据多种因
素制定路由,包括站点与用户的临近度、内容的可用性、网络负载、设备状
况等。负载均衡系统是整个CDN的核心。负载均衡的准确性和效率直接决定
了整个CDN的效率和性能。
内容管理系统负责整个CDN的管理,是可选部件,作用是进行内容管
理,如内容的注入和发布、内容的分发、内容的审核、内容的服务等。
CDN功能:
(1)节省骨干网带宽,减少带宽需求量;
(2)提供服务器端加速,解决由于用户访问量大造成的服务器过载问题;
(3)服务商能使用Web Cache技术在本地缓存用户访问过的Web页面和对
象,实现相同对象的访问无须占用主干的出口带宽,并提高用户访问因特网
页面的相应时间的需求;
(4)能克服网站分布不均的问题,并且能降低网站自身建设和维护成本;
(5)降低“通信风暴”的影响,提高网络访问的稳定性。
CDN主要特点:
1、本地Cache加速:提高了企业站点(尤其含有大量图片和静态页面站点)
的访问速度,并大大提高以上性质站点的稳定性。
2、镜像服务:消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营
商的网络加速,保证不同网络中的用户都能得到良好的访问质量。
3、远程加速:远程访问用户根据DNS负载均衡技术智能自动选择Cache服
务器,选择最快的Cache服务器,加快远程访问的速度。
4、带宽优化:自动生成服务器的远程Mirror(镜像)cache服务器,远程用
户访问时从cache服务器上读取数据,减少远程访问的带宽、分担网络流
量、减轻原站点WEB服务器负载等功能。
5、集群抗攻击:广泛分布的CDN节点加上节点之间的智能冗余机制,可以有
效地预防黑客入侵以及降低各种DDoS攻击对网站的影响,同时保证较好的服
务质量 。
CDN关键技术:
内容发布
它借助于建立索引、缓存、流分裂、组播(Multicast)等技术,将内
容发布或投递到距离用户最近的远程服务点(POP)处。
内容分发包含从内容源到CDN边缘的Cache的过程。从实现上,有两种
主流的内容分发技术:PUSH和PULL。
PUSH是一种主动分发的技术。通常,PUSH由内容管理系统发起,将
内容从源或者中心媒体资源库分发到各边缘的 Cache节点。分发的协议可以
采用 Http/ftp等。通过PUSH分发的内容一般是比较热点的内容,这些内容
通过PUSH方式预分发( Preload)到边缘Cache,可以实现有针对的内容提
供。对于PUSH分发需要考虑的主要问题是分发策略,即在什么时候分发什么
内容。一般来说,内容分发可以由CP(内容提供商)或者CDN内容管理员人
工确定,也可以通过智能的方式决定,即所谓的智能分发,它根据用户访问
的统计信息,以及预定义的内容分发的规则,确定内容分发的过程PULL是一
种被动的分发技术,PULL分发通常由用户请求驱动。当用户请求的内容在本
地的边缘 Cache上不存在(未命中)时, Cache启动PUL方法从内容源或者
其他CDN节点实时获取内容。在PULL方式下,内容的分发是按需的。
内容路由
它是整体性的网络负载均衡技术,通过内容路由器中的重定向(DNS)
机制,在多个远程POP上均衡用户的请求,以使用户请求得到最近内容源的
响应。
CDN负载均衡系统实现CDN的内容路由功能。它的作用是将用户的请
求导向整个CDN网络中的最佳节点。最佳节点的选定可以根据多种策略,例
如距离最近、节点负载最轻等。负载均衡系统是整个CDN的核心,负载均衡
的准确性和效率直接决定了整个CDN的效率和性能。通常负载均衡可以分为
两个层次:全局负载均衡(GSLB)和本地负载均衡(SLB)。全局负载均衡主
要的目的是在整个网络范围内将用户的请求定向到最近的节点(或者区
域)。因此,就近性判断是全局负载均衡的主要功能。本地负载均衡一般局
限于一定的区域范围内,其目标是在特定的区域范围内寻找一台最适合的节
点提供服务,因此,CDN节点的健康性、负载情况、支持的媒体格式等运行
状态是本地负载均衡进行决策的主要依据。
内容存储
对于CDN系统而言,需要考虑两个方面的内容存储问题。一个是内容源
的存储,一个是内容在 Cache节点中的存储。
对于内容源的存储,由于内容的规模比较大(通常可以达到几个甚至几
十个TB),而且内容的吞吐量较大,因此,通常采用海量存储架构,如NAS
和SON。对于在 Cache节点中的存储,是 Cache设计的一个关键问题。需
要考虑的因素包括功能和性能两个方面:功能上包括对各种内容格式的支持,
对部分缓存的支持;在性能上包括支持的容量、多文件吞吐率、可靠性、稳定
性。
其中,多种内容格式的支持要求存储系统根据不同文件格式的读写特点
进行优化,以提高文件内容读写的效率。特别是对针对流媒体文件的读写。
部分缓存能力指流媒体内容可以以不完整的方式存储和读取。部分缓存的需
求来自用户访问行为的随机性,因为许多用户并不会完整地收看整个流媒体
节目。事实上,许多用户访问单个流媒体节目的时间不超过10分钟。因此,
部分缓存能力能够大大提高存储空间的利用率,并有效提高用户请求的响应
时间。但是部分缓存可能导致内容的碎片问题,需要进行良好的设计和控
制。
Cache存储的另一个重要因素是存储的可靠性,目前,多数存储系统
都采用了独立磁盘冗余阵列(RAID)技术进行可靠存储。但是不同设备使用
的RAID方式各有不同。
内容管理
它通过内部和外部监控系统,获取网络部件的状况信息,测量内容发布
的端到端性能(如包丢失、延时、平均带宽、启动时间、帧速率等),保证
网络处于最佳的运行状态。
内容管理在广义上涵盖了从内容的发布、注入、分发、调整、传递等一
系列过程。在这里,内容管理重点强调内容进人 Cache点后的内容管理,称
其为本地内容管理。本地内容管理主要针对一个ODN节点(有多个 CDN
Cache设备和一个SLB设备构成)进行。本地内容管理的主要目标是提高内
容服务的效率,提高本地节点的存储利用率。通过本地内容管理,可以在
CDN节点实现基于内容感知的调度,通过内容感知的调度,可以避免将用户
重定向到没有该内容的 Cache设备上,从而提高负载均衡的效率。通过本地
内容管理还可以有效实现在ODN节点内容的存储共享,提高存储空间的利用
率。