CDN分析与自建要求分析1.1CDN概念CDN的全称是ContentDelivery(Distribution)Network,即内容分发网络。构建CDN的目的:是通过在现有的互联网中增加一层新的网络架构,将网络内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,解决互联网网络拥挤的状况,提高用户所能获取服务或业务的服务质量。其实质是在互联网上构建一个覆盖网络CDN的能力:从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均而产生的用户使用互联网业务服务质量差的根本原因。1.2CDN提高服务质量的基本思路及施基本思路:就是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳。通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务。基本措施:将内容推到网络的边缘,为用户提供就近性的边缘服务,从而保证服务的质量和整个网络上的访问秩序,这也是就是CDN的服务模式措施1:把业务的服务点尽可能的延伸网络边缘,也就是最靠近用户的地方,避免远距离的IP转发,减少互联网内部引入的服务质量衰减措施2:提供分布式的负载均衡,从而减少服务器端的瓶颈1.3CDN所能提供的服务(应用)用户终端:PC、PDA,手机等服务类型:1.网页加速2.文件传输加速3.流媒体加速1.4CDN的历史及趋势1.5CDN基本体系结构1.6CDN基本组成元素(1/2)1.7CDN的特点本地Cache加速:提高了企业站点(尤其含有大量图片和静态页面站点)的访问速度,并大大提高以上性质站点的稳定性镜像服务:消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营商的网络加速,保证不同网络中的用户都能得到良好的访问质量远程加速:远程访问用户根据DNS负载均衡技术智能自动选择Cache服务器,选择最快的Cache服务器,加快远程访问的速度带宽优化:自动生成服务器的远程Mirror(镜像)cache服务器,远程用户访问时从cache服务器上读取数据,减少远程访问的带宽、分担网络流量、减轻原站点WEB服务器负载等功能集群抗攻击:广泛分布的CDN节点加上节点之间的智能冗于机制,可以有效地预防黑客入侵以及降低各种DDoS(DistributionDenialofservice,分布式拒绝服务攻击)对网站的影响,同时保证较好的服务质量1.8CDN中的关键技术内容发布:它借助于建立索引、缓存、流分裂、组播等技术,将内容发布到距离用户最近的边缘服务器请求路由:它是整体性的网络负载均衡技术,通过内容路由器中的重定向机制,在多个边缘服务器间均衡用户的请求,以使用户请求得到最近内容源的响应负载均衡:它根据内容的可用性、服务器的可用性以及用户情况,在边缘服务器上,利用应用层交换、流分裂、重定向等技术,智能地平衡负载流量性能管理:它通过内部和外部监控系统,获取网络部件的状况信息,测量内容发布的端到端性能(如包丢失、延时、平均带宽、启动时间、帧速率等),保证网络处于最佳的运行状态1.9CDN中的关键技术-内容发布根据内容发布的方式可以分为三类发布技术协作式推送技术(cooperativepush-based):即当源服务器有新内容时,它把内容推送到合适的边缘服务器,边缘服务器间互相协而共享各自的内容,避免一个内容被发布到所有边缘服务器,从而减少了复制及更新成本。在此种方式中,CDN维护一个内容与边缘服务器的映射表,当用户请求时,可以查询此表,把请求转到距离用户最近的具有请求该内容的边缘服务器上。非协作式拉取技术(non-cooperativepull-based):用户请求总是被重定向到距离最近的边缘服务器,如果边缘服务器没有所请求的内容,则边缘服务器向源服务器请求该内容。该技术简单,易实现,缺点是负责向用户提供服务的边缘服务器不总是最优的。协作式拉取技术(cooperativepull-based):它与非协作式拉取技术主要不同在于,当一个边缘服务器没有用户请求内容时,它可以从其它边缘服务器请求本地所没有的内容。此种方式的优点是减少源服务器处带宽成本。目前此技术仍处于研究实验阶段2.0CDN中的关键技术-请求路由基于DNS的内容请求路由机制2.1评价CDN系统的性能指标缓存命中率(Cachehitratio):在一定时间内,假设用户总请求次数为N,其中,用户请求内容不在边缘服务器上而需要向源服务器获取内容的请求次数为M,则H=(N-M)/N即为缓存命中率。命中率越高意味CDN系统效率越高。用户得到的平均响应越快保留带宽RB(Reservedbandwidth):在一定时间内,源服务器端所使用的网络带宽。RB越小,说明CDN发挥作用越大,为源服务器节省带宽成本约多响应时延(Latency):指用户发出请求至得到请求响应间的时间。平均响应时延越小说明CDN性能越好,源服务器消耗带宽越小边缘服务器利用率(Edgeserverutilization):该指标测量的是边缘服务器的资源利用的程度,常用CPU利用率、I/0值大小、接受用户请求的总次数、以及存储空间比率来衡量可靠性(Reliability):主要是通过分组的丢包率来衡量CDN为终端用户所提供服务的可靠性。2.2视频多媒体特性对CDN构建的影响带宽消耗:相对于传统的网页加速、文件下载加速等业务,提供视频业务的CDN消耗的网络带宽大存储消耗:占用CDN边缘服务器以及内部缓存服务器的存储空间大实时性要求更高:需要更低的响应时延,为保持流畅的视频效果,需要更低的时延抖动2.3多媒体传送类型流式传送:指流式数据经网络传送到目的地,若目的地有视频播放器,则既可实时播放文件下载式传送:常指未经流化的数据经网络传输到目的地,若目的地视频播放器,只有视频文件完整下载完后,视频播放器才能播放视频2.4构建系统的性能目标系统的选型、技术的取舍、系统规模规模等等都需要从两个角度考虑1.从系统本身考虑:CDN系统代价最小化,也就是低成本2.边缘服务器、缓冲设备等成本3.CDN消耗带宽的成本4.从系统对外提供服务的角度:为用户提供高质量的服务及用户体验,也就是高产出5.用户响应时间6.视频流畅度7.视频数量及类型构成(不同清晰度视频的比例)8所能支持的并发用户量9.用户平均在线时间(直接决定了视频广告的效果)2.5典型的CDN架构两层层次结构在高层进行内容分布(contentdistribution)进行的是常规文件类传送(对点播而言)或流式传送(对直播而言)在低层进行内容传送(contentdelivery)进行流式传送2.6构建CDN涉及的关键问题1.CDN节点布置1.1区域中心布置在大城市城域网1.2高层复制节点可下挂多个cache(至少2个以提供互备份)1.3低层边缘服务器(proxy/caches)的数量由现有用户数或潜在用户数决定(若是独立的CDN提供商,一个重要的决定因素是连接多少个ISP)2.网络配置2.1高层可用高速的骨干网(10-40G)2.2低层可用城域网(以太网)(1-10G)3.内容分配及分布(ContentAllocationandDistribution):CDN性能不仅与缓存、边缘服务器的数量有关系,更重要的是与视频内容的分布相关3.1视频文件是否分块?3.1.1若分块,可提高网络交换和存储效率,但是提高复杂性3.1.2若不分块,实现简单3.2内容发布方式3.2.1基于推送(push):可减小用户访问时延,提高Cache命中率3.2.2基于拉取(Pull):实现简单,存储节省3.3.Cache管理策略:由于视频内容占存储空间大,而存储总是有限的,必须有较好的Cache管理策略,当前常用的是LRU(Leastrecentlyused)4.内容传输方式(ContentTransmission)4.1对于直播应用,全程使用流式传输方式4.2对于点播等应用,只在边缘服务器与用户间使用流式传输方式5.用户请求路由当前大都采用基于DNS的重定向技术6.边缘服务器选择,需考虑以下因素:6.1用户的地理位置6.2用户请求内容的可提供性6.3可提供服务节点的负载情况6.4可选用全国八大节点机房以及BGP机房