一种基于DNS的流量分析和优化流量调度的系统的制作方法

文档序号:12068214阅读:1302来源:国知局
一种基于DNS的流量分析和优化流量调度的系统的制作方法与工艺

本发明涉及一种基于DNS的流量分析和优化流量调度的系统,属于数据通信和网络优化领域。



背景技术:

用户使用互联网各种服务都需要使用域名,例如使用www.baidu.com进行信息检索,这里www.baidu.com就是域名,DNS系统负责解析域名对应的IP地址。对用户来说这种域名到IP地址的映射是透明的,普通用户不知道自己访问的网站实际的IP。

通常一个域名对应多个IP地址,互联网ISP会建立多个镜像服务,网络运营商也会通过IDC引入和缓存等方法在网内建立镜像站点。这样做的目的:第一,将流量分散到不同的站点,防止服务器过载;第二,将用户流量调度到比较近的镜像站点,减少网络延迟;第三,节省运营商的网间结算费用。可是随着互联网的快速发展,流量调度的有效性已经越来越差,一方面,不断涌出大量的新热点的网站;另一方面调度的效果没有有效的检测机制和纠正机制。



技术实现要素:

本发明的目的在于:针对现有技术的缺陷,提出了一种基于DNS的流量分析和优化流量调度的系统,利用DNS流量分析子系统进行流量分析,精确的了解了运营商网络的调度问题,再通过DNS流量调度子系统进行调度偏差的纠正,最后通过提取需要引入的网外资源进一步将流量导向网内资源,实现了纠正DNS调度的偏差,给出网外域名引入的建议。

本发明所采用的技术方案是:一种基于DNS的流量分析和优化流量调度的系统,包括DNS流量分析子系统和DNS流量调度子系统,DNS流量分析子系统由日志采集子系统、日志分析子系统和优化域名报表组成,其中日志采集子系统通过收集运营商网络中DNS服务器发出的DNS日志,将DNS日志输送到日志分析子系统,日志分析子系统负责分析系统的调度策率,调度策率包括需要优化的网内域名和给出资源引入的域名列表,所述的DNS流量调度子系统通过网内资源配置、DNS授权服务器中公共域名资源记录和DNS镜像流量的输入进行调度并修正调度中有偏差的域名,将域名映射IP地址解析成网内资源的IP地址。

在本发明中:所述的日志采集子系统通过FTP协议将DNS日志传输到日志分析子系统,同时日志采集子系统需要配置日志分析子系统的IP地址和存储目录,日志采集子系统内设有一块10G网卡和8G的内存。

在本发明中:所述的日志分析子系统通过FTP协议,将本机IP地址和日志存储路径配置在日志采集子系统,并通过监控日志存储目录的变化来启动日志合并模块,日志分析子系统内设有的内存≥64G、16颗64位的CPU和8T以上的硬盘。

在本发明中:所述DNS流量调度子系统内设有管理网口、镜像流量网口、DNS应答网口和公网查询网口。

采用上述技术方案后,本发明的有益效果为:本发明本设备利用DNS流量分析子系统进行流量分析,精确的了解了运营商网络的调度问题,再通过DNS流量调度子系统进行调度偏差的纠正,最后通过提取需要引入的网外资源进一步将流量导向网内资源,这样一方面终端用户访问资源的网络延迟更小了,另一方 面节省了大量的网间结算费用,相比之前对网络调度的模糊状态有了更客观的评测标准和更有效地资源引入策略和更精确的调度纠正方法。

附图说明

图1为系统总体架构;

图2为DNS日志结构化图;

图3为日志合并架构图;

图4为调度系统架构图;

图5为调度系统资源数据库架构图。

具体实施方式

下面将结合附图对本发明作进一步的说明。

