基于动态探测的智能dns域名系统及方法

文档序号:8415413阅读:1094来源:国知局
基于动态探测的智能dns域名系统及方法
【技术领域】
[0001]本发明涉及网络应用交付控制领域,特别涉及一种基于动态探测的智能DNS域名系统及方法。
【背景技术】
[0002]智能DNS (Domain Name System计算机域名系统),常用于域名有多个服务器(IP地址)的域名解析。这些IP地址通常作为⑶N (Content Delivery Network,内容分发网络)节点分布于不同的区域或ISP(Internet Server Provider, Internet服务提供商),跨区域或不同ISP的访问可能会带来更高的时延。因此,通过预先配置的就近性规则,当用户的本地DNS服务器请求至智能DNS服务器时,智能DNS可以识别其所属的区域或ISP,然后返回与其相同或相近区域或ISP的IP地址,用户最终获得其访问最快的IP地址。
[0003]例如,智能DNS解析针对目前电信与网通互联互通不畅的问题推出的一种DNS解决方案,具体实现方法是:把一个域名的A(AddreSS指向IP地址)记录分别设置指向网通和电信IP,当网通的客户访问时,智能DNS会自动判断访问者来路,并返回网通服务器的IP地址;电信的客户访问时会自动返回电信的IP地址。这样,就可以避免网通的客户去访问电信的网络,以及电信的客户去访问网通的网络,很好的解决了客户跨网访问不畅的问题。当然亦可加入多IP,由智能DNS自动“选路”。
[0004]目前检索到的现有技术中,智能DNS均为静态配置,它具有以下缺点:1.就近性规则不易配置,用户需要收集各个区域或ISP包含哪些网段;2.就近性规则难以涵盖所有地址,因此规则之外地址的访问无法获得最优解析;3.外部网络环境发生变化时,需要调整就近性规则。

【发明内容】

