System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及dns服务,具体涉及一种基于网络时延控制dns应答记录顺序的方法及系统。
技术介绍
1、dns是互联网的基础服务之一,主要用于将域名解析为与之对应的ip地址集合。其中,ip地址集合的排序对解析效果具有至关重要的影响。如果未配置任何排序策略,dns默认按照轮转方式对ip地址集合进行排序。在此排序中,排在第一位的ip地址往往会被客户端优先使用,只有排在前面的ip所代表的设备出现问题后,才会按照顺序找到下一个ip地址。如果配置了排序策略,则按照策略进行排序。
2、常见的排序策略有基于请求源地址和基于域名的两种匹配规则,只有查询的域名匹配了配置的匹配规则,才做记录排序,其他的查询则按照默认规则处理。无论那种匹配规则,其排序规则都是多个网段组成的集合按照先后顺序排列,同一集合内优先级相同,不同集合间优先级为配置的先后顺序。当接收到dns查询后,首先判断是否匹配策略,如果匹配则应答记录按照配置的排序规则排序。
3、但是,现有的排序策略无论是匹配规则还是排序规则都是提前静态配置好的,如果要调整,则需要重新下发配置,但网络是时时动态变化的,配置时刻的最优配置,在配置生效后也会不断的发生变化,因为当前记录排序为静态排序,所以不会随着网络的变化而动态调整。
4、另外,用户初始配置的排序策略,也没有进行实际的检测和验证,更多的是根据现有的经验,所以配置出来的效果,往往和用户的初始期望有偏差。这种偏差不容易感知和修正,持续维护投入的代价也比较高。
技术实现思路
2、为了实现上述目的,本申请提供如下技术方案:
3、第一方面,一种基于网络时延控制dns应答记录顺序的方法,在参与时延排序的所有服务器网络中部署时延探针模块,在本地dns服务器部署时延排序模块,所述方法应用于其中一个时延探针模块,包括:
4、步骤1:接收时延排序模块下发的配置数据;所述配置数据包括所有部署时延探针模块的服务器的ip地址和端口、ip所代表网络、控制和数据同步端口、记录排序分组策略以及时延算法,其中,所述记录排序分组策略中包含时延排序;
5、步骤2:遍历所述配置数据中的ip地址列表,根据ip地址列表选择探测协议并向目标时延探针模块发送探测数据包后等待响应;
6、步骤3:接收目标时延探针模块的响应数据包;
7、步骤4:根据所述响应数据包和时延算法得到探测结果并保存到数据库中;所述探测结果包括源ip到目标ip的网络时延;
8、步骤5:将所述探测结果同步至时延排序模块;所述时延排序模块根据所述探测结果自动更新时延排序。
9、作为优选,所述时延探针模块和所述时延排序模块通过upd或tcp方式同步数据。
10、作为优选,所述步骤1中,所有部署时延探针模块的服务器的ip地址区分ipv4和ipv6。
11、作为优选,所述步骤2中,所述探测协议为icmp协议、udp协议或tcp协议中的一种或多种。
12、作为优选,所述时延排序模块增加、删除或修改时延探针模块时,会同步下发新配置数据到所有的时延探针模块。
13、第二方面,一种基于网络时延控制dns应答记录顺序的系统,在参与时延排序的所有服务器网络中部署时延探针模块,在本地dns服务器部署时延排序模块,所述时延探针模块包括:
14、控制和数据同步单元,用于接收时延排序模块下发的配置数据;所述配置数据包括所有部署时延探针模块的服务器的ip地址和端口、ip所代表网络、控制和数据同步端口、记录排序分组策略以及时延算法,其中,所述记录排序分组策略中包含时延排序;
15、发送单元,用于遍历所述配置数据中的ip地址列表,根据ip地址列表选择探测协议并向目标时延探针模块发送探测数据包后等待响应;
16、接收单元,用于接收目标时延探针模块的响应数据包;
17、计算存储单元,用于根据所述响应数据包和时延算法得到探测结果并保存到数据库中;所述探测结果包括源ip到目标ip的网络时延;
18、控制和数据同步单元,用于将所述探测结果同步至时延排序模块;所述时延排序模块根据所述探测结果自动更新时延排序。
19、第三方面,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现一种基于网络时延控制dns应答记录顺序的方法的步骤。
20、第四方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现一种基于网络时延控制dns应答记录顺序的方法的步骤。
21、相比现有技术,本申请至少具有以下有益效果:
22、本申请提供了一种基于网络时延控制dns应答记录顺序的方法及系统,在参与时延排序的所有服务器网络中部署时延探针模块,在本地dns服务器部署时延排序模块,该方法应用于其中一个时延探针模块,包括:接收时延排序模块下发的配置数据;遍历配置数据中的ip地址列表,根据ip地址列表选择探测协议并向目标时延探针模块发送探测数据包后等待响应;接收目标时延探针模块的响应数据包;根据响应数据包和时延算法得到探测结果并保存到数据库中;将探测结果同步至时延排序模块;时延排序模块根据探测结果自动更新时延排序。本申请能够根据网络时延状态变化动态调整记录排序规则,使客户端可以始终访问其时延最小的网段上的服务器,做到最优体验。
本文档来自技高网...【技术保护点】
1.一种基于网络时延控制DNS应答记录顺序的方法,其特征在于,在参与时延排序的所有服务器网络中部署时延探针模块,在本地DNS服务器部署时延排序模块,所述方法应用于其中一个时延探针模块,包括:
2.根据权利要求1所述的基于网络时延控制DNS应答记录顺序的方法,其特征在于,所述时延探针模块和所述时延排序模块通过upd或tcp方式同步数据。
3.根据权利要求1所述的基于网络时延控制DNS应答记录顺序的方法,其特征在于,所述步骤1中,所有部署时延探针模块的服务器的IP地址区分IPv4和IPv6。
4.根据权利要求1所述的基于网络时延控制DNS应答记录顺序的方法,其特征在于,所述步骤2中,所述探测协议为icmp协议、udp协议或tcp协议中的一种或多种。
5.根据权利要求1所述的基于网络时延控制DNS应答记录顺序的方法,其特征在于,所述时延排序模块增加、删除或修改时延探针模块时,会同步下发新配置数据到所有的时延探针模块。
6.一种基于网络时延控制DNS应答记录顺序的系统,其特征在于,在参与时延排序的所有服务器网络中部署时延探针模块
7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
...【技术特征摘要】
1.一种基于网络时延控制dns应答记录顺序的方法,其特征在于,在参与时延排序的所有服务器网络中部署时延探针模块,在本地dns服务器部署时延排序模块,所述方法应用于其中一个时延探针模块,包括:
2.根据权利要求1所述的基于网络时延控制dns应答记录顺序的方法,其特征在于,所述时延探针模块和所述时延排序模块通过upd或tcp方式同步数据。
3.根据权利要求1所述的基于网络时延控制dns应答记录顺序的方法,其特征在于,所述步骤1中,所有部署时延探针模块的服务器的ip地址区分ipv4和ipv6。
4.根据权利要求1所述的基于网络时延控制dns应答记录顺序的方法,其特征在于,所述步骤2中,所述探测协议为icmp协议、udp协议或tcp协议中的一种或多种...
【专利技术属性】
技术研发人员:田晓辉,邢志杰,毛伟,
申请(专利权)人:互联网域名系统北京市工程研究中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。