由图1-5所示,一种基于DNS的流量分析和优化流量调度的系统,包括DNS流量分析子系统和DNS流量调度子系统,DNS流量分析子系统由日志采集子系统、日志分析子系统和优化域名报表组成,其中日志采集子系统通过收集运营商网络中DNS服务器发出的DNS日志,将DNS日志输送到日志分析子系统,日志分析子系统负责分析系统的调度策率,调度策率包括需要优化的网内域名和给出资源引入的域名列表,所述的DNS流量调度子系统通过网内资源配置、DNS授权服务器中公共域名资源记录和DNS镜像流量的输入进行调度并修正调度中有偏差的域名,将域名映射IP地址解析成网内资源的IP地址。所述的日志采集子系统通过FTP协议将DNS日志传输到日志分析子系统,同时日志采集子系统需要配置日志分析子系统的IP地址和存储目录,日志采集子系统内设有一块10G网卡和8G的内存;所述的日志分析子系统通过FTP协议,将本机IP地址和日志存储路径配置在日志采集子系统,并通过监控日志存 储目录的变化来启动日志合并模块,日志分析子系统内设有的内存≥64G、16颗64位的CPU和8T以上的硬盘;所述DNS流量调度子系统内设有管理网口、镜像流量网口、DNS应答网口和公网查询网口,先通过交换机的端口镜像功能将DNS服务器的流量输入到镜像流量网口,如果有多个DNS服务器就需要配置多个镜像网口;启动时需要监听所有的镜像网口,调度子系统启动后公网DNS查询模块就开始工作,通过监听网卡可以看到有优化域名的DNS查询流量,通过数据库的接口可以将本地的域名资源记录直接插入到数据库,运营商的网段配置通过配置文件部署。详细配置文件格式如下:

网段/掩码 运营商 省份 国别

例如:

211.114.115.0/24 移动 北京 中国

DNS流量调度子系统通过配置接受需要优化的域名,然后通过公网出口开始查询这些需要优化的域名的资源记录,标记每个记录的优先级后存储在数据库中,同时本地配置也通过数据库的接口录入,DNS镜像网卡接收DNS查询报文,然后开始调整流量调度。通过DNS流量分析子系统可以继续观察流量最终调度修正的效果。

在具体实施时,日志采集子系统将每天的DNS日志压缩存放到到一个单独的目录,目录的命名为YYYYMMDD,当所有的日志文件都传输完毕后,传输一个YYYYMMDD.OK文件表示目录传输完成。DNS日志以行分割每条日志,日志结构化之后如图2所示,提取出需要统计的信息,方便进行日志的合并和统计计算,日志合并采用红黑树作为基本的索引结构,以域名作为关键字,日志文件合并并行处理。

为了解决日志量非常大的问题,一方面我们要利用多CPU并行处理,另一方面由于合并日志需要在内存中进行,会占用大量的内存,有可能导致内存不足,因此本发明使用hash将数据分割存储,每个单元占用的内存不足的时候,将出现次数最少的数据节点输出到文件,如图3所示。这样保证内存中存储的数据是最热的数据,这样既充分利用了内存提高处理性能,也避免了内存不足。

每个进程都有一个独立的日志合并索引结构,然后每个进程将日志合并结果输出到文件最后合并日志采用串行算法,每个hash值相同的文件块相同的进行合并,这样保证了每个合并的项都是不重复的,而且最后合并的时候也不会导致内存不足。

日志合并后需要进行数据报表的处理,这需要在数据库中进行。这里我们用基本表结合网段配置进行报表生成,这里最重要的是我们不能使用内存数据库或者任何内存数据结构,因为无法将全部放入内存,利用数据库的SQL定制功能,创建了网段匹配函数,利用这个函数我们可以从基本表生成报表,报表包括网内资源域名表、网外资源域名表。

根据调度优化的需要提取了网外流量最大的TOP10000网内域名最为调度偏差优化,另提取TOP1000网外流量最大的网外域名最为资源引入。DNS流量调度子系统负责纠正系统的调度偏差和调度新引入的资源。首先需要DNS服务器的镜像流量引入到DNS流量调度子系统进行实时监听DNS查询报文,然后解析出查询域名,在本地的资源记录数据库中找到优化的资源封装成DNS应答报文返回给客户端。本地优化资源记录需要需要排序,在返回给客户端的时候还要再次排序。

一级排序的优先级是:省内网内、网内、省内、国内、国外;

省内网内:相同运营商同省

网内:相同运营商地址

省内:不同运营商相同省份地址

国内:不同运营商国内地址

国外:国外地址

二级排序用客户端IP和映射IP地址距离匹配。

以上对本发明的具体实施方式进行了描述,但本发明并不限于以上描述。对于本领域的技术人员而言,任何对本技术方案的同等修改和替代都是在本发明的范围之中。因此,在不脱离本发明的精神和范围下所作的均等变换和修改,都应涵盖在本发明的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1