一种动态改变域名服务检索顺序的方法

文档序号:7892203阅读:247来源:国知局
专利名称:一种动态改变域名服务检索顺序的方法
技术领域
本发明属于网络技术领域,具体涉及ー种动态改变域名服务检索顺序的方法。
背景技术
域名服务(DNS)是ー个分布式数据库,它存储了传输控制协议的名字以及其对应的IP地址,其中每一条目称为一条资源记录(RR),其中,每一条资源记录都标记了被检索的顺序。DNS查询分为三种方式NAPTR查询、SRV查询和A-查询方式。现有技术方案为当用户的下一跳不能被解析的时候,就要去查询DNS,通过上述DNS查询方式,因此,首先要经过NAPTR查询,在此查询之后,如果得不到具体目标地址,那么就要进行SRV查询(得到端口号)和A-(得到IP)查询。另外,对于DNS服务器本身的设置,DNS中已经预先设置 了每条记录的优先查询顺序,如果其中一条权重较高的记录由于某种原因不可达或者由于负载过重,在接受新的注册或者电话的时候,这条记录并不会自动的删除或者自动把权重变低,导致之后所有用户总要先查询该条记录,确定不可用之后,然后再查询后续优先级相对较低的资源记录。最后,针对查询过的记录,无论是注册还是打电话,该记录都不会被记住,就导致了花费时间查询到的信息,又要通过再次查询才能得到该记录結果。现有技术的缺点为I)当经过NAPTR查询之后,如果得不到具体目标地址,那么就要进行SRV查询(得到端ロ号)和A-(得到IP)查询,从而降低了查询效率,耗时长;2)由于在DNS中已经预先设置了每条记录的优先查询顺序,如果其中一条权重较高的记录由于某种原因不可达或者由于负载过重,在接受新的注册或者电话的时候,这条记录并不会自动的删除或者自动把权重变低,导致之后所有用户总要先查询该条记录,确定不可用之后,然后再往下查询,大大降低了效率,耗时长。因此本发明能够通过NAPTR记录搜索动态调整,提高效率;3)由于查询过的记录,无论是注册还是打电话,该记录都不会被记住,就导致了花费时间查询到的信息,又要通过再次查询才能得到。因此本发明提出可以把常用的的记录保存下来,无需再次查询即可使用,这样也会大大提高查询效率。