[0005]为克服已有技术中存在的问题,本发明的目的之一是提出一种基于动态探测的智能DNS域名系统,用以优化智能DNS的配置和维护。
[0006]本发明的另一目的是提出一种基于动态探测的智能DNS域名方法,使得静态就近性规则与动态探测后生成的就近性规则结合使用,适用性更广,弥补静态方法的不足。
[0007]—种基于动态探测的智能DNS域名系统是由智能DNS和探测器组成,其中所述的智能DNS包括用户输入/输出模块、本地DNS统计模块、通信模块、就近性规则模块及域名解析模块。
[0008]所述的用户输入/输出模块:用于接收用户的输入并显示操作结果;
[0009]所述的本地DNS统计模块:用于当收到DNS查询时,收集本地DNS的IP地址,以供系统调用;
[0010]所述的通信模块:用于智能DNS与探测器间的通信;
[0011 ] 进一步地,所述的通信包括两种,一种是智能DNS系统将收集到的本地DNS地址发送给探测器;另一种是智能DNS系统向探测器查询探测结果;
[0012]所述的就近性规则模块:根据探测器的探测结果,选择到本地DNS最快的CDN节点,生成对应的就近性规则;
[0013]所述的域名解析模块:用于提供基本的域名解析功能;
[0014]所述的探测器,用于接收来自所述的本地DNS地址列表,并对这些本地DNS进行探测,生成探测结果。
[0015]一种基于动态探测的智能DNS域名方法,包括以下步骤:
[0016]步骤一,系统配置智能DNS功能模块,特别包括配置本地DNS统计模块的周期、就近性规则模块等,所述的就近性规则模块包括配置静态就近性规则和动态探测算法;
[0017]进一步地,所述的就近性规则配置为支持往返时间的算法生成;
[0018]进一步地,所述的就近性规则配置为丢包率的算法生成;
[0019]进一步地,所述的就近性规则配置为跳数算法生成;
[0020]进一步地,所述的就近性规则配置为混合算法生成,即为每个指标分配一个权重,智能DNS对各个指标加权求和,然后选择加权和最小的CDN节点生成就近性规则。
[0021]步骤二,部署探测器;
[0022]步骤三,根据本地DNS统计模块的周期,系统周期性地收集DNS查询,对应收集本地DNS的IP地址,并将所述的IP地址周期性地发给探测器进行探测,由该探测器对所述本地DNS的IP地址进行探测,生成探测结果;
[0023]步骤四,智能DNS周期性地向探测器获取探测结果,并根据探测结果,选择到本地DNS指标最优的⑶N节点,生成匹配的就近性规则;
[0024]步骤五,本地DNS的后续请求将匹配步骤四生成的就近性规则,智能DNS为其返回最优的IP地址。本发明提供的一种动态探测的智能DNS域名解析系统及方法,使得系统易于配置和维护;静态就近性规则与动态探测可结合使用,适用性更广,弥补静态方法的不足;同时动态探测可实时反应网络的最新状况,始终解析最优IP地址,提升了网络运行效率。
【附图说明】
[0025]图1是本发明系统的结构示意图;
[0026]图2是本发明系统中通信模块工作流程示意图;
[0027]图3是本发明系统中就近性规则模块的一种实施例工作流程图;
[0028]图4是本发明系统中本地DNS请求触发动态探测的工作过程示意图;
[0029]图5是本发明系统的一种实施例示意图。
【具体实施方式】
[0030]在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也是本申请各权利要求所要求保护的技术方案。
[0031]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
[0032]如图1所示,基于动态探测的智能DNS域名系统是由智能DNS100和探测器200组成,该系统可以由服务器组成,例如ArrayNetworks APV6250。其中所述的智能DNS包括用户输入/输出模块101、本地DNS统计模块102、通信模块103、就近性规则模块104及域名解析模块105。
[0033]所述的用户输入/输出模块:用于接收用户的输入并显示操作结果。在此配置所有的智能DNS功能,包括IP地址、地址池、地址池算法、域名、域名策略、静态就近性规则、动态探测算法等;同时还可查看智能DNS的运行状态、统计信息等。
[0034]所述的本地DNS统计模块:用于当收到DNS查询时,周期性地收集本地DNS的IP地址,这些IP将被周期性地发给探测器进行探测。
[0035]所述的通信模块:用于智能DNS系统与探测器间通信。如图2所示,通信包括两种,一种是智能DNS系统将收集到的本地DNS地址发送给探测器;另一种是智能DNS系统向探测器查询探测结果,探测结果交由就近性规则模块进一步处理。这两种通信使用TCP连接传输数据,都是根据用户配置的时间间隔周期性的运行。
[0036]所述的就近性规则模块:根据探测器的探测结果,选择到本地DNS最快的CDN节点,生成就近性规则。如图3演示了 IP地址为1.1.1.1的本地DNS查询域名时,就近性规则模块的工作流程。其中,就近性规则是一张IP地址表,定义了哪个IP或网段属于哪个区域,当收到某个本地DNS的查询请求时,如果没有与其匹配的就近性规则,那么智能DNS根据配置,一般通过轮询算法,随机返回IP地址。之后,统计模块收集到这个本地DNS地址,发送给探测器,探测器对其探测生成结果后返回给智能DNS系统,系统生成匹配的就近性规则。这个本地DNS后续的请求将匹配就近性规则,智能DNS就可以为其返回最优的IP地址。
[0037]动态探测就近性规则的生成可以根据系统配置的不同算法,例如,支持往返时间、丢包率、跳数和混合算法。前3种算法根据各个指标选择往返时间最短、丢包率最小或者跳数最少的CDN节点生成就近性规则。而当配置了混合算法时,需要为每个指标分配一个权重,智能DNS对各个指标加权求和,然后选择加权和结果中最小的CDN节点生成就近性规贝U。使用混合算法可以综合各个指标生成规则。
[0038]所述的域名解析模块:用于提供基本的域名解析功能,主要提供对A记录和AAAA(指向IP地址,同时,指向IPv6地址)。
[0039]所述的探测器:用于接收来自所述的本地DNS地址列表,并对这些本地DNS进行探测,生成探测结果;探测器可在每个跨区域或不同ISP的CDN节点处部署。如图4所示,为智能DNS中本地DNS请求触发动态探测的工作过程示意图,本地DNS首次向智能DNS服务器发出DNS查询请求,智能DNS根据配置的规则,选择请求域名的IP地址,返回给本地DNS ;智能DNS服务器记录此本地DNS的IP地址;智能DNS服务器将记录的本地DNS的IP地址发送给所有部署于CDN节点的探测器;探测器对本地DNS进行探测,记录探测结果。探测器对本地DNS进行探测,可以获取探测器到本地DNS的往返时间(RTT)、丢包率(PLR)、跳数(Hops)0由于探测器部署于⑶N节点,本地DNS —般与上网用户处于相同网络,因此探测结果反映了用户访问CDN节点的快慢。将多个探测器对同一本地DNS的探测结果进行比较,就可以知道这个本地DNS访问哪个CDN节点最快,也就代表了对用户最优的CDN节点。探测器既可以使用Array应用交付设备,也可以使用单独的应用程序。
[0040]现举一实例,对本发明的系统及方法做进一步地说明。如图5所示,智能DNS系统釆用设备型号为APV6250。其中,智能DNS的客户端输入www.sdns.com的域名,此时有两个IP地址分别属于不同的ISP:联通(1.1.1.1)和电信(2.2.2.2)。现配置基于动态探测的智能DNS对www.sdns.com进行域名解析。智能DNS系统的IP地址为10.8.1.123,网关为 10.8.1.10
[0041]首先配置接口的IP地址和默认路由。
[0042]ip address"portl"10.8.1.123255.255.255.0
[0043]ip route defaultl0.8.1.1
[0044]ip nameserverl0.8.1.10
[0045]添加域名的两个IP地址,命名为“svc—lt”,“svc—dx”。
[0046]sdns service ip"svc—lt"l.1
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1