CDN内容分发技术实现原理

 

从用户使用的角度来看,CDN是透明的,用户在使用互联网业务时,该业务是否使用了CDN承载,是不改变和影响用户的正常操作流程的。
 
当内容提供商/运营商(CP/SP)接入CDN(假设CDN的URL为ht:/ sample. ctccdn.com)时,在接入CDN成功后,把接入CDN后的URL发布到业务门户上。
 
用户使用业务的流程如下。
 
(1)用户终端(如计算机)从门户上观看一个在线视频,在打开一个播放页面后,点击播放按钮,该播放按钮URL的地址实际是指向CDN的,如http:/sample. Ctccdn.com/001。
 
(2)用户终端携带该URL向CDN发起播放请求,CDN通过内容分发机制把内容传送给用户。CDN的内容分发机制是CDN的核心技术,如何高效地把内容由中心节点分发传送给用户是各大CDN厂商研究的重点内容。CDN的高效分发,指的是在有限的资源下,能实现用户就近服务最大化、网络消耗最小化。
 
一:基于PULL的分发机制
 
基于PULL(下拉)的CDN分发机制基本原理主要是通过把用户服务请求调度到合适的边缘节点,如果发生内容未命中,则该边缘节点向上PULL(下拉)内容,如果其上级也没有,则逐级向上下拉。
其流程如下。
 
(1)用户计算机通过门户得到访问CDN的URL后,向CDN发起服务请求,如http:/sample. Ctccdn.com/001。
 
(2)CDN检查访问请求的源IP地址,并根据调度策略,把用户访问请求进行重定向,返回边缘的访问地址,如http:/sample. Ctccdn.com/001。
 
(3)用户计算机根据得到的重定向地址,如htp:/ bianyuan1. ctccdn.com/001,向CDN服务器发起服务请求。
 
(4)边缘服务器检查发现本机没有“001”内容,则发起PULL机制,向上发起下拉“001”的请求。
 
(5)CDN节点逐级检查是否存在“001”内容,如不存在则向上PULL内容,最终把内容下拉下来,并由边缘服务器向用广提供服务。
 
从基于PULL的CDN分发流程来分析,CDN的处理机制是比较简单的:CDN的主要调度策略是不需要考虑内容的分布情况的,CDN只需要根据用广访问请求的源IP地址,把用户访问请求调度到合适的边缘服务器。CDN节点间的下拉机制也比较简单,一般下级节点只需要把所需要下拉的内容ID如“001”向上发起请求即可。
 
二:基于PUSH的分发机制
基于PUSH(推)的CDN分发机制基本原理主要是,把用户服务请求调度到有内容的CDN最接近用
中心户的节点。在这种机制下,就不会发生内容未命中的情况。其流程如下。
 
(1)用户计算机通过门户得到访问CDN的URL后,向CDN发起服务请求,如http:/sample. Ctccdn.com/001。
 
(2)CDN检查访问请求的源IP地址,检査“001”内容在CDN的分布情况,并根据调度策略,对用户访问请求进行重定向,返回有内容的CDN最接近用户的节点,如http:/quyu1. ctccdn.com/001。用户计算机根计算据得到的重定向地址,http/quyu.ctccdncon/001,向该服务器发送服务请求。
 
(3) CDN统计“001”的访问情况,当发现“001”内容达到热度阈值时,中心节点就主动下推内容到区域节点。
 
(4)区域节点发现“001”内容达到热度阈值时,也主动把内容下推到边缘服务器。
 
(5)当再有用户服务请求“001”内容时,CDN即把用户请求调度到有内容的边缘服务器从基于PUsH的CDN分发流程来分析,CDN的处理机制是相对较为复杂的:CDN需要了解到全网CDN内容的分布,能正确把用户调度到有内容的服务器上,而且PUSH的主动下发,需要对内容热度有完全的统计信息。
 
三.混合分发机制
混合分发机制就是PUSH与PULL分发机制结合的一种机制。混合分发机制有多种方案,最常见的混合分发机制,是利用PUSH机制进行内容预推,后续的CDN内容分发机则使用PULL机制。
 
需要支持智能分发(Push或Pull)方式,支持根据当前内容分发系统中的内容服务状况,采用推拉的方式动态地调整内容在内容分发系统中的分布,对于热点内容自动智能地将其缓存在边缘节点。
 
对于Push分发方式需要支持手工分发、自动分发、单个分发、批量分发、逻辑群分发(可选);至少应支持即时、定时、增量的内容分发策略;根据节点分组信息、节点IP地址段等策略进行内容分发:应支持根据访问量设置分发门限、定向分发,客户自定义等分发策略;支持分类、分级的内容分发策略;支持对内容的分发优先级、更新频率、新鲜度设定等管理功能。
 
CDN互联专业提供国内外高防cdn加速服务
 
上一篇:第一页
下一篇:最后一页