CDN的加速原理:
CDN的访问依赖于DNS的重定向技术,即将用户定向至地理位置上距离其最近的边缘CDN节点服务器上。用户首先向根DNS服务器发送域名解析请求,根DNS服务器向授权DNS服务器发送域名解析请求,请求中包含了根服务器的IP地址,当域名解析服务器/根DNS服务器接受到一个CNAME类的DNS记录,域名解析服务器会重定向到CDN节点网络层中的智能CDN域名服务器上,CDN域名服务器将进行一系列的智能解析操作,根据本地DNS域名解析服务器的IP地址,分析各个网络线路的拥堵情况和负载情况,将最适合的CDN节点服务器IP地址返还给根DNS服务器,用户接受到CDN节点的IP地址后,直接向CDN节点服务器发送请求获取网站内容。
CDN的组成:
一般来讲,CDN网络主要由中心节点、边缘节点两部分构成。中心节点包括CDN网管中心和全局负载均衡DNS重定向解析系统,负责整个CDN网络的分发及管理。CDN边缘节点主要指异地分发节点,由负载均衡设备、高速缓存服务器两部分组成。负载均衡设备负责每个节点中各个Cache的负载均衡,保证节点的工作效率;同时还负责收集节点与周围环境的信息,保持与全局负载均衡DNS的通信,实现整个系统的负载均衡。高速缓存服务器(Cache)负责存储客户网站的大量信息,就像一个靠近用户的网站服务器一样响应本地用户的访问请求。通过全局负载均衡DNS的控制,用户的请求被透明地指向离他最近的节点,节点中Cache服务器就像网站的原始服务器一样,响应终端用户的请求。
CDN的关键技术:
一、负载均衡技术
每个CDN节点层都配备智能DNS服务器,即负载均衡设备,其作用是使Cache协同工作,它根据用户源IP地址解析导向整个CDN节点层中的最佳节点。最佳节点的选择是根据CDN管理系统决定的,而负载均衡系统是整个CDN的核心,一般来说负载均衡分为两个层次,第一层是全局负载均衡负责给用户定向至最近的CDN节点或区域,第二层是本地负载均衡,CDN节点层中的智能CDN服务器会负责对本地系统及子系统进行实时监测,并将各节点流量保存至数据库,对系统中监测到系统状况产生故障告警,给用户定向至最优(离客户访问距离近,内容传输速度快,访问时间短,内容稳定性高)的CDN节点。
由于域名解析器对DNS有缓存作用,在用户访问页面被直接定向到边缘节点服务器的过程中,负载均衡设备会直接读取域名缓存器中的缓存DNS记录,这样造成的后果是可能定向不到最合适的边缘节点,是因为在此过程中CDN网络节点的状况也是在不断更新的,所以为了保证定向到最优的CDN节点,域名服务器会将缓存DNS记录的TTL值设置得很小。CDN网络对DNS服务器是绝对的依赖关系。
二、内容存储
内容存储是CDN的另一个关键技术,内容存储决定了用户访问网站内容的速度和质量。CDN的内容存储需要考虑两个方面,站点源服务器的存储功能和Cache节点中的存储功能。站点源服务器集群需存储大量数据,并且内容吞吐量巨大,需要向CDN节点有规律性的,有目的性的不断更新CDN节点的存储内容,以方便用户对缓存内容的读取,因此,多运用海量存储架构实现大数据存储。对于Cache节点的存储需支持各种文件格式的存储和读取,并且具备高文件吞吐率,强可靠性和高稳定性的特征。
三、内容发布
内容发布是借助索引,缓存,流分裂,组播等技术,将内容由内容源分发到CDN边缘的整个缓存过程,内容分发技术主要是PUSH(主动分发技术)和PULL(被动分发技术)。PUSH一般是由供应商或是CDN的内容管理人员从站点源服务器或媒体的资源库直接向各个CDN节点主动分发的一些热点内容,或是客户指定的内容。PULL则是客户向节点请求缓存中没有存储的内容时,Cache从源服务器或是其他CDN节点请求获取内容。