CDN内容分发网络技术原理 下载本文

龙源期刊网 http://www.qikan.com.cn

CDN内容分发网络技术原理

作者:赵红

来源:《中华建设科技》2017年第08期

【摘要】CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。

【关键词】CDN(内容分发网络;Content Delivery Network);内容存储;分发技术 CDN content distribution network technology principle Zhao Hong

(Tianyuan Ruixin Communication Technology Co., LtdXi'anShaanxi710075) 【Abstract】CDN is a content distribution network built on the network, relying on the deployment of the edge of the server, through the central platform load balancing, content distribution, scheduling and other functional modules, so that users get the necessary content, reduce network congestion, improve user access Response speed and hit rate. CDN's key

technologies are mainly content storage and distribution technology. The basic principle is widely used in a variety of cache servers, these cache servers distributed to the user to visit the relative concentration of the region or the network, the user access to the site, the use of global load technology to the user's visit to the nearest working cache server , The cache server directly respond to user requests.

【Key words】CDN (Content Delivery Network);Content storage;Distribution technology 1. 前言

(1)CDN能够几乎涵盖国内所有线路;而在可靠性上, CDN 在结构上实现了多点的冗余,即使某一个节点由于意外发生故障,对网站的访问能够被自动导向其他的健康节点进行响应。CDN能轻松实现网站的全国铺设,不必考虑服务器的投入与托管、不必考虑新增带宽的成本、不必考虑多台服务器的镜像同步、不必考虑更多的管理维护技术人员(CDN内容分发示意图见图1,CDN对网络的优化作用见图2)。

龙源期刊网 http://www.qikan.com.cn

(2)三个发展浪潮:CDN技术自1999年首次提出经过了三个发展时期:第一个发展时期是1999年到2008年,主要是海外CDN技术的摸索和发展并逐渐商用,国内传统CDN厂商开始兴起。第二个发展时期主要是2010年到2014年,随着网络游戏、网络视频、电子电商等在线业务的兴起以及国外LimeLight、Level3、Amazon国内蓝汛、网宿、帝联等均对CDN网络进行升级,掀起动态页面加速产品;此时BAT开始介入,CDN技术但老牌CDN厂商主要靠丰富的网络节点资源来驱动,形成行业壁垒。第三个发展时期是为2015年6月以来,一方面是行业搅局者网心科技等创业公司凭借着技术创新、颠覆价格、创新模式改变CDN市场格局,另一方面是下游网络直播视频、VR/AR、竞技游戏、大数据、4K高清视频等需求的井喷,彻底引燃CDN尤其是动态CDN的爆发(CDN技术历史进程见图3)。 2. 什么是CDN?

(1)CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,解决用户访问网站的响应速度慢的根本原因。

(2)内容分发布网络(CDN)是一种新型的网络构建方式,它是为能在传统的IP网发布宽带丰富媒体而特别优化的网络覆盖层;而从广义的角度,CDN代表了一种基于质量与秩序的网络服务模式。简单地说,内容发布网(CDN)是一个经策略性部署的整体系统,包括分布式存储、负载均衡、网络请求的重定向和内容管理4个要件,而内容管理和全局的网络流量管理(Traffic Management)是CDN的核心所在。通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务。总的来说,内容服务基于缓存服务器,也称作代理缓存(Surrogate),它位于网络的边缘,距用户仅有“一跳”(Single Hop)之遥。同时,代理缓存是内容提供商源服务器(通常位于CDN服务提供商的数据中心)的一个透明镜像。这样的架构使得CDN服务提供商能够代表他们客户,即内容供应商,向最终用户提供尽可能好的体验,而这些用户是不能容忍请求响应时间有任何延迟的。据统计,采用CDN技术,能处理整个网站页面的70%~95%的内容访问量,减轻服务器的压力,提升了网站的性能和可扩展性。

3. CDN 的工作原理

3.1在描述CDN的实现原理,让我们先看传统的未加缓存服务的访问过程,以便了解CDN缓存访问方式与未加缓存访问方式的差别(见图4): 3.2由上图可见,用户访问未使用CDN缓存网站的过程为: (1)用户向浏览器提供要访问的域名;

龙源期刊网 http://www.qikan.com.cn

(2)浏览器调用域名解析函数库对域名进行解析,以得到此域名对应的IP地址; (3)浏览器使用所得到的IP地址,域名的服务主机发出数据访问请求; (4)浏览器根据域名主机返回的数据显示网页的内容。

3.3通过以上四个步骤,浏览器完成从用户处接收用户要访问的域名到从域名服务主机处获取数据的整个过程。CDN网络是在用户和服务器之间增加Cache层,如何将用户的请求引导到Cache上获得源服务器的数据,主要是通过接管DNS实现,下面让我们看看访问使用CDN缓存后的网站的过程(见图5):

3.4通过上图,我们可以了解到,使用了CDN缓存后的网站的访问过程变为: (1)用户向浏览器提供要访问的域名;

(2)浏览器调用域名解析库对域名进行解析,由于CDN对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实际IP地址,浏览器需要再次对获得的CNAME域名进行解析以得到实际的IP地址;在此过程中,使用的全局负载均衡DNS解析,如根据地理位置信息解析对应的IP地址,使得用户能就近访问。

(3)此次解析得到CDN缓存服务器的IP地址,浏览器在得到实际的IP地址以后,向缓存服务器发出访问请求;

(4)缓存服务器根据浏览器提供的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求;

(5)缓存服务器从实际IP地址得得到内容以后,一方面在本地进行保存,以备以后使用,二方面把获取的数据返回给客户端,完成数据服务过程;

(6)客户端得到由缓存服务器返回的数据以后显示出来并完成整个浏览的数据请求过程。

4. CDN的技术手段

(1)实现CDN的主要技术手段是高速缓存、镜像服务器。可工作于DNS解析或HTTP重定向两种方式,通过Cache服务器,或异地的镜像站点 完成内容的传送与同步更新。DNS方式用户位置判断准确率大于85%,HTTP方式准确率为99%以上;一般情况,各Cache服务器群的用户访问流入数据量与Cache服务器到原始网站取内容的数据量之比在2:1到3:1之间,即分担50%到70%的到原始网站重复访问数据量(主要是图片,流媒体文件等内容);对于镜像,除数据同步的流量,其余均在本地完成,不访问原始服务器。