当内容提供商/运营商(CP/SP)接入 CDN(假设 CDN的URL为http://sample.ctccdn.com)时,在接入CDN成功后,把接入CDN后的URL发布到业务门户上。 用户使用业务的流程如下。
(1)用户终端(如计算机)从门户上观看一个在线视频,在打开一个播放页面后,点击播放按钮,该播放按钮URL的地址实际是指向CDN的,如http://sample.ctccdn.com/001。
(2)用户终端携带该URL向CDN发起播放请求,CDN通过内容分发机制把内容传送给用户。 CDN的内容分发机制是CDN的核心技术,如何高效地把内容由中心节点分发传送给用户是各大CDN厂商研究的重点内容。CDN内容分发网络的高效分发,指的是在有限的资源下,能实现用户就近服务最大化、网络消耗最小化。
用户计算机通过门户得到访问CDN的URL后,向CDN内容分发网络发起服务请求,如http://sample.ctccdn.com/001。
(1)CDN检查访问请求的源IP地址,并根据调度策略,把用户访问请求进行重定向,返回边缘的访问地址,如http://bianyuan1.ctccdn.com/001。
(2)用户计算机根据得到的重定向地址,如http://bianyuan1.ctccdn.com/001,向CDN内容分发网络边缘服务器发起服务请求。
(3)边缘服务器检查发现本机没有“001”内容,则发起 PULL 机制,向上发起下拉“001”的请求。
(4)CDN节点逐级检查是否存在“001”内容,如不存在则向上PULL内容,最终把内容下拉下来,并由边缘服务器向用户提供服务,开展CDN业务,办理CDN许可证。
从基于PULL的CDN分发流程来分析,CDN内容分发网络的处理机制是比较简单的:CDN的主要调度策略是不需要考虑内容的分布情况的,CDN 只需要根据用户访问请求的源 IP 地址,把用户访问请求调度到合适的边缘服务器。 CDN 节点间的下拉机制也比较简单,一般下级节点只需要把所需要下拉的内容 ID,如“001”向上发起请求即基于PUSH(推)的CDN分发机制基本原理主要是,把用户服务请求调度到有内容的CDN内容分发网络最接近用户的节点。在这种机制下,就不会发生内容未命中的情况。其流程如下。
(1)用户计算机通过门户得到访问CDN的URL后,向CDN发起服务请求,如http://sample.ctccdn.com/001。
(2)CDN检查访问请求的源IP地址,检查“001”内容在CDN内容分发网络的分布情况,并根据调度策略,对用户访问请求进行重定向,返回有内容的CDN最接近用户的节点,如http://quyu1.ctccdn.com/001。用户计算机根据得到的重定向地址,http://quyu1.ctccdn.com/001,向该服务器发送服务请求。
(3)CDN统计“001”的访问情况,当发现“001”内容达到热度阈值时,中心节点就主动下推内容到区域节点。