发明内容
本发明克服了现有技术的不足,提出了一种动态改变域名服务检索顺序的方法,所述方法通过对NAPTR记录搜索的动态调整,可以解决以下三个技术问题技术难题一当经过NAPTR查询之后,如果得不到具体目标地址,那么就要进行SRV查询(得到端ロ号)和A-(得到IP)查询,从而降低了查询效率。技术难题ニ由于在DNS中已经预先设置了每条记录的优先查询顺序,如果其中一条权重较高的记录由于某种原因不可达或者由于负载过重,在接受新的注册或者电话的时候,这条记录并不会自动的删除或者自动把权重变低,导致之后所有用户总要先查询该条记录,确定不可用之后,然后再往下查询,大大降低了效率。技术难题三目前的技术,经过系统查询出来的路由结果无法进行暂存,这样在下次使用的时候,还需要再次查询,降低了效率。
本发明的技术方案为 一种动态改变域名服务检索顺序的方法,所述方法对NAPTR记录搜索进行动态调整,在对NAPTR记录搜索过程中,首先设置ー个权重Weight字段、一个动态数据检测函数和一个心跳检测函数,在MS核心网内,FQDN是MS核心网可以识别的信息,利用IP地址作为目标地址进行传递,若IP地址不可得,则利用FQDN最终目标地址进行传递,IP的权重Weight值要大于FQDN的权重Weight值,FQDN的权重Weight值要大于普通域名的权重Weight值,具体步骤为
I.首先查询顺序就应该是首先查询IP。当在NAPTR查询后,得到的结果为IP时,由于其可以跟默认端ロ 5060—起作为目标地址,无需进ー步解析,即可作为下ー跳进行传输。因此省去了 SRV查询和A-查询,提高了查询效率。2.如果不可用,然后查询FQDN。当在NAPTR查询后,得到的结果为FQDN时,由于其具体信息已经存在于本环境的存储空间中,因此只需要到系统环境中取得其相应的IP和端ロ即可,无需进一步查询解析,因此省去了 SRV查询和A-查询,提高了查询效率。3.如果FQDN也不可达,那么最后查询普通域名。当在NAPTR查询后,得到的结果为普通域名吋,由于系统无法得到任何端口和IP的信息,因此必须进行SRV查询和A-查询才能得到下一跳信息,増加了查询负担。所述动态数据检测函数用来监测目前可供使用的网元,所述动态数据检测函数设有ー个累加器,当检测到在某一个时间点之后成功接收注册或者电话的数目急剧减少吋,那么调换网元资源记录优先级顺序。所述心跳检测函数保存原本DNS中的优先级顺序,并定时发起检测,如果之前出现问题的网元恢复了服务功能,那么心跳检测函数会通知动态数据检测函数重置,重新监测,同时把该网元资源记录改回原本的优先级顺序。本发明具有如下有益效果
I)本发明通过对资源记录的动态调整(这些记录有着同样的优先级),尽量省去SRV查询和A-查询,进而提高效率。2)本发明通过对资源记录的动态调整,尽量省去SRV查询和A-查询,进而提高效率。3)本发明通过对资源记录的动态调整,尽量省去尝试查询资源记录的次数,进而提高效率。4)通过保存查询结果,使得后续者无需在进行查询,进而提高效率。
以下结合附图和具体实施方式
进ー步说明本发明。图I为ー个注册流程中资源记录情况示意图。图2为ー个DNS查询一般流程示意图。图3为本发明查询流程示意图。图4为本发明查询过程示意图。
图5为查询流程比较示意图。图6为本发明查询过程网元正常状态接收与时间关系示意图。图7为本发明查询过程记录正常状态接收与时间关系示意图。图8为本发明查询过程记录不可达状态接收与时间关系示意图。图9为本发明查询过程记录在失常状态接收与时间关系示意图。

