CN116800718A - 域名查询方法、装置、非易失性存储介质及电子设备 - Google Patents
域名查询方法、装置、非易失性存储介质及电子设备 Download PDFInfo
- Publication number
- CN116800718A CN116800718A CN202310946774.2A CN202310946774A CN116800718A CN 116800718 A CN116800718 A CN 116800718A CN 202310946774 A CN202310946774 A CN 202310946774A CN 116800718 A CN116800718 A CN 116800718A
- Authority
- CN
- China
- Prior art keywords
- domain name
- address
- preset
- type
- query request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000013507 mapping Methods 0.000 claims abstract description 137
- 239000000872 buffer Substances 0.000 claims description 40
- 238000006243 chemical reaction Methods 0.000 claims description 25
- 230000000977 initiatory effect Effects 0.000 claims description 15
- 230000009977 dual effect Effects 0.000 claims description 12
- 230000001502 supplementing effect Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 description 34
- 230000006870 function Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 18
- 238000005192 partition Methods 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 230000000694 effects Effects 0.000 description 9
- 239000000243 solution Substances 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000004927 fusion Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000007853 buffer solution Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000000178 monomer Substances 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000011330 nucleic acid test Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4552—Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种域名查询方法、装置、非易失性存储介质及电子设备。其中,该方法包括:获取目标域名基于第一域名类型的第一域名查询请求,其中,第一域名查询请求用于指示在预设缓存空间中查询与目标域名和第一域名类型对应的的基于互联网协议第6版IPv6的第一域名地址;在未能在预设缓存空间中查询到第一域名地址的情况下,将第一域名请求转换为基于第二域名类型的第二域名查询请求,其中,第二域名查询请求用于指示在预设缓存空间中查询与目标域名和第二域名类型对应的基于互联网协议第4版IPv4的第二域名地址;按照预设算法映射表,将第二域名地址转换为第一域名地址。本发明解决了现有技术无法使仅支持IPv4的业务支持IPv6单栈使用的技术问题。
Description
技术领域
本发明涉及通信技术领域,具体而言,涉及一种域名查询方法、装置、非易失性存储介质及电子设备。
背景技术
双栈网络是一个网络向IPv6演进的过渡阶段,不适合作为长期的部署和运营状态,纯IPv6肯定是5G独立组网的演进趋势。5G标准组织3GPP对于其相关的标准设计和设备实现上均已要求支持IPv6协议,现网部署的设备同样也支持IPv6协议。随着IPv6规模部署工作的开展,互联网业务大部分已经进行双栈改造,但仍有部分业务只支持IPv4。结合现网的实际情况来看,IPv6单栈规模部署的难点在于如何保持仅支持IPv4业务的正常使用。
针对上述现有技术无法使仅支持IPv4的业务支持IPv6单栈使用的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种域名查询方法、装置、非易失性存储介质及电子设备,以至少解决现有技术无法使仅支持IPv4的业务支持IPv6单栈使用的技术问题。
根据本发明实施例的一个方面,提供了一种域名查询方法,包括:获取目标域名基于第一域名类型的第一域名查询请求,其中,所述第一域名查询请求用于指示在预设缓存空间中查询与所述目标域名和所述第一域名类型对应的第一域名地址,所述预设缓存空间用于记录至少一组域名映射关系,每组域名映射关系用于记录一组预设域名和预设域名类型对应的预设域名地址,所述预设域名类型包括:第一域名类型和第二域名类型,所述预设域名地址包括:与所述第一域名类型对应的基于互联网协议第6版IPv6的第一域名地址,和与所述第一域名类型对应的基于互联网协议第4版IPv4的第二域名地址;在未能在所述预设缓存空间中查询到所述第一域名地址的情况下,将所述第一域名请求转换为基于第二域名类型的第二域名查询请求,其中,所述第二域名查询请求用于指示在所述预设缓存空间中查询与所述目标域名和所述第二域名类型对应的所述第二域名地址;按照预设算法映射表,将所述第二域名地址转换为所述第一域名地址,其中,所述预设算法映射表用于表示互联网协议第4版IPv4与互联网协议第6版IPv6的域名地址转换关系。
可选地,获取目标域名基于第一域名类型的第一域名查询请求包括:接收所述目标域名的目标域名查询请求;识别发起所述目标域名查询请求的用户类型,其中,所述用户类型包括:双栈用户、基于互联网协议第6版IPv6的第一单栈用户,和基于互联网协议第4版IPv4的第二单栈用户;在所述用户类型为所述第一单栈用户的情况下,确定所述目标域名查询请求为所述第一域名查询请求。
可选地,在所述用户类型为所述第一单栈用户的情况下,所述方法还包括:判断发起所述目标域名查询请求的目标用户是否为预设差异化用户;在所述目标用户为所述预设差异化用户的情况下,判断所述目标域名是否为预设差异化域名;在所述目标域名为所述预设差异化域名的情况下,确定所述目标域名查询请求为第三域名查询请求,其中,所述第三域名查询请求用于指示在定制缓存空间中查询与所述目标域名和所述第一域名类型对应的第一域名地址,所述定制缓存空间与所述预设缓存空间相同。
可选地,在识别发起所述目标域名查询请求的用户类型之后,所述方法还包括:在所述用户类型为所述双栈用户或所述第二单栈用户的情况下,确定所述目标域名查询请求为第四域名查询请求;响应所述第四域名查询请求,在公共缓存空间中查询与所述目标域名对应的第三域名地址,其中,所述公共缓存空间用于记录至少一个预设域名和第三域名地址的对应关系,所述第三域名地址包括:与所述第一域名类型对应的基于互联网协议第4版IPv4的一类第三域名地址,和与所述第二域名类型对应的基于互联网协议第6版IPv6的二类第三域名地址。
可选地,所述方法还包括:在未能在所述公共缓存空间中查询到所述第三域名地址的情况下,将所述第四域名查询请求发送至递归服务器,其中,所述递归服务器用于解析所述第四域名查询请求获取所述第三域名地址;接收所述递归服务器返回的所述第三域名地址;将所述目标域名和对应的第三域名地址存入所述公共缓存空间。
可选地,所述方法还包括:获取所述公共缓存空间中存储的至少一个预设域名,和对应的所述第三域名地址;识别所述第三域名地址对应的所述预设域名类型;将每个所述第三域名地址与对应的所述预设域名和所述预设域名类型,确定为一组所述域名映射关系存入所述预设缓存空间。
可选地,在未能在所述预设缓存空间中查询到所述第一域名地址的情况下,将所述第一域名请求转换为基于第二域名类型的第二域名查询请求包括:在未能在所述预设缓存空间中查询到所述第一域名地址的情况下,将所述第一域名查询请求发送至递归服务器,其中,所述递归服务器用于解析所述第一域名查询请求获取所述第一域名地址;在所述递归服务器未能获取所述第一域名地址的情况下,将所述第一域名请求转换为基于第二域名类型的第二域名查询请求。
可选地,在将所述第一域名查询请求发送至递归服务器之后,所述方法还包括:接收所述递归服务器返回的所述第一域名地址;识别所述第一域名地址对应的所述预设域名类型为所述第一域名类型;将每个所述第一域名地址与对应的所述预设域名和所述第一域名类型,确定为一组所述域名映射关系存入所述预设缓存空间。
可选地,按照预设算法映射表,将所述第二域名地址转换为所述第一域名地址包括:获取所述第二域名地址,其中,所述第二域名地址的地址数位为32位;根据所述预设算法映射表在所述第二域名地址前添加预设地址前缀,得到目标域名地址;检测所述目标域名地址的地址数位是否达到预设地址数位,其中,所述预设地址数位为128位;在所述检测所述目标域名地址的地址数位未达到所述预设地址数位的情况下,在所述目标域名地址的末位补充预设数值,直到达到所述预设地址数位;确定达到所述预设地址数位的所述目标域名地址为所述第一域名地址。
可选地,所述方法还包括:在未能在所述预设缓存空间中查询到所述第二域名地址的情况下,将所述第二域名查询请求发送至递归服务器,其中,所述递归服务器用于解析所述第二域名查询请求获取所述第二域名地址;接收所述递归服务器返回的所述第二域名地址。
可选地,在接收所述递归服务器返回的所述第二域名地址之后,所述方法还包括:识别所述第二域名地址对应的所述预设域名类型为所述第二域名类型;将每个所述第二域名地址与对应的所述预设域名和所述第二域名类型,确定为一组所述域名映射关系存入所述预设缓存空间。
可选地,在按照预设算法映射表,将所述第二域名地址转换为所述第一域名地址之后,所述方法还包括:识别所述第一域名地址对应的所述预设域名类型为所述第一域名类型;将每个所述第一域名地址与对应的所述预设域名和所述第一域名类型,确定为一组所述域名映射关系存入所述预设缓存空间。
根据本发明实施例的另一方面,还提供了一种域名查询装置,包括:获取模块,用于获取目标域名基于第一域名类型的第一域名查询请求,其中,所述第一域名查询请求用于指示在预设缓存空间中查询与所述目标域名和所述第一域名类型对应的第一域名地址,所述预设缓存空间用于记录至少一组域名映射关系,每组域名映射关系用于记录一组预设域名和预设域名类型对应的预设域名地址,所述预设域名类型包括:第一域名类型和第二域名类型,所述预设域名地址包括:与所述第一域名类型对应的基于互联网协议第6版IPv6的第一域名地址,和与所述第一域名类型对应的基于互联网协议第4版IPv4的第二域名地址;类型转换模块,用于在未能在所述预设缓存空间中查询到所述第一域名地址的情况下,将所述第一域名请求转换为基于第二域名类型的第二域名查询请求,其中,所述第二域名查询请求用于指示在所述预设缓存空间中查询与所述目标域名和所述第二域名类型对应的所述第二域名地址;地址转换模块,用于按照预设算法映射表,将所述第二域名地址转换为所述第一域名地址,其中,所述预设算法映射表用于表示互联网协议第4版IPv4与互联网协议第6版IPv6的域名地址转换关系。
根据本发明实施例的另一方面,还提供了一种非易失性存储介质,所述非易失性存储介质用于存储程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行上述所述域名查询方法。
根据本发明实施例的另一方面,还提供了一种电子设备,其特征在于,包括:存储器和处理器,所述处理器用于运行存储在所述处理器中的程序,其中,所述程序运行时执行上述所述域名查询方法。
在本发明实施例中,利用预设缓存空间,可以按照“预设域名和预设域名类型”为单位,存储和查询对应的预设域名地址,第一域名查询请求可以是IPv6单栈的域名查询请求,第一域名查询请求的查询结果只能是基于互联网协议第6版IPv6的第一域名地址,进而利用预设缓存空间可以响应第一域名类型的第一域名查询请求,查询基于互联网协议第6版IPv6的第一域名地址,还可以在未能查询到第一域名地址的情况下,将第一域名类型的第一域名查询请求转换为第二域名类型的第二域名查询请求之后,响应第二域名查询请求查询基于互联网协议第4版IPv4的第二域名地址,再利用预设算法映射表将第二域名地址转换为第一域名地址,从而实现了利用预设缓存空间和预设算法映射表可以使仅支持IPv4的业务支持IPv6单栈使用的技术效果,使查询结果可以满足第一域名查询请求,进而解决了现有技术无法使仅支持IPv4的业务支持IPv6单栈使用技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种域名查询方法的流程图;
图2是根据本发明实施例的一种架构的示意图;
图3是根据本发明实施例的一种DNS64标准解析的示意图;
图4是根据本发明实施例的一种优化后的DNS64解析流程的示意图;
图5是根据本发明实施例的一种高速缓存数据同步流程的示意图;
图6是根据本发明实施例的一种用户识别流程的示意图;
图7是根据本发明实施例的一种定制化分区更新流程的示意图;
图8是根据本发明实施例的一种为非域名应用提供前缀的示意图;
图9是根据本发明实施例的一种域名查询装置的示意图;
图10是根据本发明实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种域名查询方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种域名查询方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取目标域名基于第一域名类型的第一域名查询请求,其中,第一域名查询请求用于指示在预设缓存空间中查询与目标域名和第一域名类型对应的第一域名地址,预设缓存空间用于记录至少一组域名映射关系,每组域名映射关系用于记录一组预设域名和预设域名类型对应的预设域名地址,预设域名类型包括:第一域名类型和第二域名类型,预设域名地址包括:与第一域名类型对应的基于互联网协议第6版IPv6的第一域名地址,和与第一域名类型对应的基于互联网协议第4版IPv4的第二域名地址;
步骤S104,在未能在预设缓存空间中查询到第一域名地址的情况下,将第一域名请求转换为基于第二域名类型的第二域名查询请求,其中,第二域名查询请求用于指示在预设缓存空间中查询与目标域名和第二域名类型对应的第二域名地址;
步骤S106,按照预设算法映射表,将第二域名地址转换为第一域名地址,其中,预设算法映射表用于表示互联网协议第4版IPv4与互联网协议第6版IPv6的域名地址转换关系。
在本发明实施例中,利用预设缓存空间,可以按照“预设域名和预设域名类型”为单位,存储和查询对应的预设域名地址,第一域名查询请求可以是IPv6单栈的域名查询请求,第一域名查询请求的查询结果只能是基于互联网协议第6版IPv6的第一域名地址,进而利用预设缓存空间可以响应第一域名类型的第一域名查询请求,查询基于互联网协议第6版IPv6的第一域名地址,还可以在未能查询到第一域名地址的情况下,将第一域名类型的第一域名查询请求转换为第二域名类型的第二域名查询请求之后,响应第二域名查询请求查询基于互联网协议第4版IPv4的第二域名地址,再利用预设算法映射表将第二域名地址转换为第一域名地址,从而实现了利用预设缓存空间和预设算法映射表可以使仅支持IPv4的业务支持IPv6单栈使用的技术效果,使查询结果可以满足第一域名查询请求,进而解决了现有技术无法使仅支持IPv4的业务支持IPv6单栈使用技术问题。
在上述步骤S102中,第一域名查询请求可以由IPv6单栈用户发出的,用于指示获取目标域名基于IPv6的第一域名。
在上述步骤S102中,预设缓存空间可以是基于DNS64的缓存空间。
在上述步骤S102中,预设缓存空间专用于响应IPv6单栈用户发出的第一域名查询请求。
在上述步骤S102中,预设缓存空间以“预设域名和预设域名类型”为存储和查询的基本单位,并记录对应的预设域名地址,其中,预设域名类型包括表示请求获取基于互联网协议第6版IPv6地址的第一域名类型,和基于互联网协议第4版IPv4地址的第二域名类型。
在上述步骤S102中,预设缓存空间可以分别存储:预设域名和第一域名类型对应的第一域名地址,以及预设域名和第二域名类型对应的第二域名地址。
可选地,基于互联网协议第6版IPv6的第一域名地址可以在预设缓存空间中存储为AAAA形式的记录,也即AAAA形式的记录对应第一域名类型;基于互联网协议第4版IPv4的第二域名地址可以在预设缓存空间中存储为A形式的记录,也即A形式的记录对应第二域名类型。
在上述步骤S102中,在获取第一域名查询请求后,可以先在预设缓存空间中记录的多个“预设域名和预设域名类型”中确定“目标域名和第一域名类型”,再根据映射关系确定目标域名的第一域名地址。
在上述步骤S104中,在预设缓存空间未能查询到第一域名查询请求指示的第一域名地址的情况下,可以将第一域名请求转换为基于第二域名类型的第二域名查询请求,然后在预设缓存空间中查询与目标域名和第二域名类型具有映射关系的第二域名地址。
在上述步骤S106中,预设算法映射表用于记录将基于互联网协议第4版IPv4的域名地址转换为基于互联网协议第6版IPv6的域名地址的域名地址转换关系,在能够获取第二域名地址的情况下,可以将获取的第二域名地址转换为第一域名地址,对第一域名查询请求做出响应。
作为一种可选的实施例,获取目标域名基于第一域名类型的第一域名查询请求包括:接收目标域名的目标域名查询请求;识别发起目标域名查询请求的用户类型,其中,用户类型包括:双栈用户、基于互联网协议第6版IPv6的第一单栈用户,和基于互联网协议第4版IPv4的第二单栈用户;在用户类型为第一单栈用户的情况下,确定目标域名查询请求为第一域名查询请求。
本发明上述实施例,发起域名查询的用户可以是双栈用户、基于互联网协议第6版IPv6的第一单栈用户,和基于互联网协议第4版IPv4的第二单栈用户,其中,双栈用户发起的目标域名查询请求,指示获取目标域名基于互联网协议第6版IPv6的域名地址或基于互联网协议第4版IPv4的域名地址;第二单栈用户发起的目标域名查询请求,指示获取目标域名基于互联网协议第4版IPv4的域名地址;第一单栈用户发起的目标域名查询请求,指示获取目标域名基于互联网协议第6版IPv6的域名地址,因此,可以将第一单栈用户作为基于第一域名类型的第一域名查询请求,实现了对目标域名查询请求进行预设域名类型的识别。
作为一种可选的实施例,在用户类型为第一单栈用户的情况下,方法还包括:判断发起目标域名查询请求的目标用户是否为预设差异化用户;在目标用户为预设差异化用户的情况下,判断目标域名是否为预设差异化域名;在目标域名为预设差异化域名的情况下,确定目标域名查询请求为第三域名查询请求,其中,第三域名查询请求用于指示在定制缓存空间中查询与目标域名和第一域名类型对应的第一域名地址,定制缓存空间与预设缓存空间相同。
本发明上述实施例,在用户类型为第一单栈用户的情况下,指示使用预设缓存空间对该第一单栈用户发出的第一域名查询请求做出响应,但是预设缓存空间需要处理多个第一单栈用户发出的大量第一域名查询请求,所以对第一域名查询请求的响应速度受第一域名查询请求的请求数量影响,无法快速做出响应,进而为了提高响应速度,可以预先设置预设差异化用户和预设差异化域名,将预设差异化用户对预设差异化域名做出的目标域名查询请求作为第三域名查询请求,并配置定制缓存空间对第三域名查询请求进行响应,由于定制缓存空间只会对第三域名查询请求做出响应,因此需要定制缓存空间响应的第三域名查询请求,将远远少于需要预设缓存空间响应的第一域名查询请求,所以基于定制缓存空间可以快速对第三域名查询请求做出响应。
可选地,定制缓存空间与预设缓存空间相同,能够以“预设域名和预设域名类型”为存储和查询的基本单位,并记录对应的预设域名地址,其中,预设域名类型包括表示请求获取基于互联网协议第6版IPv6地址的第一域名类型,和基于互联网协议第4版IPv4地址的第二域名类型。
可选地,定制缓存空间存储的预设域名可以是预设差异化域名。
可选地,预设差异化用户可以是具有高优先级的用户,预设差异化域名可以是具有高优先级的域名。
作为一种可选的实施例,在识别发起目标域名查询请求的用户类型之后,方法还包括:在用户类型为双栈用户或第二单栈用户的情况下,确定目标域名查询请求为第四域名查询请求;响应第四域名查询请求,在公共缓存空间中查询与目标域名对应的第三域名地址,其中,公共缓存空间用于记录至少一个预设域名和第三域名地址的对应关系,第三域名地址包括:与第一域名类型对应的基于互联网协议第4版IPv4的一类第三域名地址,和与第二域名类型对应的基于互联网协议第6版IPv6的二类第三域名地址。
本发明上述实施例,公共缓存空间中以预设域名为映射单位,记录预设域名和对应的基于互联网协议第4版IPv4的一类第三域名地址,和基于互联网协议第6版IPv6的二类第三域名地址,在发起目标域名查询请求的目标对象为双栈用户或第二单栈用户的情况下,可以通过公共缓存空间响应双栈用户或第二单栈用户发出的第四域名查询请求,实现对第四域名查询请求的响应。
可选地,公共缓存空间虽然既可以提供基于互联网协议第4版IPv4的一类第三域名地址,又可以提供基于互联网协议第6版IPv6的二类第三域名地址,但是主要以基于互联网协议第4版IPv4的一类第三域名地址为主,双栈用户即可以使用基于互联网协议第4版IPv4的一类第三域名地址,又可以使用基于互联网协议第6版IPv6的二类第三域名地址,因此基于公共缓存空间可以满足双栈用户和第二单栈用户的使用需求。
但是,第一单栈用户只能使用基于互联网协议第6版IPv6的域名地址,在目标域名不具有基于互联网协议第6版IPv6的域名地址的情况下,公共缓存空间无法对第一单栈用户的第一域名查询请求作出响应。
作为一种可选的实施例,该方法还包括:在未能在公共缓存空间中查询到第三域名地址的情况下,将第四域名查询请求发送至递归服务器,其中,递归服务器用于解析第四域名查询请求获取第三域名地址;接收递归服务器返回的第三域名地址;将目标域名和对应的第三域名地址存入公共缓存空间。
本发明上述实施例,公共缓存空间存储的预设域名可以是经常被用户访问的域名,在公共缓存空间无法为第四域名查询请求提供第三域名地址的情况下,可以将第四域名查询请求发送至递归服务器,由递归服务器用于解析第四域名查询请求获取第三域名地址,完成对第三域名地址的获取,并将获取的第三域名地址存入公共缓存空间,便于在公共缓存空间后续响应第四域名查询请求的情况下,快速调用本次递归的到的第三域名地址。
作为一种可选的实施例,该方法还包括:获取公共缓存空间中存储的至少一个预设域名,和对应的第三域名地址;识别第三域名地址对应的预设域名类型;将每个第三域名地址与对应的预设域名和预设域名类型,确定为一组域名映射关系存入预设缓存空间。
本发明上述实施例,可以将公共缓存空间中存储的预设域名和第三域名地址的对应关系,调整为预设域名和预设域名类型与预设域名地址的域名映射关系,实现了公共缓存空间与预设缓存空间的域名地址同步。
可选地,将每个第三域名地址与对应的预设域名和预设域名类型,确定为一组域名映射关系存入预设缓存空间包括:在第三域名地址对应的预设域名类型为第一域名类型的情况下,将第三域名地址作为第一域名地址,然后建立域名映射关系。
可选地,将每个第三域名地址与对应的预设域名和预设域名类型,确定为一组域名映射关系存入预设缓存空间包括:在第三域名地址对应的预设域名类型为第二域名类型的情况下,将第三域名地址作为第二域名地址,然后建立域名映射关系。
可选地,将每个第三域名地址与对应的预设域名和预设域名类型,确定为一组域名映射关系存入预设缓存空间包括:在第三域名地址对应的预设域名类型为第二域名类型的情况下,将第三域名地址作为第二域名地址;按照预设算法映射表,将第二域名个地址转换为第一域名地址,然后建立域名映射关系。
作为一种可选的实施例,在未能在预设缓存空间中查询到第一域名地址的情况下,将第一域名请求转换为基于第二域名类型的第二域名查询请求包括:在未能在预设缓存空间中查询到第一域名地址的情况下,将第一域名查询请求发送至递归服务器,其中,递归服务器用于解析第一域名查询请求获取第一域名地址;在递归服务器未能获取第一域名地址的情况下,将第一域名请求转换为基于第二域名类型的第二域名查询请求。
本发明上述实施例,预设缓存空间存储的预设域名可以是经常被用户访问的域名,在预设缓存空间无法为第一域名查询请求提供第一域名地址的情况下,可以将第一域名查询请求发送至递归服务器,由递归服务器用于解析第一域名查询请求获取第一域名地址,完成对第一域名地址的获取。
本发明上述实施例,直接使用基于互联网协议第6版IPv6的第一域名地址,会优于使用由第二域名地址转换的第一域名地址,因此,在目标域名具有基于互联网协议第6版IPv6的第一域名地址的情况下,需要优先获取该目标域名的第一域名地址,进而在通过递归服务器也无法获取目标域名的第一域名地址的情况,说明该目标域名并未配置第一域名地址,但是为了使发出第一域名查询请求的第一单栈用户能够使用目标域名,就需要将目标域名的第二域名地址转换为第一域名地址。
作为一种可选的实施例,在将第一域名查询请求发送至递归服务器之后,方法还包括:接收递归服务器返回的第一域名地址;识别第一域名地址对应的预设域名类型为第一域名类型;将每个第一域名地址与对应的预设域名和第一域名类型,确定为一组域名映射关系存入预设缓存空间。
本发明上述实施例,在通过递归服务器获取第一域名地址情况下,可以将通过递归服务器获取的第一域名地址存入预设缓存空间中,便于在预设缓存空间后续响应第一域名查询请求的情况下,调用本次递归的到的第一域名地址,快速对第一域名查询请求作出响应。
作为一种可选的实施例,该方法还包括:在未能在预设缓存空间中查询到第二域名地址的情况下,将第二域名查询请求发送至递归服务器,其中,递归服务器用于解析第二域名查询请求获取第二域名地址;接收递归服务器返回的第二域名地址;按照预设算法映射表,将第二域名地址转换为所第一域名地址。
本发明上述实施例,预设缓存空间存储的预设域名可以是经常被用户访问的域名,在预设缓存空间无法为第二域名查询请求提供第二域名地址的情况下,可以将第二域名查询请求发送至递归服务器,由递归服务器用于解析第二域名查询请求获取第二域名地址,完成对第二域名地址的获取,进而将递归服务器返回的第二域名地址转换为第一域名地址,完成对第一域名查询请求的响应。
作为一种可选的实施例,在接收递归服务器返回的第二域名地址之后,方法还包括:识别第二域名地址对应的预设域名类型为第二域名类型;将每个第二域名地址与对应的预设域名和第二域名类型,确定为一组域名映射关系存入预设缓存空间。
本发明上述实施例,在通过递归服务器获取第二域名地址情况下,可以将通过递归服务器获取的第二域名地址存入预设缓存空间中,便于在预设缓存空间后续响应第二域名查询请求的情况下,调用本次递归的到的第二域名地址,快速对第二域名查询请求作出响应。
作为一种可选的实施例,在接收递归服务器返回的第二域名地址之后,方法还包括:按照预设算法映射表,将第二域名地址转换为所第一域名地址,识别第一域名地址对应的预设域名类型为第一域名类型;将每个第一域名地址与对应的预设域名和第一域名类型,确定为一组域名映射关系存入预设缓存空间。
本发明上述实施例,在通过递归服务器获取第二域名地址情况下,可以将通过递归服务器获取的第二域名地址转换为第一域名地址,再将第一域名地址存入预设缓存空间中,便于在预设缓存空间后续响应第一域名查询请求的情况下,直接调用转换后的第一域名地址,快速对第一域名查询请求作出响应。
作为一种可选的实施例,按照预设算法映射表,将第二域名地址转换为第一域名地址包括:获取第二域名地址,其中,第二域名地址的地址数位为32位;根据预设算法映射表在第二域名地址前添加预设地址前缀,得到目标域名地址;检测目标域名地址的地址数位是否达到预设地址数位,其中,预设地址数位为128位;在检测目标域名地址的地址数位未达到预设地址数位的情况下,在目标域名地址的末位补充预设数值,直到达到预设地址数位;确定达到预设地址数位的目标域名地址为第一域名地址。
本发明上述实施例,预设算法映射表记录将第二域名地址转换为第一域名地址的转换规则,其中,基于互联网协议第4版IPv4的第二域名地址为32位,基于互联网协议第6版IPv6的第一域名地址为128位,因此,将第二域名地址转换为第一域名地址就需要将域名地址从32位调整为128位,进而可以在32位的第二域名地址前添加预设地址前缀,再使用预设数值为第二域名地址补位,就可以得到128位的第一域名地址,实现了将第二域名地址转换为第一域名地址的技术效果。
本发明还提供了一种优选实施例,该优选实施例提供了一种基于智能高速缓存的DNS64实现方法。
从技术成熟度和全球其它运营商的部署经验来看,464XLAT技术是当前解决移动网单栈化的最佳方案。该技术要求终端支持CLAT功能,网络侧部署NAT64和DNS64功能。目前微软、谷歌、苹果和思科等公司的产品均支持IPv6单栈,IOS和Android终端产品中很早支持了IPv6单栈,目前防火墙设备基本支持NAT64功能,但目前运营商DNS基本上都还无法实现正式商用案例,运营商DNS需要通过改造支持DNS64功能和RFC7050协议的正常商用。
目前,具备DNS解析功能的开源软件主要有BIND和UNBOUND,但这些软件离正式规模商用尚存在一定距离,主要体现在以下几个方面:
在DNS性能方面,运营商的DNS请求流量均非常巨大,例如某地区电信DNS目前已经超过1200万QPS,运营商一般均采用高速缓存+递归的二级架构,由高速缓存承载95%以上的常见域名解析请求,而现有的主流开源软件尚无法很好地支撑这种二级架构。
在DNS功能方面,Bind只支持根据视图进行配置,不支持基于域名前缀配置,Ubound不支持视图,只能全局的前缀配置,所以也无法支撑运营商的一些定制化解析需求。
在DNS安全方面,缓存与递归分离降低单体故障对于***的影响,并且可以制定不同的防护策略。高速缓存***主要提供缓存解析服务以及相关的策略,主要包括强解功能,封堵功能,智能路由重定向功能,错误域名重定向功能,Forward转发功能以及安全防护模块,其中安全防护模块主要是ACL访问控制,IP限速(精确和全局),域名限速(精确和全局),放大攻击和递归攻击,域名类型访问控制等功能。递归子***主要提供递归解析服务,注重DNS协议功能的实现;递归***不直接对外提供服务,具有更好的防攻击能力。这些开源DNS软件在网络安全方面也无法实现。
综上所述,运营商无法直接采用现成的DNS软件来实现DNS64的规模商用,需要对现网的高速缓存和递归进行定制化的优化改造。
本申请要求保护的技术方案,通过分析DNS64+NAT64的技术特点以及当前DNS64开源软件的不足,结合运营商主流的DNS***架构及IPv6单栈业务需求,提出了运营级DNS64***的改造方法。
需要说明的是,传统高速缓存软件不支持DNS64功能,当用户发起AAAA类型(也即第一域名类型)的域名请求,查询不到缓存,也递归不到结果时,用户就无法获取到该域名的IPv6地址(即无法基于第一域名查询请求查询第一域名地址);因此,为了满足单栈用户的解析需求,DNS64的高速缓存软件需要增加DNS64的功能,为其新增了3个功能模块:DNS64配置模块、DNS64判断执行模块、DNS64存储模块。
图2是根据本发明实施例的一种架构的示意图,如图2所示,至少包括:DNS64配置模块、DNS64判断执行模块和DNS64存储模块。
可选地,DNS64配置模块包括:DNS64功能开关和DNS64匹配策略,其中,DNS64功能开关又分为“DNS64功能总开关”和“nxdomain递归结果DNS64控制开关”。“DNS64功能总开关”如果关闭,则跟现网高速缓存功能保持一致。“nxdomain递归结果DNS64控制开关”主要用于控制域名AAAA请求递归结果是nxdomain是否进行DNS64功能;DNS64匹配策略功能主要包括前缀地址配置、VIP客户配置、分区配置等。
可选地,DNS64判断执行模块包括:
DNS64执行条件:“DNS64功能总开关”打开;域名AAAA类型递归请求(如基于第一域名类型的第一域名查询请求)没有获取到对应的地址结果集(如第一域名地址);。
DNS64递归请求执行:将域名的AAAA类型请求改为A类型请求(如将第一域名请求转换为基于第二域名类型的第二域名查询请求),进行再次递归。
DNS64策略匹配执行:对于递归响应结果,判断是否为DNS64递归请求的响应,如果是DNS64递归请求的响应,将响应结果中的IPv4地址映射为IPv6地址(如将第二域名地址转换为第一域名地址)。
可选地,DNS64存储模块(也即预设缓存空间),缓存查找及存储的单位信息为“域名+记录类型”(也即预设域名和预设域名类型),区别于原DNS著名开源软件BIND是以域为单位进行存储和查询。DNS64策略执行后,分别记录“域名+A类型”的结果集(也即记录目标域名和第二域名类型对应的第二域名地址)和“域名+AAAA类型”的映射结果集(也即记录目标域名和第一域名类型对应的第一域名地址)。
可选地,为提高缓存命中率,减轻递归负载,高速缓存(也即预设缓存空间)会主动通过缓存数据同步子模块将公共缓存空间新接收的非空AAAA记录数据(也即公共缓存空间中第一域名类型关联的第一域名地址)同步至DNS64通用缓存空间(也即预设缓存空间)。
作为一种可选的实施例,A记录与AAAA记录的映射方法(也即,将第二域名地址转换为第一域名地址)包括:采用前缀转换的方式IPv4地址转换为IPv6地址,将IPv4地址按一定的规则,加上地址前缀,实现IPv4到IPv6的映射,映射后的IPv6地址内嵌IPv4地址。DNS64的高速缓存软件上定义了一张IPv4、IPv6转换算法映射表(也即预设算法映射表),根据这张算法映射表,就能将IPv4地址转换成IPv6地址。只要算法映射表不修改,IPv4和IPv6的映射关系就不会发生变化,是一种稳定可靠的转换关系。
需要说明的是,IPv4使用32位地址,IPv6使用128位地址,DNS64高速缓存软件限制地址前缀最长96位,对于非法地址前缀,DNS64高速缓存软件加载报错。映射的IPv6地址组成格式为:地址前缀(也即预设地址前缀)+IPv4地址,组装过后,如果IPv6的地址长度小于128位,那么在IPv6的地址后面补充0,直到IPv6地址长度达到128位。
可选地,如图2所示,当DNS64高速缓存软件收到AAAA类型域名请求时(也即收到第一域名查询请求),会先获取该域名的AAAA类型IPv6响应结果集(也即根据第一域名查询请求查询第一域名地址),如果获取不到,再将AAAA请求类型修改为A请求类型(也即将所述第一域名请求转换为基于第二域名类型的第二域名查询请求),获取该域名的A类型IPv4响应结果集(也即根据第二域名查询请求查询第二域名地址),获取的IPv4响应结果集(也即第二域名地址)进行一次地址映射,映射为IPv6结果集(也即第一域名地址),最后将IPv6结果集响应给客户。
可选地,DNS64的递归软件处理方式和DNS64的高速缓存软件处理方式类似,如果域名请求获取不到AAAA类型IPv6响应结果集(也即根据第一域名查询请求递归不到第一域名地址),那么该域名再获取A类型IPv4响应结果集(也即根据第二域名查询请求递归第二域名地址),再将IPv4响应结果映射为IPv6结果集(也即将所述第二域名地址转换为第一域名地址),最后用IPv6结果集(也即第一域名地址)响应域名的AAAA类型请求(也即第一域名查询请求)。
图3是根据本发明实施例的一种DNS64标准解析的示意图,如图3所示,在DNS请求解析example.abc.com的IPv6地址(也即第一域名地址)的情况下,DNS64服务器可以将针对IPv6地址的请求转发至DNS服务器,判断该example.abc.com是否存在IPv6地址,进而在确定存在IPv6地址的情况下,DNS服务器可以通过DNS64服务器进行DNS应答,返回example.abc.com的IPv6地址。
可选地,在确定不存在IPv6地址的情况下,通过DNS64服务器解析example.abc.com的IPv4地址(也即第二域名地址),然后将针对IPv4地址的请求转发至DNS服务器,进而DNS服务器可以通过DNS64服务器进行DNS应答,确定example.abc.com的IPv地址,然后DNS64服务器将example.abc.com的IPv4地址转换为IPv6地址,并返回example.abc.com的IPv6地址。
图4是根据本发明实施例的一种优化后的DNS64解析流程的示意图,如图4所示,包括步骤如下:
S41,收到DNS请求(也即收到目标域名查询请求)。
S42,判断是否为单栈地址段(也即判断发出目标域名查询请求的用户类型是否为第一单栈用户),若是执行S43;若否执行S421,由公共缓存空间进行响应。
S421,判断域名请求是否命中普通缓存(也即判断是否能在公共缓存空间中查询到第三域名地址),若是则执行S46;若否执行S422。
S422,普通递归/转发(也即将第四域名查询请求发送至递归服务器)。
S423,更新普通区高速缓存(也即将目标域名和对应的第三域名地址存入公共缓存空间)。
S424,同步数据给DNS64缓存(也即将每个第三域名地址与对应的预设域名和预设域名类型,确定为一组域名映射关系存入预设缓存空间)。
S43,判断是否为差异化客户差异化的域名(判断发起目标域名查询请求的目标用户是否为预设差异化用户,且判断目标域名是否为预设差异化域名),若是执行S44,否则执行S431,由预设缓存空间进行响应。
S431,判断是否命中DNS64通用缓存(也即判断是否需要由预设缓存空间响应)若是则通过预设缓存空间确定第一域名地址执行S46,否则执行S432。
S432,递归AAAA记录(也即将所述第一域名查询请求发送至递归服务器,获取第一域名地址)。
S433,请求AAAA记录是否为空,若是,也即在所述递归服务器未能获取所述第一域名地址的情况下,执行S434;若否,也即在所述递归服务器返回第一域名地址的情况下,执行S45。
S434,递归A记录(也即将所述第二域名查询请求发送至递归服务器,获取第二域名地址)。
S435,组合解析结果(也即将第二域名地址转换为第一域名地址),然后执行S45。
S44,判断是否命中DNS64分区缓存(也即判断是否由定制缓存空间响应),若是则执行S46,否则发起ECS递归,并在收到ECS递归结果后执行S45。
可选地,ECS递归可以将云服务器部署为递归服务器,通过云服务器执行递归过程,可以提高递归效率。
S45,更新DNS64缓存(也即将递归服务器返回的域名地址存储至预设缓存空间),然后执行S46。
S46,高速缓存应答,用于应答目标域名查询请求返回相应的预设域名地址。
可选地,为了满足不同客户业务定制化的解析需求,DNS***在策略匹配方面进行了改进,可以支持针对不同的源IP(视图),配置不同的解析前缀,也支持在同一视图下,针对不同域名配置不同的解析前缀;在缓存逻辑方面,在DNS64缓存获取到递归返回的结果后,会将域名+请求类型(A或者AAAA等)组合的方式写入到缓存区,即同一个域名+不同的请求类型会存在不同的缓存条目。
图5是根据本发明实施例的一种高速缓存数据同步流程的示意图,如图5所示,包括步骤如下:
S51,模块启动。
S52,接收新递归AAAA响应报文(相当于接收第三域名地址,也即接收二类第三域名地址)。
S53,更新公共缓存(也即将目标域名和对应的第三域名地址存入公共缓存空间)。
S54,判断AAAA记录是否为空(也即判断在公共缓存空间中是否能够查询到第三域名地址),若是执行S55,若否执行S56。
S55,响应用户请求(也即响应第四域名查询请求)。
S56,更新DNS64通用缓存(也即将每个第三域名地址与对应的预设域名和预设域名类型,确定为一组域名映射关系存入所述预设缓存空间),然后执行S57。
S57,响应用户请求(也即响应第一域名查询请求)。
图6是根据本发明实施例的一种用户识别流程的示意图,如图6所示,包括步骤如下:
S61,接收用户请求(也即接收目标域名查询请求)。
S62,判断是否为IPv6单栈用户(也即判断是否为第一单栈用户),若否执行S63,若是执行S64。
S63,公共缓存响应(也即确定目标域名查询请求为第四域名查询请求,并由公共缓存空间响应第四域名查询请求)。
S64,判断是否为差异化用户(也即判断发起目标域名查询请求的目标用户是否为预设差异化用户),若否执行S65,若是执行S66。
S65,DNS64通用缓存响应(也即确定目标域名查询请求为第一域名查询请求,并由预设缓存空间响应第一域名查询请求)
S66,判断是否为差异化域名(也即判断目标域名是否为预设差异化域名),若否执行S65,若是执行S67。
S66,定制分区缓存响应(也即确定目标域名查询请求为第三域名查询请求,并由定制缓存空间响应第三域名查询请求)。
图7是根据本发明实施例的一种定制化分区更新流程的示意图,如图7所示,地址段若为单栈的差异化地址段,但访问域名为非差异化域名,则由DNS64通用缓存模块响应(也即针对第一域名查询请求由预设缓存空间响应)。当域名为差异化域名时,则向定制分区发起请求(也即针对第三域名查询请求由定制缓存空间响应),如果定制分区请求未命中缓存,定制分区向ECS递归发起请求,授权支持ECS递归,直接发起ECS递归,若不支持ECS递归,则由ECS递归根据策略直接强制解析。
图8是根据本发明实施例的一种为非域名应用提供前缀的示意图,如图8所示,包括:为了方便非域名应用准确获取IPv6前缀,新增了RFC7050业务子流程,此流程主要用于检测DNS64是否运行,及如何找出用于网络连接协议转换的IPv6前缀的方法,非IPv6单栈用户在请求域名ipv4only.arpa.的AAAA记录时直接反馈空消息,普通IPv6单栈用户直接使用通用前缀::+192.0.0.170/192.0.0.170,差异化IPv6单栈用户直接使用约定前缀::+192.0.0.170/192.0.0.170。
可选地,在用户识别方面,地址段若为非单栈地址段(针对双栈用户),直接由公共高速缓存响应,地址段若为单栈的差异化地址段(针对预设差异化用户),且访问域名为差异化域名(如预设差异化域名),则由差异化定制分区缓存(也即定制缓存空间)响应,其他请求由DNS64通用缓存模块(如预设缓存空间)响应。
可选地,在数据同步方面,缓存会主动将公共缓存空间新接收的非空AAAA记录数据同步至DNS64通用缓存空间(也即将公共缓存空间中的第三域名地址同步至预设缓存空间),缓存查找及存储的单位信息为“域名+记录类型”(也即预设域名和预设域名类型),区别于原DNS著名开源软件BIND以域为单位进行存储和查询的方式,DNS64策略执行后,分别记录“域名+A类型”(如预设域名和第二域名类型)的映射结果集(如第二域名地址)和“域名+AAAA类型”(如预设域名和第一域名类型)的映射结果集(如第一域名地址)。
本申请上述实施例,改变传统利用开源递归软件实现DNS64的做法,通过改造高速缓存实现DNS64,既大幅度提升了DNS64的服务能力,又可以共用现有的递归***;实现普通高速缓存与DNS64缓存的融合承载,既节约了设备资源,又提高了高速缓存命中率;利用ECS功能可对VIP客户提供差异化解析,如差异化解析结果、不同IPV6前缀等等,后续可以利用此功能开展部分增值业务;利用缓存分区数据同步技术有效提升了递归解析效率;已经对针对华为的麒麟芯片、统信操作***进行了适配。
本申请上述实施例,从部署效果上,利用智能高速缓存+普通递归+ECS递归的融合承载方案,既满足了普通客户的解析需求,又满足了DNS64以及差异化客户的解析需求;为移动人联网、物联网实现全IPV6化改造提供DNS64服务;为VIP客户提供差异化的解析服务;应用范围广泛,在各级运营商DNS***中均适用;可以有效推进IPV6业务普及的进程。
作为一种可选的示例,先以www.xxxx123.com和www.xxxx456.com两个域名为例,www.xxxx123.com既有对应的A记录(如第二域名类型),又有AAAA记录(如第一域名类型),www.xxxx456.com则仅有A记录(如第二域名类型)。
当普通双栈用户解析www.xxxx123.com时,既可以获得IPv4地址(如第二域名地址),又可活获得IPv6地址(如第一域名地址),此时用户可以通过IPv4(如第二域名地址)或IPv6(如第一域名地址)访问该网站,当此用户解析www.xxxx456.com时,只能获得IPv4地址(如第二域名地址),所以只能通过IPv4地址(如第二域名地址)访问该网站。
可选地,在DNS64+NAT的组网环境下,单栈IPv6用户(如第一单栈用户)在访问www.xxxx123com时,直接访问AAAA解析的IPV6地址(如第一域名地址)即可。而在访问www.xxxx456.com时,则需要DNS64提供相应的IPv6解析结果(如第一域名地址),再由NAT64进行相应的NAT转换。其中DNS64解析过程如下:
1、若是普通用户(如双栈用户或第二单栈用户)访问www.xxxx123.com和www.xxxx456.com这两个域名,直接由高速缓存的公共缓存(如公共缓存空间)给予回应,若未命中缓存,则由通用高速缓存发起递归获取结果后再回应用户(也即在未能在公共缓存空间中查询到第三域名地址的情况下,将第四域名查询请求发送至递归服务器);为提高缓存解析成功率,AAAA非空记录会自动同步一份数据给DNS4缓存(即公共缓存空间和预设缓存空间的同步)。
2、若是IPV6单栈用户(如第一单栈用户)访问www.xxxx123.com时,则由DNS64缓存响应AAAA请求(如第一域名查询请求),若未命中缓存,则由高速缓存发起递归获取结果后再回应用户(即在未能在预设缓存空间中查询到第一域名地址的情况下,将第一域名查询请求发送至递归服务器)。
3、若是IPV6单栈用户(如第一单栈用户)访问www.xxxx456.com时,则由DNS64缓存响应AAAA请求(如第一域名查询请求),若命中缓存,则由高速缓存直接反馈结果,若未命中,则由高速缓存发起AAAA递归查询(即在未能在预设缓存空间中查询到第一域名地址的情况下,将第一域名查询请求发送至递归服务器),DNS64缓存获取递归结果时发现AAAA结果为空(也即递归服务器未能获取第一域名地址),则会发起A记录的递归查询(也即将第一域名请求转换为基于第二域名类型的第二域名查询请求),获得A记录相应后,再使用约定的IPv6前缀来构造AAAA响应报文,构造完成后将结果反馈给用户(也即将第二域名地址转换为第一域名地址),并将结果驻留DNS64缓存(即存入预设缓存空间)。
4、若该单栈用户为VIP保障客户(即预设差异化用户),且www.xxxx456.com为指定的差异化域名(即预设差异化域名),则由专门的定制化缓存分区(即定制缓存空间)进行响应,如果命中缓存则由定制化缓存(即定制缓存空间)直接响应,若未命中缓存,则由高速缓存向ECS递归发起请求,再根据约定进行ECS递归或域名强解。缓存获得递归解析结果后,再根据约定的前缀构建AAAA响应报文,并将结果反馈给客户。针对VIP保障客户DNS64可以对特定域名指定特定的前缀或解析结果。
本申请上述技术方案,实现普通高速缓存与DNS64缓存的融合承载,既节约了设备资源,又提高了高速缓存命中率;利用ECS功能可对VIP客户提供差异化解析,如果差异化解析结果、不同IPv6前缀等等,后续可以利用此功能开展部分增值业务;利用缓存分区数据同步技术有效提升了递归解析效率。
根据本发明实施例,还提供了一种域名查询装置实施例,需要说明的是,该域名查询装置可以用于执行本发明实施例中的域名查询方法,本发明实施例中的域名查询方法可以在该域名查询装置中执行。
图9是根据本发明实施例的一种域名查询装置的示意图,如图9所示,该装置可以包括:获取模块92,用于获取目标域名基于第一域名类型的第一域名查询请求,其中,第一域名查询请求用于指示在预设缓存空间中查询与目标域名和第一域名类型对应的第一域名地址,预设缓存空间用于记录至少一组域名映射关系,每组域名映射关系用于记录一组预设域名和预设域名类型对应的预设域名地址,预设域名类型包括:第一域名类型和第二域名类型,预设域名地址包括:与第一域名类型对应的基于互联网协议第6版IPv6的第一域名地址,和与第一域名类型对应的基于互联网协议第4版IPv4的第二域名地址;类型转换模块94,用于在未能在预设缓存空间中查询到第一域名地址的情况下,将第一域名请求转换为基于第二域名类型的第二域名查询请求,其中,第二域名查询请求用于指示在预设缓存空间中查询与目标域名和第二域名类型对应的第二域名地址;地址转换模块96,用于按照预设算法映射表,将第二域名地址转换为第一域名地址,其中,预设算法映射表用于表示互联网协议第4版IPv4与互联网协议第6版IPv6的域名地址转换关系。
需要说明的是,该实施例中的获取模块92可以用于执行本申请实施例中的步骤S102,该实施例中的类型转换模块94可以用于执行本申请实施例中的步骤S104,该实施例中的地址转换模块96可以用于执行本申请实施例中的步骤S106。上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。
在本发明实施例中,利用预设缓存空间,可以按照“预设域名和预设域名类型”为单位,存储和查询对应的预设域名地址,第一域名查询请求可以是IPv6单栈的域名查询请求,第一域名查询请求的查询结果只能是基于互联网协议第6版IPv6的第一域名地址,进而利用预设缓存空间可以响应第一域名类型的第一域名查询请求,查询基于互联网协议第6版IPv6的第一域名地址,还可以在未能查询到第一域名地址的情况下,将第一域名类型的第一域名查询请求转换为第二域名类型的第二域名查询请求之后,响应第二域名查询请求查询基于互联网协议第4版IPv4的第二域名地址,再利用预设算法映射表将第二域名地址转换为第一域名地址,从而实现了利用预设缓存空间和预设算法映射表可以使仅支持IPv4的业务支持IPv6单栈使用的技术效果,使查询结果可以满足第一域名查询请求,进而解决了现有技术无法使仅支持IPv4的业务支持IPv6单栈使用技术问题。
作为一种可选的实施例,获取模块包括:第一接收单元,用于接收目标域名的目标域名查询请求;第一识别单元,用于识别发起目标域名查询请求的用户类型,其中,用户类型包括:双栈用户、基于互联网协议第6版IPv6的第一单栈用户,和基于互联网协议第4版IPv4的第二单栈用户;第一确定单元,用于在用户类型为第一单栈用户的情况下,确定目标域名查询请求为第一域名查询请求。
作为一种可选的实施例,在用户类型为第一单栈用户的情况下,装置还包括:第一判断单元,用于判断发起目标域名查询请求的目标用户是否为预设差异化用户;第二判断单元,用于在目标用户为预设差异化用户的情况下,判断目标域名是否为预设差异化域名;第二确定单元,用于在目标域名为预设差异化域名的情况下,确定目标域名查询请求为第三域名查询请求,其中,第三域名查询请求用于指示在定制缓存空间中查询与目标域名和第一域名类型对应的第一域名地址,定制缓存空间与预设缓存空间相同。
作为一种可选的实施例,装置还包括:第三确定单元,用于在识别发起目标域名查询请求的用户类型之后,在用户类型为双栈用户或第二单栈用户的情况下,确定目标域名查询请求为第四域名查询请求;查询单元,用于响应第四域名查询请求,在公共缓存空间中查询与目标域名对应的第三域名地址,其中,公共缓存空间用于记录至少一个预设域名和第三域名地址的对应关系,第三域名地址包括:与第一域名类型对应的基于互联网协议第4版IPv4的一类第三域名地址,和与第二域名类型对应的基于互联网协议第6版IPv6的二类第三域名地址。
作为一种可选的实施例,装置还包括:发送单元,用于在未能在公共缓存空间中查询到第三域名地址的情况下,将第四域名查询请求发送至递归服务器,其中,递归服务器用于解析第四域名查询请求获取第三域名地址;第二接收单元,用于接收递归服务器返回的第三域名地址;第一存储单元,用于将目标域名和对应的第三域名地址存入公共缓存空间。
作为一种可选的实施例,装置还包括:第一获取单元,用于获取公共缓存空间中存储的至少一个预设域名,和对应的第三域名地址;第二识别单元,用于识别第三域名地址对应的预设域名类型;第二存储单元,用于将每个第三域名地址与对应的预设域名和预设域名类型,确定为一组域名映射关系存入预设缓存空间。
作为一种可选的实施例,类型转换模块包括:第一发送子模块,用于在未能在预设缓存空间中查询到第一域名地址的情况下,将第一域名查询请求发送至递归服务器,其中,递归服务器用于解析第一域名查询请求获取第一域名地址;类型转换子模块,用于在递归服务器未能获取第一域名地址的情况下,将第一域名请求转换为基于第二域名类型的第二域名查询请求。
作为一种可选的实施例,装置还包括:第一接收子模块,用于在将第一域名查询请求发送至递归服务器之后,接收递归服务器返回的第一域名地址;第一识别子模块,用于识别第一域名地址对应的预设域名类型为第一域名类型;第一存储子模块,用于将每个第一域名地址与对应的预设域名和第一域名类型,确定为一组域名映射关系存入预设缓存空间。
作为一种可选的实施例,地址转换模块包括:第二获取单元,用于获取第二域名地址,其中,第二域名地址的地址数位为32位;添加单元,用于根据预设算法映射表在第二域名地址前添加预设地址前缀,得到目标域名地址;检测单元,用于检测目标域名地址的地址数位是否达到预设地址数位,其中,预设地址数位为128位;补充单元,用于在检测目标域名地址的地址数位未达到预设地址数位的情况下,在目标域名地址的末位补充预设数值,直到达到预设地址数位;第四确定单元,用于确定达到预设地址数位的目标域名地址为第一域名地址。
作为一种可选的实施例,装置还包括:第二发送子模块,用于在未能在预设缓存空间中查询到第二域名地址的情况下,将第二域名查询请求发送至递归服务器,其中,递归服务器用于解析第二域名查询请求获取第二域名地址;第二接收子模块,用于接收递归服务器返回的第二域名地址;第一地址转换子模块,用于按照预设算法映射表,将第二域名地址转换为所述第一域地址。
作为一种可选的实施例,装置还包括:第二识别子模块,用于在接收递归服务器返回的第二域名地址之后,识别第二域名地址对应的预设域名类型为第二域名类型;第二存储子模块,用于将每个第二域名地址与对应的预设域名和第二域名类型,确定为一组域名映射关系存入预设缓存空间。
作为一种可选的实施例,装置还包括:第二地址转换子模块,用于在接收所述递归服务器返回的所述第二域名地址之后,按照预设算法映射表,将第二域名地址转换为所述第一域名地址;第三识别子模块,用于识别第一域名地址对应的预设域名类型为第一域名类型;第三存储子模块,用于将每个第一域名地址与对应的预设域名和第一域名类型,确定为一组域名映射关系存入预设缓存空间。
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行域名查询方法中以下步骤的程序代码:获取目标域名基于第一域名类型的第一域名查询请求,其中,第一域名查询请求用于指示在预设缓存空间中查询与目标域名和第一域名类型对应的第一域名地址,预设缓存空间用于记录至少一组域名映射关系,每组域名映射关系用于记录一组预设域名和预设域名类型对应的预设域名地址,预设域名类型包括:第一域名类型和第二域名类型,预设域名地址包括:与第一域名类型对应的基于互联网协议第6版IPv6的第一域名地址,和与第一域名类型对应的基于互联网协议第4版IPv4的第二域名地址;在未能在预设缓存空间中查询到第一域名地址的情况下,将第一域名请求转换为基于第二域名类型的第二域名查询请求,其中,第二域名查询请求用于指示在预设缓存空间中查询与目标域名和第二域名类型对应的第二域名地址;按照预设算法映射表,将第二域名地址转换为第一域名地址,其中,预设算法映射表用于表示互联网协议第4版IPv4与互联网协议第6版IPv6的域名地址转换关系。
可选地,图10是根据本发明实施例的一种计算机终端的结构框图。如图10所示,该计算机终端1000可以包括:一个或多个(图中仅示出一个)处理器1002、和存储器1004。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的域名查询方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的域名查询方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取目标域名基于第一域名类型的第一域名查询请求,其中,第一域名查询请求用于指示在预设缓存空间中查询与目标域名和第一域名类型对应的第一域名地址,预设缓存空间用于记录至少一组域名映射关系,每组域名映射关系用于记录一组预设域名和预设域名类型对应的预设域名地址,预设域名类型包括:第一域名类型和第二域名类型,预设域名地址包括:与第一域名类型对应的基于互联网协议第6版IPv6的第一域名地址,和与第一域名类型对应的基于互联网协议第4版IPv4的第二域名地址;在未能在预设缓存空间中查询到第一域名地址的情况下,将第一域名请求转换为基于第二域名类型的第二域名查询请求,其中,第二域名查询请求用于指示在预设缓存空间中查询与目标域名和第二域名类型对应的第二域名地址;按照预设算法映射表,将第二域名地址转换为第一域名地址,其中,预设算法映射表用于表示互联网协议第4版IPv4与互联网协议第6版IPv6的域名地址转换关系。
可选的,上述处理器还可以执行如下步骤的程序代码:接收目标域名的目标域名查询请求;识别发起目标域名查询请求的用户类型,其中,用户类型包括:双栈用户、基于互联网协议第6版IPv6的第一单栈用户,和基于互联网协议第4版IPv4的第二单栈用户;在用户类型为第一单栈用户的情况下,确定目标域名查询请求为第一域名查询请求。
可选的,上述处理器还可以执行如下步骤的程序代码:在用户类型为第一单栈用户的情况下,判断发起目标域名查询请求的目标用户是否为预设差异化用户;在目标用户为预设差异化用户的情况下,判断目标域名是否为预设差异化域名;在目标域名为预设差异化域名的情况下,确定目标域名查询请求为第三域名查询请求,其中,第三域名查询请求用于指示在定制缓存空间中查询与目标域名和第一域名类型对应的第一域名地址,定制缓存空间与预设缓存空间相同。
可选的,上述处理器还可以执行如下步骤的程序代码:在识别发起目标域名查询请求的用户类型之后,在用户类型为双栈用户或第二单栈用户的情况下,确定目标域名查询请求为第四域名查询请求;响应第四域名查询请求,在公共缓存空间中查询与目标域名对应的第三域名地址,其中,公共缓存空间用于记录至少一个预设域名和第三域名地址的对应关系,第三域名地址包括:与第一域名类型对应的基于互联网协议第4版IPv4的一类第三域名地址,和与第二域名类型对应的基于互联网协议第6版IPv6的二类第三域名地址。
可选的,上述处理器还可以执行如下步骤的程序代码:在未能在公共缓存空间中查询到第三域名地址的情况下,将第四域名查询请求发送至递归服务器,其中,递归服务器用于解析第四域名查询请求获取第三域名地址;接收递归服务器返回的第三域名地址;将目标域名和对应的第三域名地址存入公共缓存空间。
可选的,上述处理器还可以执行如下步骤的程序代码:获取公共缓存空间中存储的至少一个预设域名,和对应的第三域名地址;识别第三域名地址对应的预设域名类型;将每个第三域名地址与对应的预设域名和预设域名类型,确定为一组域名映射关系存入预设缓存空间。
可选的,上述处理器还可以执行如下步骤的程序代码:在未能在预设缓存空间中查询到第一域名地址的情况下,将第一域名查询请求发送至递归服务器,其中,递归服务器用于解析第一域名查询请求获取第一域名地址;在递归服务器未能获取第一域名地址的情况下,将第一域名请求转换为基于第二域名类型的第二域名查询请求。
可选的,上述处理器还可以执行如下步骤的程序代码:在将第一域名查询请求发送至递归服务器之后,接收递归服务器返回的第一域名地址;识别第一域名地址对应的预设域名类型为第一域名类型;将每个第一域名地址与对应的预设域名和第一域名类型,确定为一组域名映射关系存入预设缓存空间。
可选的,上述处理器还可以执行如下步骤的程序代码:获取第二域名地址,其中,第二域名地址的地址数位为32位;根据预设算法映射表在第二域名地址前添加预设地址前缀,得到目标域名地址;检测目标域名地址的地址数位是否达到预设地址数位,其中,预设地址数位为128位;在检测目标域名地址的地址数位未达到预设地址数位的情况下,在目标域名地址的末位补充预设数值,直到达到预设地址数位;确定达到预设地址数位的目标域名地址为第一域名地址。
可选的,上述处理器还可以执行如下步骤的程序代码:在未能在预设缓存空间中查询到第二域名地址的情况下,将第二域名查询请求发送至递归服务器,其中,递归服务器用于解析第二域名查询请求获取第二域名地址;接收递归服务器返回的第二域名地址;按照预设算法映射表,将第二域名地址转换为第一域名地址。
可选的,上述处理器还可以执行如下步骤的程序代码:在接收递归服务器返回的第二域名地址之后,识别第二域名地址对应的预设域名类型为第二域名类型;将每个第二域名地址与对应的预设域名和第二域名类型,确定为一组域名映射关系存入预设缓存空间。
可选的,上述处理器还可以执行如下步骤的程序代码:在接收递归服务器返回的第二域名地址之后,识别第一域名地址对应的预设域名类型为第一域名类型;将每个第一域名地址与对应的预设域名和第一域名类型,确定为一组域名映射关系存入预设缓存空间。
采用本发明实施例,提供了一种域名查询的方案。利用预设缓存空间,可以按照“预设域名和预设域名类型”为单位,存储和查询对应的预设域名地址,第一域名查询请求可以是IPv6单栈的域名查询请求,第一域名查询请求的查询结果只能是基于互联网协议第6版IPv6的第一域名地址,进而利用预设缓存空间可以响应第一域名类型的第一域名查询请求,查询基于互联网协议第6版IPv6的第一域名地址,还可以在未能查询到第一域名地址的情况下,将第一域名类型的第一域名查询请求转换为第二域名类型的第二域名查询请求之后,响应第二域名查询请求查询基于互联网协议第4版IPv4的第二域名地址,再利用预设算法映射表将第二域名地址转换为第一域名地址,从而实现了利用预设缓存空间和预设算法映射表可以使仅支持IPv4的业务支持IPv6单栈使用的技术效果,使查询结果可以满足第一域名查询请求,进而解决了现有技术无法使仅支持IPv4的业务支持IPv6单栈使用技术问题。
本领域普通技术人员可以理解,图10所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图10其并不对上述电子装置的结构造成限定。例如,计算机终端1000还可包括比图10中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图10所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一非易失性介质中,非易失性存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
本发明的实施例还提供了一种非易失性存储介质。可选地,在本实施例中,上述非易失性存储介质可以用于保存上述实施例所提供的域名查询方法所执行的程序代码。
可选地,在本实施例中,上述非易失性存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:获取目标域名基于第一域名类型的第一域名查询请求,其中,第一域名查询请求用于指示在预设缓存空间中查询与目标域名和第一域名类型对应的第一域名地址,预设缓存空间用于记录至少一组域名映射关系,每组域名映射关系用于记录一组预设域名和预设域名类型对应的预设域名地址,预设域名类型包括:第一域名类型和第二域名类型,预设域名地址包括:与第一域名类型对应的基于互联网协议第6版IPv6的第一域名地址,和与第一域名类型对应的基于互联网协议第4版IPv4的第二域名地址;在未能在预设缓存空间中查询到第一域名地址的情况下,将第一域名请求转换为基于第二域名类型的第二域名查询请求,其中,第二域名查询请求用于指示在预设缓存空间中查询与目标域名和第二域名类型对应的第二域名地址;按照预设算法映射表,将第二域名地址转换为第一域名地址,其中,预设算法映射表用于表示互联网协议第4版IPv4与互联网协议第6版IPv6的域名地址转换关系。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:接收目标域名的目标域名查询请求;识别发起目标域名查询请求的用户类型,其中,用户类型包括:双栈用户、基于互联网协议第6版IPv6的第一单栈用户,和基于互联网协议第4版IPv4的第二单栈用户;在用户类型为第一单栈用户的情况下,确定目标域名查询请求为第一域名查询请求。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:在用户类型为第一单栈用户的情况下,判断发起目标域名查询请求的目标用户是否为预设差异化用户;在目标用户为预设差异化用户的情况下,判断目标域名是否为预设差异化域名;在目标域名为预设差异化域名的情况下,确定目标域名查询请求为第三域名查询请求,其中,第三域名查询请求用于指示在定制缓存空间中查询与目标域名和第一域名类型对应的第一域名地址,定制缓存空间与预设缓存空间相同。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:在识别发起目标域名查询请求的用户类型之后,在用户类型为双栈用户或第二单栈用户的情况下,确定目标域名查询请求为第四域名查询请求;响应第四域名查询请求,在公共缓存空间中查询与目标域名对应的第三域名地址,其中,公共缓存空间用于记录至少一个预设域名和第三域名地址的对应关系,第三域名地址包括:与第一域名类型对应的基于互联网协议第4版IPv4的一类第三域名地址,和与第二域名类型对应的基于互联网协议第6版IPv6的二类第三域名地址。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:在未能在公共缓存空间中查询到第三域名地址的情况下,将第四域名查询请求发送至递归服务器,其中,递归服务器用于解析第四域名查询请求获取第三域名地址;接收递归服务器返回的第三域名地址;将目标域名和对应的第三域名地址存入公共缓存空间。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:获取公共缓存空间中存储的至少一个预设域名,和对应的第三域名地址;识别第三域名地址对应的预设域名类型;将每个第三域名地址与对应的预设域名和预设域名类型,确定为一组域名映射关系存入预设缓存空间。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:在未能在预设缓存空间中查询到第一域名地址的情况下,将第一域名查询请求发送至递归服务器,其中,递归服务器用于解析第一域名查询请求获取第一域名地址;在递归服务器未能获取第一域名地址的情况下,将第一域名请求转换为基于第二域名类型的第二域名查询请求。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:在将第一域名查询请求发送至递归服务器之后,接收递归服务器返回的第一域名地址;识别第一域名地址对应的预设域名类型为第一域名类型;将每个第一域名地址与对应的预设域名和第一域名类型,确定为一组域名映射关系存入预设缓存空间。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:获取第二域名地址,其中,第二域名地址的地址数位为32位;根据预设算法映射表在第二域名地址前添加预设地址前缀,得到目标域名地址;检测目标域名地址的地址数位是否达到预设地址数位,其中,预设地址数位为128位;在检测目标域名地址的地址数位未达到预设地址数位的情况下,在目标域名地址的末位补充预设数值,直到达到预设地址数位;确定达到预设地址数位的目标域名地址为第一域名地址。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:在未能在预设缓存空间中查询到第二域名地址的情况下,将第二域名查询请求发送至递归服务器,其中,递归服务器用于解析第二域名查询请求获取第二域名地址;接收递归服务器返回的第二域名地址。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:接收递归服务器返回的第二域名地址,识别第二域名地址对应的预设域名类型为第二域名类型;将每个第二域名地址与对应的预设域名和第二域名类型,确定为一组域名映射关系存入预设缓存空间。
可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:在按照预设算法映射表,将第二域名地址转换为第一域名地址之后,识别第一域名地址对应的预设域名类型为第一域名类型;将每个第一域名地址与对应的预设域名和第一域名类型,确定为一组域名映射关系存入预设缓存空间。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个非易失性存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的非易失性存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种域名查询方法,其特征在于,包括:
获取目标域名基于第一域名类型的第一域名查询请求,其中,所述第一域名查询请求用于指示在预设缓存空间中查询与所述目标域名和所述第一域名类型对应的第一域名地址,所述预设缓存空间用于记录至少一组域名映射关系,每组域名映射关系用于记录一组预设域名和预设域名类型对应的预设域名地址,所述预设域名类型包括:第一域名类型和第二域名类型,所述预设域名地址包括:与所述第一域名类型对应的基于互联网协议第6版IPv6的第一域名地址,和与所述第一域名类型对应的基于互联网协议第4版IPv4的第二域名地址;
在未能在所述预设缓存空间中查询到所述第一域名地址的情况下,将所述第一域名请求转换为基于第二域名类型的第二域名查询请求,其中,所述第二域名查询请求用于指示在所述预设缓存空间中查询与所述目标域名和所述第二域名类型对应的所述第二域名地址;
按照预设算法映射表,将所述第二域名地址转换为所述第一域名地址,其中,所述预设算法映射表用于表示互联网协议第4版IPv4与互联网协议第6版IPv6的域名地址转换关系。
2.根据权利要求1所述的方法,其特征在于,获取目标域名基于第一域名类型的第一域名查询请求包括:
接收所述目标域名的目标域名查询请求;
识别发起所述目标域名查询请求的用户类型,其中,所述用户类型包括:双栈用户、基于互联网协议第6版IPv6的第一单栈用户,和基于互联网协议第4版IPv4的第二单栈用户;
在所述用户类型为所述第一单栈用户的情况下,确定所述目标域名查询请求为所述第一域名查询请求。
3.根据权利要求2所述的方法,其特征在于,在所述用户类型为所述第一单栈用户的情况下,所述方法还包括:
判断发起所述目标域名查询请求的目标用户是否为预设差异化用户;
在所述目标用户为所述预设差异化用户的情况下,判断所述目标域名是否为预设差异化域名;
在所述目标域名为所述预设差异化域名的情况下,确定所述目标域名查询请求为第三域名查询请求,其中,所述第三域名查询请求用于指示在定制缓存空间中查询与所述目标域名和所述第一域名类型对应的第一域名地址,所述定制缓存空间与所述预设缓存空间相同。
4.根据权利要求2所述的方法,其特征在于,在识别发起所述目标域名查询请求的用户类型之后,所述方法还包括:
在所述用户类型为所述双栈用户或所述第二单栈用户的情况下,确定所述目标域名查询请求为第四域名查询请求;
响应所述第四域名查询请求,在公共缓存空间中查询与所述目标域名对应的第三域名地址,其中,所述公共缓存空间用于记录至少一个预设域名和第三域名地址的对应关系,所述第三域名地址包括:与所述第一域名类型对应的基于互联网协议第4版IPv4的一类第三域名地址,和与所述第二域名类型对应的基于互联网协议第6版IPv6的二类第三域名地址。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在未能在所述公共缓存空间中查询到所述第三域名地址的情况下,将所述第四域名查询请求发送至递归服务器,其中,所述递归服务器用于解析所述第四域名查询请求获取所述第三域名地址;
接收所述递归服务器返回的所述第三域名地址;
将所述目标域名和对应的第三域名地址存入所述公共缓存空间。
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
获取所述公共缓存空间中存储的至少一个预设域名,和对应的所述第三域名地址;
识别所述第三域名地址对应的所述预设域名类型;
将每个所述第三域名地址与对应的所述预设域名和所述预设域名类型,确定为一组所述域名映射关系存入所述预设缓存空间。
7.根据权利要求1所述的方法,其特征在于,在未能在所述预设缓存空间中查询到所述第一域名地址的情况下,将所述第一域名请求转换为基于第二域名类型的第二域名查询请求包括:
在未能在所述预设缓存空间中查询到所述第一域名地址的情况下,将所述第一域名查询请求发送至递归服务器,其中,所述递归服务器用于解析所述第一域名查询请求获取所述第一域名地址;
在所述递归服务器未能获取所述第一域名地址的情况下,将所述第一域名请求转换为基于第二域名类型的第二域名查询请求。
8.根据权利要求7所述的方法,其特征在于,在将所述第一域名查询请求发送至递归服务器之后,所述方法还包括:
接收所述递归服务器返回的所述第一域名地址;
识别所述第一域名地址对应的所述预设域名类型为所述第一域名类型;
将每个所述第一域名地址与对应的所述预设域名和所述第一域名类型,确定为一组所述域名映射关系存入所述预设缓存空间。
9.根据权利要求1所述的方法,其特征在于,按照预设算法映射表,将所述第二域名地址转换为所述第一域名地址包括:
获取所述第二域名地址,其中,所述第二域名地址的地址数位为32位;
根据所述预设算法映射表在所述第二域名地址前添加预设地址前缀,得到目标域名地址;
检测所述目标域名地址的地址数位是否达到预设地址数位,其中,所述预设地址数位为128位;
在所述检测所述目标域名地址的地址数位未达到所述预设地址数位的情况下,在所述目标域名地址的末位补充预设数值,直到达到所述预设地址数位;
确定达到所述预设地址数位的所述目标域名地址为所述第一域名地址。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在未能在所述预设缓存空间中查询到所述第二域名地址的情况下,将所述第二域名查询请求发送至递归服务器,其中,所述递归服务器用于解析所述第二域名查询请求获取所述第二域名地址;
接收所述递归服务器返回的所述第二域名地址;
按照预设算法映射表,将所述第二域名地址转换为所述第一域名地址。
11.根据权利要求10所述的方法,其特征在于,在接收所述递归服务器返回的所述第二域名地址之后,所述方法还包括:
识别所述第二域名地址对应的所述预设域名类型为所述第二域名类型;
将每个所述第二域名地址与对应的所述预设域名和所述第二域名类型,确定为一组所述域名映射关系存入所述预设缓存空间。
12.根据权利要求10所述的方法,其特征在于,在接收所述递归服务器返回的所述第二域名地址之后,所述方法还包括:
按照预设算法映射表,将所述第二域名地址转换为所述第一域名地址;
识别所述第一域名地址对应的所述预设域名类型为所述第一域名类型;
将每个所述第一域名地址与对应的所述预设域名和所述第一域名类型,确定为一组所述域名映射关系存入所述预设缓存空间。
13.一种域名查询装置,其特征在于,包括:
获取模块,用于获取目标域名基于第一域名类型的第一域名查询请求,其中,所述第一域名查询请求用于指示在预设缓存空间中查询与所述目标域名和所述第一域名类型对应的第一域名地址,所述预设缓存空间用于记录至少一组域名映射关系,每组域名映射关系用于记录一组预设域名和预设域名类型对应的预设域名地址,所述预设域名类型包括:第一域名类型和第二域名类型,所述预设域名地址包括:与所述第一域名类型对应的基于互联网协议第6版IPv6的第一域名地址,和与所述第一域名类型对应的基于互联网协议第4版IPv4的第二域名地址;
类型转换模块,用于在未能在所述预设缓存空间中查询到所述第一域名地址的情况下,将所述第一域名请求转换为基于第二域名类型的第二域名查询请求,其中,所述第二域名查询请求用于指示在所述预设缓存空间中查询与所述目标域名和所述第二域名类型对应的所述第二域名地址;
地址转换模块,用于按照预设算法映射表,将所述第二域名地址转换为所述第一域名地址,其中,所述预设算法映射表用于表示互联网协议第4版IPv4与互联网协议第6版IPv6的域名地址转换关系。
14.一种非易失性存储介质,其特征在于,所述非易失性存储介质用于存储程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至12中任意一项所述域名查询方法。
15.一种电子设备,其特征在于,包括:存储器和处理器,所述处理器用于运行存储在所述处理器中的程序,其中,所述程序运行时执行权利要求1至12中任意一项所述域名查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310946774.2A CN116800718A (zh) | 2023-07-28 | 2023-07-28 | 域名查询方法、装置、非易失性存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310946774.2A CN116800718A (zh) | 2023-07-28 | 2023-07-28 | 域名查询方法、装置、非易失性存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116800718A true CN116800718A (zh) | 2023-09-22 |
Family
ID=88034938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310946774.2A Pending CN116800718A (zh) | 2023-07-28 | 2023-07-28 | 域名查询方法、装置、非易失性存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116800718A (zh) |
-
2023
- 2023-07-28 CN CN202310946774.2A patent/CN116800718A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12015971B2 (en) | Methods for processing encrypted domain name server, DNS, queries received from user equipment in a telecommunication network | |
US7373426B2 (en) | Network system using name server with pseudo host name and pseudo IP address generation function | |
CN103262503B (zh) | 分组核心网络中的节点选择方法和设备 | |
US8161135B2 (en) | Device identification number based name service | |
CN107786678B (zh) | 域名解析方法、装置及*** | |
US10470017B2 (en) | Identity information processing method, database control system, and related device | |
CN107360270B (zh) | 一种dns解析的方法及装置 | |
JP4699530B2 (ja) | サービスアドレス指定のための方法、システム、およびアプリケーション | |
CN110933156A (zh) | 一种域名解析的方法及装置 | |
CN112235408A (zh) | 网络***、反向代理方法及反向代理服务器 | |
CN103685584A (zh) | 一种基于隧道技术的反域名劫持方法和*** | |
US20230083671A1 (en) | Domain Name System Services for Variable-Length Address Networks | |
CN101651718B (zh) | 一种改变ip流量所用协议栈的方法和*** | |
CN112887441B (zh) | 一种域名解析方法、终端和dns服务器 | |
JP3692107B2 (ja) | 名前解決装置及び名前解決方法 | |
CN111988441B (zh) | 基于IPv6的组网接入方法及*** | |
CN101938789B (zh) | 选择具有指定能力的分组网络网关的方法及*** | |
CN110677512B (zh) | 一种地址解析方法及装置 | |
CN110035134B (zh) | 网络地址转换方法、装置及接入设备 | |
JP6484166B2 (ja) | 名前解決装置、名前解決方法及び名前解決プログラム | |
CN117220903A (zh) | 一种针对私有网络的安全访问方法及*** | |
CN116800718A (zh) | 域名查询方法、装置、非易失性存储介质及电子设备 | |
CN111147621B (zh) | 一种支持外网用户进行IPv6业务访问的方法 | |
KR102185665B1 (ko) | All-IP 환경에서 IPv6 주소 기반의 통신을 위한 사용자 식별 서버, 단말, 방법, 및 기록 매체 | |
CN114095471A (zh) | 地址转换方法、装置以及地址溯源方法、装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |