陈健法
摘 要:随着互联网的快速发展,当前互联网的用户数量快速增加,随之带来的是网络服务器负载的增加,进而导致互联网服务器响应速率下降,为此需要从整体上提升互联网数据传输的服务质量,并进一步提高互联网服务器的响应效率,从而更好地满足互联网发展的需要。文章所研究的CDN技术正是在这样的基础上发展起来的,能够通过增加新的网络构建,实现流媒体内容有效分送,从而降低服务器负载,是一种新兴互联网技术。
关键词:内容分发网络技术;主要机制;关键技术;负载均衡;流媒体;未来网络
随着互联网信息技术的快速发展,图像、视频、音频等互联网内容的数量和体积快速增大;同时,互联网服务覆盖的用户群及用户区域也将全球化作为一个标配。由于受到服务器处理能力局限、用户访问距离影响以及网络拥塞导致的网络波动等,用户在互联网使用体验方面将面临较大的挑战。这对传统的交互技术与传输结构,都提出了新的需求。此外,由于用户与网站之间的交互质量是直接影响到用户体验的重要因素,自然也成为急需解决的问题。
1 CDN技術主要机制
1.1 CDN体系结构
内容分发网络(Content Delivery Network,CDN)技术本质上是一种提升网络访问速度的技术,能够通过网络流量特征和带宽分布、复制内容以及用户的访问特征等因素,对用户的请求进行数字化的定量分析,从而实现对于网络内容的全网高质量分送,主要通过4个网络体系结构进行运作[1]:
首先,内容缓存系统。系统分散与世界各地各个运营商的IDC机房,主要负责缓存互联网访问内容以及对用户请求作出响应。在CDN中也叫作服务节点。这些节点由服务器集群组成,通过设备负载均衡及应用负载均衡保障单节点负载能力及可扩展性,以满足大规模用户访问的需求。这些节点往往非常靠近互联网用户,互联网用户在这些节点获得请求响应,减少了回源访问源站服务器的次数,并避免远距离获取数据,从而降低源站负载,并缩短了网络传输距离所需要的时间,从而提升了互联网服务的响应速度,并提升了源站的稳定性及服务能力。
其次,日志系统。分布于各个节点,并通过节点缓存软件,将流量日志及访问日志定时吐出,然后通过数据同步,将数据同步到中心的日志处理服务器,数据统计后用于CDN服务计费,并可以根据访问日志排查故障、监测服务质量、预警服务故障[2]。
再次,监控系统。包括设备监控、网络监控及应用监控,实时将监控状态汇总到中央监控中心,并通过监控中心设置的阈值发出告警。这些告警数据,实时为CDN运营提供支撑数据,运营人员根据告警数据及时排除故障,并将服务器切换到正常的服务器上去执行。监控中心的告警数据也作为调度中心的自动调度依据,以保障CDN服务的连续性。
最后,调度中心。主要是实现对于用户访问路径的管理和实施。主要通过预设的节点覆盖方案、故障调度方案以及路径探测结果,根据用户IP地址属性等信息,将不同用户请求分别导向不同的分支节点,从而实现用户就近访问及最优路径访问,缩短响应时间[1]。
1.2 CDN技术的工作流程
当用户访问到已经使用了CDN技术架构的服务网站时,能够通过域名系统(Domain Name System,DNS)的重定向技术实现对于用户节点的导向,最终将用户的请求指向最佳的CDN节点,而当用户的请求实现与CDN节点接触时,CDN的服务器能够将用户请求的内容分送给不同的用户,详细流程如下:
(1)CDN一般在提供服务的时候,会根据服务网站提供域名配置调度策略及覆盖策略,并提供一个服务域名A。服务网站将自身的服务域名(包括子域名),通过配置CNAME到这个服务域名A的方式将解析权交到CDN调度中心上。
(2)当用户发出请求,浏览器接收到用户请求,并向本地的DNS请求域名解析,如果本地DNS有缓存该域名,则直接响应CDN节点IP;如果没有缓存该域名的DNS解析信息,则进行递归解析。递归时会发现解析权在CDN的调度中心,则去CDN调度中心解析这个域名地址,而CDN调度中心根据来访的本地DNS服务器的归属地及运营商属性,判断用户的归属地及运营商属性,并根据预先配置的覆盖策略,返回最优CDN节点的IP地址。这时候,本地DNS服务器获得IP地址后,以DNS解析结果形式响应给请求用户,同时缓存该域名的DNS解析。
(3)用户端获得CDN节点IP后,向该IP发起网络访问请求,相应的CDN服务器对用户请求的响应。
2 CDN解决的问题
当前CDN技术的应用能够较好地提升服务器的响应速率,这主要是由于它能够解决以下问题:首先,能够解决源站网络成本过高的问题,即利用CDN使得回源量下降到1%~10%左右,还能够降低回源带宽成本。其次,能够使得源站负载降低,即将大部分的访问负载由CDN技术进行必要的边缘节点处理,从而使得源站服务器架构能够实现简化、轻量化。再次,能够实现就近访问,使得运行和服务速度加快,从而提升用户的体验,还能够通过监控整个访问质量进行调度,并使用不同的节点服务器为客户提供必需的服务,从而提升用户的访问成功率。此外,能够实现动态调度节点,即通过动态加速技术弹性地进行带宽输出,进而可以降低网络攻击的可能性。最后,能够通过内容缓存实现全局负载均衡(DNS调度)、设备负载均衡、应用负载均衡等多层调度保障系统软件服务能力。
3 CDN技术的关键技术
3.1 CDN静态内容缓存技术
当前静态内容缓存技术的主要内容是通过反向代理,将用户经常访问的互联网静态内容预先缓存到边缘节点,当用户发出请求时,就近发放内容,从而将网络远距离传输中的各种不确定因素进行排除,从而更好地利用用户的本地高带宽,达到提高用户响应速率的目的。
关键技术包含:内容切片分段缓存、内容热度管理、内容存储位置管理、预取技术、数据压缩、协议转换与优化、负载均衡等。其中,负载均衡技术用于均衡互联网访问量,主要分为服务器负载均衡技术和全局负载均衡技术两种,从而整合服务器资源及带宽资源。负载均衡技术是将网络流量尽可能均匀地分配到相同服务器去执行和处理任务的主要技术,通过该技术能够实现对于网络节点的均匀利用,避免过载造成部分节点过载或者服务器过载,导致整体服务器瘫痪或成本出现突发、不可控等不利状况。
3.2 CDN动态加速技术
当前动态加速技术包括实时网络探测、最优路径算法、网络协议优化、长连接池的连接复用、数据压缩等,主要是为了通过动态的内容分发,实现对于互联网内容的及时响应。这主要是由于网站的访问响应速率往往会受到带宽瓶颈、骨干网拥塞、网络波动、网站服务器的处理能力以及访问距离等因素的影响,而这些制约因素的优化方法,主要是采用CDN动态加速技术实现的。简而言之便是CDN技术能够实现对于数据传输路径的智能管理,通过“驿站”方式将数据以最快速度递送至目的地。主要流程如下:
当用户进行CDN网站服务访问时,通过域名解析获取就近的CDN服务节点,让用户能够以最快的速度获取服务。而动態加速技术,由于实时探测节点间的访问速率,并通过动态路径算法计算出了最佳的转发节点路径,存储于边缘节点,当请求到达时,将通过这个最优路径进行数据转发回源;到达源站后,也将原路返回响应。在节点到节点的传输过程中,使用数据压缩、私有协议、共享的长连接通道等进行转发,从而提升传输速度,实现动态加速。
4 结语
CDN技术作为一种新型的网络架构,能够通过负载均衡、内容缓存、动态分发以及动态内容路由等技术,实现对于互联网访问速度和质量的快速提升,并保证互联网服务器的高质量运行,特别是在流媒体的内容传输过程中,仍然能够实现高性能的提升。因此,CDN技术已经逐渐成了当前互联网研究的重点内容之一,更是组建未来网络高速公路的重要技术。
[参考文献]
[1]甘士成.内容分发网络负载均衡技术研究[D].广州:华南理工大学,2017.
[2]何腾蛟.基于CDN的视频流媒体内容分发策略的研究[D].深圳:深圳大学,2017.