CDN(Content Delivery Network, 内容分发网络)是为加快网络访问速度而建立在现有网络之上的分布式网络,它依靠部署在全球各地边缘节点的服务器群,通过负载均衡,内容发布,内容管理和内容存储的功能,由CDN服务器集群分担源站点服务器集群的压力,使用户可以就近获取已缓存的访问资源,避免网络拥堵,加快访问速度。与此同时,CDN是基于DNS解析进行管理的,其利用DNS技术和HTTPS协议确保了传输内容的安全性,保障用户的访问内容的安全性。
CDN的访问过程/加速原理
CDN的基本原理是依靠部署在各个区域大量缓存服务器的响应。当用户访问网站时,不需要访问站点的DNS服务器,而是利用全局负载技术将用户的请求直接指向最近的缓存服务器上,且保证服务器是正常工作的,访问的路径和内容是传输安全的,由此缓存服务器直接响应客户的请求。访问缓存服务器可以尽可能地避免网络拥堵状况,使传输的内容更加迅速和稳定。
CDN的访问过程依赖于DNS的重定向技术,即将用户定向至地理位置上距离其最近的边缘CDN节点服务器上。用户首先向根DNS服务器发送域名解析请求,根DNS服务器向授权DNS服务器发送域名解析请求,请求中包含了根服务器的IP地址,当域名解析服务器/根DNS服务器接受到一个CNAME类的DNS记录,域名解析服务器会重定向到CDN节点网络层中的智能CDN域名服务器上,CDN域名服务器将进行一系列的智能解析操作,根据本地DNS域名解析服务器的IP地址,分析各个网络线路的拥堵情况和负载情况,将最适合的CDN节点服务器IP地址返还给根DNS服务器,用户接受到CDN节点的IP地址后,直接向CDN节点服务器发送请求获取网站内容(图1, CDN的加速原理)。
注:
步骤2与步骤3,若本地DNS中的数据缓存过期或已经失效,本地服务器向根服务器发出请求,根服务器返回可查询的授权DNS服务器地址;若本地DNS服务器缓存中可直接查询到IP地址,无需像根服务器发出请求。
步骤10与步骤11,如果CDN节点并没有用户所需的缓存资源或是资源已经失效,节点将向源服务机集群发出请求,CDN节点将结合用户定制的缓存策略将源服务器集群返回的资源缓存至CDN节点,再返回内容给用户;若访问的CDN节点可调取缓存资源,将直接返回用户访问内容。
CDN的系统构成
CDN的系统构成具体如下表:
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节点请求获取内容。
四、内容管理
内容管理即CDN本地内容管理,主要针对CDN节点层进行。内容管理主要包含(表2 内容管理详情):
内容管理利用内容感知度的调度,一定程度上提高了负载均衡的效率,提高了内容服务的效率和本地节点存储空间的利用率。
CDN的未来发展方向
一、中心思想:
利用CDN网络来发布域名的DNS记录,承载域名解析服务器的功能,即CDN网络中的智能CDN服务器可以直接返回给客户边缘节点CDN服务器的IP网址。
二、发展方向:
首先,CDN的重定向技术是根据域名解析服务器的IP地址给用户返回距离最近的CDN边缘节点服务器,而不是根据用户的实际IP地址重定向,这可能导致返回给用户的CDN节点并不是最佳IP地址,与此同时,现有的DNS构建框架很容易受到DDoS的攻击和网络攻击,针对这些问题,可部署一些节点服务器,这些节点服务器应用IP Anycast技术使域名服务器可以向任何一个可正常工作的节点服务器请求域名解析,调取DNS记录,同时,这些节点服务器上的部分资源被用于DNS记录缓存,提高了服务器应对DDoS攻击和网络攻击的能力。
然而,这些这项技术仍然存在一些需要克服的问题:现有的域名解析器使用IP Anycast路由,共享缓存,主动获取DNS记录等技术提高域名解析的服务质量,这些技术的应用是基于DNS的缓存记录,为了维持记录的时效性,缓存机制的TTL值被设定的很小,这对CDN节点服务器和DNS源服务器之间的数据传输压力很大;此外,由于用户的域名解析是基于IP Anycast服务器解析的而不是根DNS服务器提供IP地址,CDN网络的内容发布的质量,跨域通信量和负载均衡机制都将受到冲击。
因此,一种新型的域名解析系统被提出(理想型模型),该系统将根DNS域名解析服务器和授权DNS服务器的功能结合于CDN网络的边缘CDN节点服务器上,实现高性能的域名解析。针对缓存系统的问题,理想型域名解析系统利用CDN网络作为DNS记录的发布和管理系统,各域名权威的DNS记录将被发布和复制到CDN边缘节点服务器上,此时CDN边缘节点服务器就相当于现在DNS架构中域名服务器的功能;针对IP地址问题,利用IP Anycast技术,CND网络边缘节点的服务器将对外使用用户域名解析器所设置的IP地址,相当于现在的DNS架构中根DNS服务器的功能,响应用户的域名解析请求,返回地理位置上最近的CDN边缘节点服务器IP地址,提供域名解析服务。
三、利用CDN的网络布局实现DNS云解析的负载均衡
中科三方下一代DNS云解析将利用CDN的网络布局实现DNS云解析的负载均衡功能,即在城市设置节点服务器,通过负载均衡技术给用户返回距离最近的可访问节点,提高用户的访问速度和访问质量。具体访问流程如下(图2 DNS的加速原理):
1. 用户向本地域名解析器发送解析请求以获取访问IP地址;
2. 若本地DNS服务器中没有缓存数据,向根域名服务器发出解析请求;
3. 根域名服务器返回可访问的授权DNS服务器地址;
4. 本地DNS服务器向授权DNS服务器发出域名解析请求;
5. 授权DNS服务器返回一个CNAME类的DNS记录;
6. 解析请求根据记录重定向至城市网络中的智能DNS系统;
7. 智能DNS系统对该记录进行智能解析,根据域名解析的IP地址,网络拥堵情况,各个可访问的城市网络节点服务器的健康状况,返回最合适的城市网络节点的IP地址。
8. 用户访问距离最近的城市B节点服务器。
CDN网络利用其负载均衡,内容存储,内容发布,内容管理技术,解决了大量用户访问造成的服务器拥堵问题,解决了用户访问网页响应时间过长问题,解决了用户访问网络不稳定的问题。CDN网络的未来发展是可预见的,而基于CDN网络系统的负载均衡技术,智能DNS云解析也有了相应的技术突破,可实现DNS的加速访问。
版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除