本发明涉及网络安全技术领域,更具体点,涉及一种教育网的CDN节点检测系统及其方法,用于为教育网用户提升用户体验和节约系统成本。这两个目标本身都包含很多的方面,但提取其最核心的要求,分别对应降低用户访问CDN节点的延迟,降低CDN节点的带宽成本。
背景技术:
采取了分布式网络缓存结构(即国际上流行的web cache技术),通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的cache服务器内,通过DNS负载均衡的技术,判断用户来源就近访问cache服务器取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度,如同提供了多个分布在各地的加速器,以达到快速、可冗余的为多个网站加速的目的。CDN(Content Delivery Network,内容分发网络)将一个服务器的内容,复制到多个服务器上边缘节点,让用户从离自己最近的服务器获取内容,以提高速度。
CDN的特点如下:1、本地Cache加速提高了企业站点(尤其含有大量图片和静态页面站点)的访问速度,并大大提高以上性质站点的稳定性;2、镜像服务消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营商的网站加速,保证不同网络中的用户都能得到良好的访问质量;3、远程加速远程访问用户根据DNS负载均衡技术智能自动选择Cache服务器,选择最快的Cache服务器,加快远程访问的速度;4、带宽优化自动生成服务器的远程Mirror(镜像)cache服务器,远程用户访问时从cache服务器上读取数据,减少远程访问的带宽、分担网络流量、减轻原站点WEB服务器负载等功能;5、集群抗攻击广泛分布的CDN节点加上节点之间的智能冗于机制,可以有效地预防黑客入侵以及降低各种DDoS攻击对网站的影响,同时保证较好的服务质量。
技术实现要素:
有鉴于此,本发明提出教育网CDN节点检测系统并形成教育网CDN节点库,并对CDN节点库进行性能检测以及资源调度。
根据本发明一方面,提供了一种教育网内CDN节点检测与资源调度系统,其包括:
URL采集子系统,其用于采集教育网内客户端访问的域名地址,并将采集到的域名地址存储到域名库中;
预处理服务器,其用于从所述域名库中读取域名地址,并插入到域名队列中;
CDN节点检测系统,其用于从所述域名队列中读取域名地址,并进行CDN加速节点检测,在检测到所述域名地址使用了CDN加速节点加速时,则把所述域名地址和以及对应的CDN加速节点的IP地址存储到教育网CDN节点库中;
数据处理服务器,其用于根据客户端的请求,为客户端调度得到最优的CDN加速阶段,完成CDN节点库的资源调度。
其中,所述CDN节点检测系统在进行CDN加速节点检测时,先从获得的域名地址中解析得到子域名,然后判断所述子域名是否使用了CND加速节点。
其中,所述教育网内CDN节点检测与资源调度系统还包括:
SLA监测节点,其用于测试CDN节点库的性能。
其中,所述SLA监测节点每隔第一预定时间段向客户端和CDN节点库发起一次SLA测试对象的HTTP协议获取请求。
其中,所述SLA监测节点在监测到CDN节点库的平均服务网速低于客户端的评价网速时,则判定为一次网络性能事故;所述SLA监测节点如果在第二预定时间段内对SLA测试对象的获取请求连续失败预定次数后,则判定为一次网络可用性事故。
其中,所述数据处理服务器在进行CDN节点库的资源调度时,接收到客户端的CND节点加速请求时,从所述CDN节点库获取CDN加速节点的IP地址信息并返回;所述CDN加速节点的IP地址为业务在域名配置管理系统上配置的访问延迟最短的IP地址信息。
其中,所述数据处理服务器在接收到客户端hosts信息请求后,根据所述hosts信息请求从数据存储服务器获取相应的hosts信息并返回。
本发明还提出了一种教育网内CDN节点检测与资源调度方法,包括:
步骤1、客户端将其网络属性传送至数据处理服务器,经数据处理服务器传送至域名库;
步骤2、预处理服务器实时从域名库中读取域名地址,并将其进行缓存;
步骤3、CDN节点检测系统从预处理服务器获取域名地址,然后逐条测试每个域名地址,如果所检测的域名使用了CDN加速节点,则把域名和CDN加速节点的IP地址存放到教育网CDN节点库中;
步骤4、对教育网CDN节点库进行性能测试以及资源调度。
其中,步骤4中对教育网CDN节点库的性能测试包括:
步骤401、SLA监测节点每隔第一预定时间段,分别向教育网CDN节点库和客户端,发起一次SLA测试对象的HTTP协议的获取请求;
步骤402、如果教育网CDN节点库的平均服务网速低于客户源站的平均网速,则判定为一次网络性能事故;
步骤403,在第二预定时间段内,如果SLA监测节点连续预定次数获取SLA测试对象的HTTP请求失败,则判定为一次网络可用性事故。
其中,步骤4中对教育网CDN节点库的资源调度包括:
步骤1、用户终端的网络属性,将其传送至数据处理服务器;
步骤2、所述数据处理服务器根据所接收到的网络属性,针对每一网络节点每一网站域名通过DNS请求hosts信息获取业务在域名配置管理系统上配置的访问延迟最优的IP;
步骤3、所述数据处理服务器根据用户LDNS的IP地址来判断出该用户所在区域,然后根据Topology的设定找出为该区域服务的Pool。
本发明的技术方案为教育网用户提升了用户体验和节约了系统成本。这两个目标本身都包含很多的方面,但提取其最核心的要求,分别对应降低用户访问CDN节点的延迟,降低CDN节点的带宽成本。
附图说明
图1为本发明中基于大型ISP网内CDN节点检测与资源测量调度方法系统架构图;
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。根据本发明的实施例程,能够清晰展示该发明下的教育网的CDN节点检测与形成测试与流量调度。
图1示出了本发明提出的教育网内CDN节点检测与资源调度系统的框架图。如图1所示,所述系统包括:
URL采集子系统,其用于采集教育网客户端访问的域名地址,并将采集到的域名地址存储到域名库中;
预处理服务器,其用于从所述域名库中读取域名地址,并插入到域名队列中;
预处理服务器是域名库和教育网CDN节点检测系统的过度阶段,它的作用主要是从域名库文件中读取域名,并插入到队列中,相当于缓存服务器。
CDN节点检测系统,其用于从所述域名队列中一个一个的读取域名地址,并得到域名地址中的子域名,以进行CDN节点检测,在检测过程中,首先从该域名地址中检测出子域名,得到子域名后通过CDN节点检测系统判断该子域名是否使用了CDN节点加速,若该子域名使用了CDN节点加速,则把所述域名地址和以及对应的加速节点的IP地址存储到教育网CDN节点库中。教育网CDN节点库用于存储域名地址和解析得到的IP地址,供CDN节点库的性能测试以及资源调度。
SLA(服务水平协议)监测节点,其用于测试CDN节点库的性能;
可选地,SLA监测节点对CDN节点库的性能测试包括:
(1)SLA(服务水平协议)衡量方法
每间隔6分钟,SLA监测点分别向教育网CDN节点库和客户端发起一次SLA测试对象的HTTP协议的Get请求。
(2)SLA测试对象
SLA的测试对象是TTL为2小时、大小为200K字节左右的文件。
(3)性能测量
如果教育网的CDN节点库的服务每小时平均网络速度低于客户端每小时平均网络速度,则视为一次网络性能事故,需优化资源调度算法。
(4)可用性测量
在任何一个自然60分钟内,如果全网的10%的SLA监测节点连续三次到测试对象的HTTP请求失败,则视为一次网络可用性事故。需优化资源调度算法。
数据处理服务器,其用于完成CDN节点库的资源调度,具体过程包括:
数据处理服务器从客户端接收网站域名的CND节点加速请求,所述加速请求包括客户端的网络属性及所述网站域名;数据处理服务器根据接收到的请求从数据存储服务器获取CDN加速节点的IP地址信息并返回。所述IP地址为业务在域名配置管理系统上配置的访问延迟最优的IP地址。数据处理服务器还从客户端接收hosts信息请求,所述hosts信息请求中包括客户端的网络数据,数据处理服务器根据所述hosts信息请求从数据存储服务器获取相应的CDN节点库的hosts信息并返回;
所述数据处理服务器根据优先选择策略选择所述相应的加速节点的IP地址,并将其存储至数据存储服务器;
其中,所述优先选择策略包括:根据请求的网络属性,选择通过服务质量检测最优的CDN节点IP地址返回给请求。
本发明还公开了一种教育网内CDN节点检测与资源调度方法,所述方法包括:
步骤1、客户端将其网络属性(即客户端访问网页的域名地址)传送至数据处理服务器,经数据处理服务器传送至域名库;
步骤2、预处理服务器实时从域名库中读取域名地址,并将其进行缓存;
步骤3、CDN节点检测系统从预处理服务器获取域名地址,然后逐条测试每个域名地址,如果所检测的域名使用了CDN节点加速,则把域名和CDN节点的IP地址存放到教育网CDN节点库中。
使用了CDN加速的访问过程如下:
1)、用户向浏览器提供要访问的域名;
2)、浏览器调用域名解析库对域名进行解析,由于CDN对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实际IP地址,浏览器需要再次对获得的CNAME域名进行解析以得到实际的IP地址;在此过程中,使用的全局负载均衡DNS解析,如根据地理位置信息解析对应的IP地址,使得用户能就近访问。
3)、此次解析得到CDN加速节点的IP地址,浏览器在得到实际的IP地址以后,向CDN加速节点发出访问请求;
4)、CDN加速节点根据浏览器提供的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由CDN加速节点向此实际IP地址提交访问请求;
5)、CDN加速节点从实际IP地址得得到内容以后,一方面在本地进行保存,以备以后使用,另一方面把获取的数据返回给客户端,完成数据服务过程;
6)、客户端得到由CDN加速节点返回的数据以后显示出来并完成整个浏览的数据请求过程。
本发明中对CDN加速节点或缓存资源节点的判断方法主要如下:使用nslookup域名;
例如:使用了CDN加速节点的部分程序
nslookup www.baidu.com
Non-authoritative answer:
Name:www.a.shifen.com
Addresses:119.75.218.70,119.75.217.109
Aliases:www.baidu.com
没有使用CDN加速节点的部分程序示例
Non-authoritative answer:
Name:www.njupt.edu.cn
Address:218.2.103.166
得到域名后调取命令nslookup对域名进行查询,从查询的结果中进行刷选判断该域名是否使用了CDN节点加速。使用编写的程序判断Address中的ip地址的数量,若Name对应的Address出现多个ip地址的时候则视为使用了CDN加速节点,若Name对应的Address出现一个ip地址的时候则视为未使用CND节点。
步骤4、对教育网CDN节点库进行性能测试以及资源调度。
其中,CDN节点库的性能测试包括:
步骤401中,每间隔6分钟,SLA监测点分别向教育网CDN节点库和客户端,发起一次SLA测试对象的HTTP协议的Get请求,请求的SLA测试对象为:TTL为2小时、大小为200K字节左右的文件;
步骤402中,如果教育网的CDN节点库的服务每小时平均网络速度低于客户源站每小时平均网络速度,则视为一次网络性能事故,需优化资源调度算法;
在步骤403中,在任何一个自然60分钟内,如果全网的10%的SLA监测节点连续三次到测试对象的HTTP请求失败,则视为一次网络可用性事故,需优化资源调度算法。
CDN节点库的资源调度包括:
步骤41中,客户端请求访问教育网CDN节点库,获取业务在域名配置管理系统上配置的访问延迟最优的CDN节点的IP地址;
客户端向获取到CDN节点的IP地址后,向此IP地址发送业务协议请求。以Http请求为例,通过在header中指定host字段,向教育网CDN节点库返回的IP发送标准的Http请求即可。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。