图10为本发明查询过程动态数据检测函数流程示意图。图11为本发明查询过程心跳检测函数流程示意图。
具体实施例方式 參见图I至图11所示,本发明对NAPTR记录搜索进行动态调整,在对NAPTR记录搜索过程中,首先设置ー个权重Weight字段、一个动态数据检测函数和ー个心跳检测函数,在IMS核心网内,FQDN是MS核心网可以识别的信息,利用IP地址作为目标地址进行传递,若IP地址不可得,则利用FQDN最终目标地址进行传递,IP的权重Weight值要大于FQDN的权重Weight值,FQDN的权重Weight值要大于普通域名的权重Weight值,具体步骤为
1.首先查询顺序就应该是首先查询IP。当在NAPTR查询后,得到的结果为IP时,由于其可以跟默认端ロ 5060—起作为目标地址,无需进ー步解析,即可作为下ー跳进行传输。因此省去了 SRV查询和A-查询,提高了查询效率。2.如果不可用,然后查询FQDN。当在NAPTR查询后,得到的结果为FQDN时,由于其具体信息已经存在于本环境的存储空间中,因此只需要到系统环境中取得其相应的IP和端ロ即可,无需进一步查询解析,因此省去了 SRV查询和A-查询,提高了查询效率。3.如果FQDN也不可达,那么最后查询普通域名。当在NAPTR查询后,得到的结果为普通域名吋,由于系统无法得到任何端口和IP的信息,因此必须进行SRV查询和A-查询才能得到下一跳信息,増加了查询负担。所述动态数据检测函数用来监测目前可供使用的网元,所述动态数据检测函数设有ー个累加器,当检测到在某一个时间点之后成功接收注册或者电话的数目急剧减少吋,那么调换网元资源记录优先级顺序。所述心跳检测函数保存原本DNS中的优先级顺序,并定时发起检测,如果之前出现问题的网元恢复了服务功能,那么心跳检测函数会通知动态数据检测函数重置,重新监测,同时把该网元资源记录改回原本的优先级顺序。下面通过ー个注册流程说明,如图I所示,P-CSCF和I-CSCF不在同一个网络里,因此P-CSCF要找到I-CSCF,要通过DNS查询。具体步骤如下
第一,针对如何精简查询步骤,尽量省去SRV查询和A-查询,进而提高效率。下面我们就通过流程图具体看一下,如何通过省去SRV和A-查询进而提高效率的。I.正常情况下,DNS查询过程如图2。
2.如果该记录是IP或者本区域的FQDN,那么流程如图3。从图3可以看出如果通过NAPTR查询就可以得到端口号和IP,或者得到的FQDN是属于本地域内,那么就可以省去后续两步的查询,进而提高效率。如图4第三条NAPTR所示,_sip._udp. 135. 223. 43. 20。基于RFC3261,以如下图4的NAPTR为例(以下记录有相同的order和pref),图4的三条数据分别是IP地址,FQDN,以及普通域名。下面分析一下三种数据查询DNS的情况
I. IP地址IP地址可以作为最終的目标地址,其端ロ默认为5060,两者一起作为目标地址进行传递。2. FQDN :由于FQDN是MS核心网可以识别的信息,因此可以作为最終的目标地址,无需进行SRV查询和A-查询。3.普通域名由于普通域名不可被MS网络识别,因此不可以作为最終的目标地 址,需要进行SRV查询和A-查询。具体如图5所示。通过上述分析,FQDN和IP地址都是可以精简查询步骤的,而普通域名的方式不可以。因此本发明提出设置ー个权重Weight字段,如图I所示,当若干条资源记录的order字段和pref字段的值分别相同吋,步骤是
I.首先查询顺序就应该是首先查询IP。2.如果不可用,然后查询FQDN。3.如果FQDN也不可达,那么最后查询普通域名。相对应的,IP的权重Weight值要大于FQDN的权重Weight值,FQDN的权重Weight值要大于普通域名的权重Weight值。通过上述分析,我们可以得出,如果省去SRV和A-查询,那么将会提高近30%的效率。
第二,针对如何动态设置资源记录的顺序,尽量省尝试查询记录的次数。
基于RFC3261,我们以如下几条NAPTR为例(以下记录有不同的order和pref) order pref servicereplacement
IN NAPTR 5050 〃SIP+D2T〃_sip._tcp.examplel.com
IN NAPTR 6060 "SIP+D2T"_sip. _tcp. exampIe2. com
IN NAPTR 7070 "SIP+D2U"_sip. _udp. exampIe3. com.
通过上面的设置,可以看出,查询的顺序依次i_sip. _tcp. example I. com,_sip. _tcp.exampIe2. com, _sip._tcp. exampIe3. com。如果此时_sip. _tcp. example I. com不可达或者负载过重时,同时会伴随一个现象就是后续用户都会在查询尝试的失败后,选择_sip. _tcp. examp I e2. com作为目标地址。虽然用户最终选择成功了,但是却是以效率为代价。为了避免后续用户进行重复查询操作,本发明提出设置ー个动态数据检测函数和ー个心跳检测函数。I.动态数据检测函数
其中动态数据检测函数用来监测目前可供使用的网元,在某一时间段某网元_sip. _tcp. examp I e2. com使用的用户迅速增加的情况同时之前工作的网元_sip. _tcp.example I. com使用用户迅速下降,即表明之前优先选择的网元_sip. _tcp. example I. com可能出了问题,已经无法为后续用户提供服务。因此此时NAPTR就要将此时使用网元_sip. _tcp. examp I e2. com的优先选择权设高,后续的用户就可以跳过已经不可用的网元_sip. _tcp. example I. com,而直接选择当前可用网元,进而避免重复劳动了。动态数据检测函数可以有ー个累加器来实现,当检测到在某一个时间点之后成功接收注册或者电话的数目急剧减少时,那么就要把优先顺序调换,具体流程如图6、图7、图8、图9所示,此时需要调整优先级顺序,调整如图10所示。2.心跳检测函数
心跳检测函数会保存原本DNS中的优先级顺序,并定时发起检测(比如ー小时一次),如果之前出现问题的网元_sip. _tcp. example I. com恢复了服务功能,那么心跳检测函数会通知动态数据检测函数重置,重新监测,同时把该网元_sip. _tcp. example I. com的优先级设高,改回原本的优先级顺序。心跳检测函数可由一个计时器来实现。具体流程如图11所
/Jn o最后,通过上述方法所得到的记录,可以在ー个网元上暂存起来,这样就无需再次花费时间解析域名,查询下一跳了。比如在注册的时候,P-CSCF找寻I-CSCF的时候,如果域名不属于本区域,那就需要解析,这时候,就可以将该I-CSCF最終的解析结果暂存在 P-CSCF上,进而提高效率。
权利要求
1.一种动态改变域名服务检索顺序的方法,其特征是所述方法对NAPTR记录搜索进行动态调整,在对NAPTR记录搜索过程中,首先设置ー个权重Weight字段、一个动态数据检测函数和ー个心跳检测函数,在MS核心网内,FQDN是MS核心网可以识别的信息,利用IP地址作为目标地址进行传递,若IP地址不可得,则利用FQDN最終目标地址进行传递,IP的权重Weight值要大于FQDN的权重Weight值,FQDN的权重Weight值要大于普通域名的权重Weight值,具体步骤为 第I歩,首先查询顺序就应该是首先查询IP, 当在NAPTR查询后,得到的结果为IP时,由于其可以跟默认端ロ 5060 —起作为目标地址,无需进ー步解析,即可作为下ー跳进行传输,省去了 SRV查询和A-查询,提高了查询效率; 第2步,如果IP不可用,然后查询FQDN, 当在NAPTR查询后,得到的结果为FQDN吋,由于其具体信息已经存在于本环境的存储空间中,因此只需要到系统环境中取得其相应的IP和端ロ即可,无需进一步查询解析,因此省去了 SRV查询和A-查询,提高了查询效率; 第3步,如果FQDN也不可达,那么最后查询普通域名, 当在NAPTR查询后,得到的结果为普通域名吋,由于系统无法得到任何端口和IP的信息,进行SRV查询和A-查询,得到下一跳信息。
2.根据权利要求I所述的ー种动态改变域名服务检索顺序的方法,其特征是所述动态数据检测函数用来监测目前可供使用的网元,所述动态数据检测函数设有ー个累加器,当检测到在某一个时间点之后成功接收注册或者电话的数目急剧减少时,那么调换网元资源记录优先级顺序。
3.根据权利要求I或2所述的ー种动态改变域名服务检索顺序的方法,其特征是所述心跳检测函数保存原本DNS中的优先级顺序,并定时发起检测,如果之前出现问题的网元恢复了服务功能,那么心跳检测函数会通知动态数据检测函数重置,重新监测,同时把该网元资源记录改回原本的优先级顺序。
全文摘要
本发明涉及一种动态改变域名服务检索顺序的方法,其特征是所述方法对NAPTR记录搜索进行动态调整,在对NAPTR记录搜索过程中,首先设置一个权重Weight字段、一个动态数据检测函数和一个心跳检测函数,在IMS核心网内,FQDN是IMS核心网可以识别的信息,利用IP地址作为目标地址进行传递,若IP地址不可得,则利用FQDN最终目标地址进行传递,IP的权重Weight值要大于FQDN的权重Weight值,FQDN的权重Weight值要大于普通域名的权重Weight值。本发明通过对资源记录的动态调整,尽量省去尝试查询资源记录的次数,进而提高效率。
文档编号H04L29/12GK102647480SQ20121007925
公开日2012年8月22日 申请日期2012年3月23日 优先权日2012年3月23日
发明者沙启鑫, 许萌 申请人:青岛百灵信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1