内容配送
内容配送是指把因特网的内容分别送到最合适的相应服务节点上。包含从内容源到CDN(Content Delivery Network)边缘的cache的过程。从实现上,有两种主流的内容配送技术:PUSH和PULL。
基本信息
- 中文名
内容配送
- 外文名
content delivery
CDN网络
CDN的全称是Content Delivery Network,即内容配送网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络”边缘”,使用户可以就近取得所需的内容,解决Intemet网络拥塞状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因。解决用户访问网站的响应速度慢的根本原因。
狭义地讲,内容分发布网络(CDN)是一种新型的网络构建方式,它是为能在传统的IP网发布宽带丰富媒体而特别优化的网络覆盖层;而从广义的角度,CDN代表了一种基于质量与秩序的网络服务模式。简单地说,内容发布网(CDN)是一个经箢略性部署的整体系统,包括分布式存储、负载均衡、网络请求的重定向和内容管理4个要件,而内容管理和全局的网络流量管理(Traffic Management)是CDN的核心所在。通过用户就近性和服务器负载的判断。CDN确保内容以一种极为高效的方式为用户的请求提供服务。总的来说,内容服务基于缓存服务器,也称作代理缓存(Surrogate),它位于网络的边缘,距用户仅有”一跳”(Single Hop)之遥。同时,代理缓存是内容提供商源服务器(通常位于CDN服务提供商的数据中心)的一个透明镜像。这样的架构使得CDN服务提供商能够代表他们客户.即内容供应商.向最终用户提供尽可能好的体验。而这些用户是不能容忍请求响应时间有任何延迟的。
纵观整个宽带服务的价值链,内容提供商和用户位于整个价值链的两端.中间依靠网络服务提供商将其串接起来。随着互联网工业的成熟和商业模式的变革,在这条价值链}:的角色越来越多也越来越细分。比如内容/应用的运营商、托管服务提供商、骨干|)c)4络服务提供商、接入服务提供高等等。在这一条价值链E的每一个角色都要分工合作、各司其职才能为客户提供良好的服务。从Ifi带来多赢的局面。从内容与网络的结合模式上看,内容的发布已经走过了ICP的内容(应用)服务器和IDC这两个阶段。IDC的热潮也催生了托管服务提供商这一角色。但是。IDC并不能解决内容的有效发布问题。内容位于网络的中心并不能解决骨干带宽的占用和建立IP网络上的流量秩序。因此将内容推到网络的边缘。为用户提供就近性的边缘服务,从而保证服务的质量和整个网络上的访问秩序就成了一种显而易见的选择。而这就是内容发布网(CDN)服务模式。CDN的建立解决了困扰内容运营商的内容”集中与分散”的两难选择。无疑对于构建良好的互联网价值链是有价值的,也是不可或缺的。
内容配送
内容配送包含从内容源到CDN边缘的cache的过程。从实现上,有两种主流的内容配送技术:PUSH和PULL。
PUSH是一种主动分发的技术。通常,PUSH由内容管理系统发起,将内容从源或者中心媒体资源库分发到各边缘的cache节点。分发的协议可以采用HTTP,FTP等。通过PUSH分发的内容一般是比较热点的内容,这些内容通过PUSH方式预分发(Preload)到边缘Cache,可以实现有针对的内容提供。对于PUsH分发需要考虑的主要问题是分发策略,即在什么时候分发什么内容。一般来说,内容配送可以由CP(内容提供商)或者CDN内容管理员人工确定,也可以通过智能的方式决定,即所谓的智能分发,它根据用户访问的统计信息,以及预定义的内容配送的规则,确定内容配送的过程。
PULL是一种被动的分发技术,PULL分发通常由用户请求驱动。当用户请求的内容在本地的边缘cache上不存在(未命中)时,cache启动PULL方法从内容源或者其他CDN节点实时获取内容。在PuLL方式下,内容的分发是按需的。
在实际的CDN系统中,一般两种分发方式都支持,但是根据内容的类型和业务模式的不同,在选择主要的内容配送方式时会有所不同。通常,PUSH的方式适合内容访问比较集中的情况,如热点的影视流媒体内容;PULL方式比较适合内容的访问比较分散的情况。
在内容配送的过程中,对于cache设备而言,关键的是需要建立内容源全球资源定位符(URL)、内容发布的URL、用户访问的URL以及内容在Cache中存储的位置之间的映射关系,如图1所示。
其中,映射关系1是内容源的URL和内容在webPortal上发布的内容访问URL的映射关系。通常,为了将用户导向到CDN中(而不是直接去内容源访问),这两个URL是不同的。当然,为了降低SP的改动量,在采取了特殊的技术后,两个URL也可以相同。
映射关系2是内容在Portal上发布的uRL和经过负载均衡后,用户实际访问Cache设备的uRL的映射关系。除非在负载系统中仅采用DNS,URL都将发生变化。如何定义变化的规则,以便Cache设备能够获取内容的原始信息,是映射2需要考虑的问题。
映射关系3是用户访问的URL和内容在Cache中存储的位置的对应关系。该映射关系使得Cache能够正确地根据用户的请求提供内容。
映射关系4是Cache的内容存储位置和内容源的映射关系,通过该映射关系,使得当用户请求的内容未命中的时候,Cache能够向内容源获取内容(PULL)。这里,如果需要Cache不直接从源取内容,而从另一个Cache去获取内容的话,其映射关系将会更加复杂。
根据这些映射关系的不同实现方式。CDN的内容配送也不同,下面是几种常见的方式:
- 1.
基于SP的手工映射方式。内容按照其提供商(SP)进行管理。对于映射关系1不作要求,但是需要两个uRL不同。映射2为手工定义的映射关系,使得用户的URL在经过负载均衡后携带SP信息。cache中的内容以SP为单位存储,通过提取用户访问的URL中的SP信息查找cache中存储的实际内容,这样可以实现映射3。如果未命中,需要根据手工配置的映射关系4找到该内容的源服务器位置,以实现内容的PULL。如果内容以PUSH的方式分发,需要在分发中说明内容的源URL,SP信息,以便建立映射关系3。
- 2.
基于反向代理的方式。内容以发布的URL为单位进行管理。对于映射关系1不作要求,但是需要两个URL不同。对于映射关系2,定义uRL改变规则为叠加cache的IP地址,这样,用户访问的URL在去掉叠加的IP后,可以恢复为原来的(Portal上发布的)URL。在cache设备上直接按照Portal上发布的UI也为索引进行内容存储,可以方便地提取内容。如果内容未命中,需要通过手工建立的反向加速规则,从预定义的内容源去获取内容。
- 3.
基于正向代理的方式。内容仍然以发布的URL为单位进行管理。但是为了避免对sP的改动,正向代理方式在保持Portal的URL和内容源的IP也相同的情况下工作。对于映射关系2和3,同反向代理方式。当内容未命中时,需要通过一个内部的DNs解析出该uRL的真正的内容源的IP地址。采用内部DNS的原因是避免DNs解析被引导到负载均衡系统中。因此,内部的DNS实现了映射关系4。上述几种实现方式各有特点,可应用于不同的内容和业务情况。