CN104170356B - 一种处理域名请求的方法及设备 - Google Patents
一种处理域名请求的方法及设备 Download PDFInfo
- Publication number
- CN104170356B CN104170356B CN201380004217.3A CN201380004217A CN104170356B CN 104170356 B CN104170356 B CN 104170356B CN 201380004217 A CN201380004217 A CN 201380004217A CN 104170356 B CN104170356 B CN 104170356B
- Authority
- CN
- China
- Prior art keywords
- records
- aaaa
- domain name
- dns server
- user equipment
- 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.)
- Active
Links
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]
Abstract
本发明实施例公开了一种处理域名请求的方法及设备,通过扩展域名请求的类型或者在域名请求中配置用户设备的设备类型,使得DNS服务器能够感知用户设备的请求意愿或设备类型,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。此外,接入网关不需要针对不同类型的用户设备将域名请求分配给不同的DNS服务器,降低了接入网关分配DNS服务器的配置复杂度和分配处理复杂度,便于网络部署。
Description
技术领域
本发明属于通信领域,尤其涉及一种处理域名请求的方法及设备。
背景技术
随着互联网技术的发展,IPv4(Internet Protocol version4,互联网协议版本4)地址已经耗尽,越来越多的用户迁移到IPv6(Internet Protocol version6,互联网协议版本6)网络中。然而,由于历史原因,接入到网络中的用户设备可能是具备IPv4地址的IPv4设备,也可能是具备IPv6地址的IPv6设备,还可能是同时具备IPv4地址和IPv6地址的双栈设备;同时地,网络侧既包含具备IPv6地址的IPv6服务器,也存在大量的、仅具备IPv4地址而没有IPv6地址的IPv4服务器。
为了实现IPv6设备对IPv4服务器的访问,可在网络中部署NAT64(NetworkAddress Translation:IPv6to IPv4,IPv6到IPv4的网络地址转换)服务器和DNS64(DomainName System for NAT64,NAT64的域名系统)服务器,DNS64服务器和NAT64服务器上均配置有IPv6前缀。
相应地,IPv6设备访问IPv4服务器时,发送域名请求到DNS64服务器,请求IPv4服务器的IPv6地址,该域名请求为AAAA记录请求;DNS64服务器根据接收到的AAAA记录请求中包含的域名,查询与该域名对应的AAAA记录(即IPv6地址);由于IPv6设备访问的IPv4服务器没有IPv6地址,DNS64服务器查询不到AAAA记录,接着查询与上述域名对应的A记录(即IPv4地址),根据查询到的A记录和预先配置的IPv6前缀生成一个AAAA记录,并将该AAAA记录返回给IPv6设备;IPv6设备根据接收到的AAAA记录生成IPv6报文,并将该IPv6报文发送给NAT64服务器;NAT64服务器根据预先配置的IPv6前缀将接收到的IPv6报文转换为对应的IPv4报文,将转换得到的IPv4报文转发给IPv4服务器,并在接收到来自IPv4服务器的IPv4报文后,将该IPv4报文转换为IPv6报文,并将转换得到IPv6报文转发给IPv6设备,从而实现IPv6设备对IPv4服务器的访问。
同样地,为了实现IPv4设备对IPv6服务器的访问,可在网络中部署NAT46(NetworkAddress Translation:IPv4to IPv6,IPv4到IPv6的网络地址转换)服务器和DNS46(DomainName System for NAT46,NAT46的域名系统)服务器,DNS46服务器和NAT46服务器上均配置有IPv6前缀。
相应地,IPv4设备访问IPv6服务器时,发送域名请求到DNS46服务器,请求IPv6服务器的IPv4地址,该域名请求为A记录请求;DNS46服务器根据接收到的A记录请求中包含的域名,查询与该域名对应的A记录;由于IPv4设备访问的IPv6服务器没有IPv4地址,DNS46服务器查询不到A记录后,接着查询与上述域名对应的AAAA记录,根据查询到的AAAA记录和预先配置的IPv6前缀生成一个A记录,并将该A记录返回给IPv4设备;IPv4设备根据接收到的A记录生成IPv4报文,并将该IPv4报文发送给NAT46服务器;NAT46服务器根据预先配置的IPv6前缀将接收到的IPv4报文转换为对应的IPv6报文,将转换得到的IPv6报文转发给IPv6服务器,并在接收到来自IPv6服务器的IPv6报文后,将该IPv6报文转换为IPv4报文,并将转换得到IPv4报文转发给IPv4设备,从而实现IPv4设备对IPv6服务器的访问。
现有技术中,可以将DNS64服务器和DNS46服务器的功能集成到普通的DNS服务器中,也可以在网络中部署独立的DNS服务器、DNS64服务器和DNS46服务器。
由于DNS协议的限制,用户设备在接入过程中发起的域名请求仅包含A记录请求或AAAA记录请求两种该类型,DNS64服务器只能根据与域名请求中的域名对应的查询结果以及本地配置确定返回原始的AAAA记录或生成的AAAA记录,DNS46服务器只能根据与域名请求中的域名对应的查询结果以及本地配置确定返回原始的A记录或生成的A记录。
当同时具备IPv4地址和IPv6地址的用户设备针对IPv4服务器发起AAAA记录请求时,DNS64服务器会向该用户设备返回根据IPv6前缀生成的AAAA记录,用户设备使用该AAAA记录访问网络,导致DNS64服务器盲目地执行不必要的、查询和生成AAAA记录的操作,以及NAT64服务器盲目地执行不必要的网络地址转换操作,对DNS64服务器和NAT64服务器的提出了更高的性能需求。
类似地,当同时具备IPv4地址和IPv6地址的用户设备针对IPv6服务器发起A记录请求时,DNS46服务器会向该用户设备返回根据IPv6前缀生成的A记录,用户设备使用该A记录访问网络时,导致DNS46服务器盲目地执行不必要的、查询和生成A记录的操作,以及NAT46服务器盲目地执行不必要的网络地址转换操作,对DNS46服务器和NAT46服务器的提出了更高的性能需求。
发明内容
本发明实施例的目的在于提供一种处理域名请求的方法及设备,以解决现有技术中盲目查询和生成A记录和AAAA记录,以及盲目地执行不必要的网络地址转换的缺陷。
本发明实施例提供了一种接入网关,包括:
存储模块,用于存储配置信息;
接收模块,用于接收来自用户设备的域名请求和来自域名系统DNS服务器的应答消息;
修改模块,用于根据所述用户设备的设备类型以及所述存储模块存储的配置信息,对所述接收模块接收到的域名请求进行修改;
发送模块,用于将所述修改模块修改后的域名请求发送给所述DNS服务器,将所述应答消息发送给所述用户设备。
优选地,所述存储模块,包括:
第一存储子模块,用于存储第一配置信息;
所述修改模块,包括:
第一修改子模块,用于当所述用户设备的设备类型为互联网协议版本IPv4设备时,根据所述第一存储子模块存储的第一配置信息,将所述域名请求的类型由AAAA记录优先请求或AAAA记录请求,修改为A记录请求或A记录优先请求。
优选地,所述存储模块,包括:
第二存储子模块,用于存储第二配置信息;
所述修改模块,包括:
第二修改子模块,用于当所述用户设备的设备类型为IPv4设备时,根据所述第二存储子模块存储的第二配置信息,将所述域名请求的类型由AAAA记录优先请求或AAAA记录请求,修改为A记录优先请求。
优选地,所述存储模块,包括:
第三存储子模块,用于存储第三配置信息;
所述修改模块,包括:
第三修改子模块,用于当所述用户设备的设备类型为双栈设备时,根据所述第三存储子模块存储的第三配置信息,将所述域名请求的类型由A记录优先请求或A记录请求,修改为AAAA记录优先请求;
当所述用户设备的设备类型为IPv6设备时,根据所述第三存储子模块存储的第三配置信息,将所述域名请求由AAAA记录优先请求修改为AAAA记录请求。
优选地,所述存储模块,包括:
第四存储子模块,用于存储第四配置信息;
所述修改模块,包括:
第四修改子模块,用于当所述用户设备的设备类型为双栈设备时,根据所述第四存储子模块存储的第四配置信息,将所述域名请求的类型由A记录优先请求或A记录请求修改为AAAA记录优先请求或双栈记录请求,或者,将所述域名请求的类型由AAAA记录请求修改为AAAA记录优先请求。
优选地,所述接收模块,还用于接收来自所述用户设备的接入请求;
所述接入网关,还包括:
分配模块,用于为所述用户设备分配网络地址,记录所述用户设备的网络地址类型;
确定模块,用于根据所述分配模块记录的所述网络地址类型确定所述用户设备的设备类型;
所述发送模块,还用于向所述用户设备返回所述分配模块分配给所述用户设备的网络地址。
优选地,所述确定模块,具体用于当所述用户设备的网络地址类型为IPv4地址时,确定所述用户设备的设备类型为IPv4设备;
当所述用户设备的网络地址类型为IPv6地址时,确定所述用户设备的设备类型为IPv6设备;
当所述用户设备的网络地址类型为双栈地址时,确定所述用户设备的设备类型为双栈设备。
本发明实施例还提供了一种接入网关,包括处理器、通信接口、存储器和总线,所述处理器、所述通信接口、所述存储器通过所述总线完成相互之间的通信;
所述通信接口,用于与用户设备和域名系统DNS服务器进行通信;
所述处理器,用于执行程序;
所述存储器,用于存放所述程序;
其中,所述程序用于接收来自所述用户设备的域名请求和来自域名系统DNS服务器的应答消息,根据所述用户设备的设备类型以及所述接入网关中预置的配置信息,对所述域名请求进行修改,并将修改后的域名请求发送给所述DNS服务器,将所述应答消息发送给所述用户设备。
本发明实施例还提供了一种域名系统DNS服务器,包括:
存储模块,用于存储配置信息;
接收模块,用于接收来自接入网关的域名请求;
处理模块,用于根据所述接收模块接收到的域名请求的类型和所述配置信息,对所述域名请求进行处理。
优选地,所述处理模块,具体用于根据所述接收模块接收到的域名请求的类型和所述配置信息,对所述域名请求进行应答处理,根据处理结果生成应答消息;
所述DNS服务器,还包括:
发送模块,用于将所述处理模块生成的所述应答消息发送给用户设备。
优选地,所述存储模块,包括:
第一存储子模块,用于存储第六配置信息;
所述接收模块,包括:
第一接收子模块,用于接收来自所述接入网关的A记录请求;
所述处理模块,包括:
第一查询子模块,用于根据所述第一接收子模块接收到的所述A记录请求中包含的域名查询对应的A记录;
第一判断子模块,用于在所述第一查询子模块没有查询到A记录时,根据所述第六配置信息判断所述DNS服务器是否具备根据AAAA记录生成A记录的功能;
第二查询子模块,用于在所述第一判断子模块判断出所述DNS服务器具备根据AAAA记录生成A记录的功能时,根据所述A记录请求中包含的域名查询对应的AAAA记录;
第一生成子模块,用于在所述第一查询子模块查询到A记录时,生成包含查询到的A记录的应答消息;在所述第一判断子模块判断出所述DNS服务器不具备根据AAAA记录生成A记录的功能,或者所述第二查询子模块没有查询到AAAA记录时,生成包含查询失败信息的应答消息;在所述第二查询子模块查询到AAAA记录时,根据查询到的AAAA记录生成对应的A记录,并生成包含生成的A记录的应答消息。
优选地,所述存储模块,包括:
第二存储子模块,用于存储第五配置信息;
所述接收模块,包括:
第二接收子模块,用于接收来自所述接入网关的AAAA记录请求;
所述处理模块,包括:
第三查询子模块,用于根据所述第二接收子模块接收到的所述AAAA记录请求中包含的域名查询对应的AAAA记录;
第二判断子模块,用于在所述第三查询子模块没有查询到AAAA记录时,根据所述第五配置信息判断所述DNS服务器是否具备根据A记录生成AAAA记录的功能;
第四查询子模块,用于在所述第二判断子模块判断出所述DNS服务器具备根据A记录生成AAAA记录的功能时,根据所述AAAA记录请求中包含的域名查询对应的A记录;
第二生成子模块,用于在所述第三查询子模块查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第二判断子模块判断出所述DNS服务器不具备根据A记录生成AAAA记录的功能,或者所述第四查询子模块没有查询到A记录时,生成包含查询失败信息的应答消息;在所述第四查询子模块查询到A记录时,根据查询到的A记录生成对应的AAAA记录,并生成包含该生成的AAAA记录的应答消息。
优选地,所述接收模块,包括:
第三接收子模块,用于接收来自所述接入网关的A记录优先请求;
所述处理模块,包括:
第五查询子模块,用于根据所述A记录优先请求中包含的域名查询对应的A记录,在没有查询到A记录时,根据所述A记录优先请求中包含的域名查询对应的AAAA记录;
第三生成子模块,用于在所述第五查询子模块查询到A记录时,生成包含查询到的A记录的应答消息;在所述第五查询子模块查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第五查询子模块没有查询到AAAA记录时,生成包含查询失败信息的应答消息。
优选地,所述接收模块,包括:
第四接收子模块,用于接收来自所述接入网关的AAAA记录优先请求;
所述处理模块,包括:
第六查询子模块,用于根据所述第四接收子模块接收到的所述AAAA记录优先请求中包含的域名查询对应的AAAA记录,在没有查询到AAAA记录时,根据所述AAAA记录优先请求中包含的域名查询对应的A记录;
第四生成子模块,用于在所述第六查询子模块查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第六查询子模块查询到A记录时,生成包含查询到的A记录的应答消息;在所述第六查询子模块没有查询到A记录时,生成包含查询失败信息的应答消息。
优选地,所述存储模块,包括:
第三存储子模块,用于存储第七配置信息;
所述接收模块,包括:
第五接收子模块,用于接收来自所述接入网关的双栈记录请求;
所述处理模块,包括:
第七查询子模块,用于根据所述第五接收子模块接收到的所述双栈记录请求中包含的域名查询对应的AAAA记录和A记录;
第三判断子模块,用于在所述第七查询子模块查询到AAAA记录和A记录时,根据所述第七配置信息判断向所述用户设备优先返回A记录还是AAAA记录;
第五生成子模块,用于在所述第七查询子模块仅查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第七查询子模块仅查询到A记录时,生成包含查询到的A记录的应答消息;在所述第七查询子模块没有查询到AAAA记录或A记录时,生成包含查询失败信息的应答消息;在所述第三判断子模块判断出优先返回A记录时,将查询到的A记录设置到应答消息中靠前的资源记录中,将查询到的AAAA记录设置到应答消息中靠后的资源记录中;在所述第三判断子模块判断出优先返回AAAA记录,将查询到的AAAA记录设置到应答消息中靠前的资源记录中,将查询到的A记录设置到应答消息中靠后的资源记录中。
本发明实施例还提供了一种域名系统DNS服务器,包括处理器、通信接口、存储器和总线,所述处理器、所述通信接口、所述存储器通过所述总线完成相互之间的通信;
所述通信接口,用于与用户设备和接入网关进行通信;
所述处理器,用于执行程序;
所述存储器,用于存放所述程序;
其中,所述程序用于接收来自所述接入网关的域名请求,根据所述域名请求的类型以及所述DNS服务器中预置的配置信息,对所述域名请求进行处理。
本发明实施例还提供了一种处理域名请求的方法,包括以下步骤:
用户设备向接入网关发起域名请求;
所述接入网关根据所述用户设备的设备类型以及所述接入网关中预置的配置信息,对所述域名请求进行修改,并将修改后的域名请求发送给域名系统DNS服务器;
所述DNS服务器根据接收到的域名请求的类型和所述DNS服务器中预置的配置信息,对所述接收到的域名请求进行处理。
优选地,所述DNS服务器根据接收到的域名请求的类型和所述DNS服务器中预置的配置信息,对所述接收到的域名请求进行处理,具体为:
所述DNS服务器根据接收到的域名请求的类型和所述DNS服务器中预置的配置信息,对所述接收到的域名请求进行应答处理,根据处理结果生成应答消息;
所述DNS服务器根据接收到的域名请求的类型和所述DNS服务器中预置的配置信息,对所述接收到的域名请求进行处理之后,还包括:
所述DNS服务器将所述应答消息发送给所述用户设备。
优选地,所述用户设备向接入网关发起域名请求之前,还包括:
所述用户设备设置优选配置信息;
所述用户设备接收所述DNS服务器返回的应答消息之后,还包括:
所述用户设备根据所述优选配置信息和所述应答消息,向应用服务器发起访问请求。
优选地,所述优选配置信息为A记录优选信息;
所述用户设备根据所述优选配置信息和所述应答消息,向应用服务器发起访问请求,具体为:
所述用户设备根据所述应答消息中包含的A记录,向所述应用服务器发起访问请求。
优选地,所述优选配置信息为AAAA记录优选信息;
所述用户设备根据所述优选配置信息和所述应答消息,向应用服务器发起访问请求,具体为:
所述用户设备根据所述应答消息中包含的AAAA记录,向所述应用服务器发起访问请求。
优选地,所述优选配置信息为任意优选信息;
所述用户设备根据所述优选配置信息和所述应答消息,向应用服务器发起访问请求,具体为:
所述用户设备根据所述应答消息中包含的A记录或AAAA记录,向所述应用服务器发起访问请求。
优选地,所述接入网关中预置的配置信息为第一配置信息;
所述接入网关根据所述用户设备的设备类型以及所述接入网关中预置的配置信息,对所述域名请求进行修改,具体为:
如果所述用户设备的设备类型为互联网协议版本IPv4设备,所述接入网关将所述域名请求的类型由AAAA记录优先请求或AAAA记录请求,修改为A记录请求或A记录优先请求。
优选地,所述接入网关中预置的配置信息为第二配置信息;
所述接入网关根据所述用户设备的设备类型以及所述接入网关中预置的配置信息,对所述域名请求进行修改,具体为:
如果所述用户设备的设备类型为IPv4设备,所述接入网关将所述域名请求的类型由AAAA记录优先请求或AAAA记录请求,修改为A记录优先请求。
优选地,所述接入网关中预置的配置信息为第三配置信息;
所述接入网关根据所述用户设备的设备类型以及所述接入网关中预置的配置信息,对所述域名请求进行修改,具体为:
如果所述用户设备的设备类型为双栈设备,所述接入网关将所述域名请求的类型由A记录优先请求或A记录请求,修改为AAAA记录优先请求;
如果用户设备的设备类型为IPv6设备,所述接入网关将所述域名请求由AAAA记录优先请求修改为AAAA记录请求。
优选地,所述接入网关中预置的配置信息为第四配置信息;
所述接入网关根据所述用户设备的设备类型以及所述接入网关中预置的配置信息,对所述域名请求进行修改,具体为:
如果所述用户设备的设备类型为双栈设备,所述接入网关将所述域名请求的类型由A记录优先请求或A记录请求修改为AAAA记录优先请求或双栈记录请求,或者,将所述域名请求的类型由AAAA记录请求修改为AAAA记录优先请求。
优选地,所述DNS服务器接收到的域名请求的类型为A记录请求,所述DNS服务器中预置的配置信息为第六配置信息;
所述DNS服务器根据接收到的域名请求的类型和所述DNS服务器中预置的配置信息,对所述接收到的域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
A1、所述DNS服务器根据所述A记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤A2;如果没有查询到A记录,则执行步骤A3;
A2、所述DNS服务器生成包含查询到的A记录的应答消息;
A3、所述DNS服务器根据所述第六配置信息判断自身是否具备根据AAAA记录生成A记录的功能,如果不具备,则执行步骤1604;如果具备,则执行步骤A5;
A4、所述DNS服务器生成包含查询失败信息的应答消息;
A5、所述DNS服务器根据所述A记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤A6;如果没有查询到AAAA记录,则执行步骤A7;
A6、所述DNS服务器根据查询到的AAAA记录生成对应的A记录,并生成包含该生成的A记录的应答消息;
A7、所述DNS服务器生成包含所述查询失败信息的应答消息。
优选地,所述DNS服务器接收到的域名请求的类型为AAAA记录请求,所述DNS服务器中预置的配置信息为第五配置信息;
所述DNS服务器根据接收到的域名请求的类型和所述DNS服务器中预置的配置信息,对所述接收到的域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
B1、所述DNS服务器根据所述AAAA记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤B2;如果没有查询到AAAA记录,则执行步骤B3;
B2、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
B3、所述DNS服务器根据所述第五配置信息判断自身是否具备根据A记录生成AAAA记录的功能,如果不具备,则执行步骤B4;如果具备,则执行步骤B5;
B4、所述DNS服务器生成包含查询失败信息的应答消息;
B5、所述DNS服务器根据所述AAAA记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤B6;如果没有查询到A记录,则执行步骤B7;
B6、所述DNS服务器根据查询到的A记录生成对应的AAAA记录,并生成包含该生成的AAAA记录的应答消息;
B7、所述DNS服务器生成包含所述查询失败信息的应答消息。
优选地,所述DNS服务器接收到的域名请求的类型为A记录优先请求;
所述DNS服务器根据接收到的域名请求的类型对所述接收到的域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
C1、所述DNS服务器根据所述A记录优先请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤C2;如果没有查询到A记录,则执行步骤C3;
C2、所述DNS服务器生成包含查询到的A记录的应答消息;
C3、所述DNS服务器根据A记录优先请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤C4;如果没有查询到AAAA记录,则执行步骤C5;
C4、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
C5、所述DNS服务器生成包含查询失败信息的应答消息。
优选地,所述DNS服务器接收到的域名请求的类型为AAAA记录优先请求;
所述DNS服务器根据接收到的域名请求的类型对所述接收到的域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
D1、所述DNS服务器根据AAAA记录优先请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤D2;如果没有查询到AAAA记录,则执行步骤D3;
D2、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
D3、所述DNS服务器根据AAAA记录优先请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤D4;如果没有查询到A记录,则执行步骤1625。
D4、所述DNS服务器生成包含查询到的A记录的应答消息;
D5、所述DNS服务器生成包含查询失败信息的应答消息。
优选地,所述DNS服务器接收到的域名请求的类型为双栈记录请求,所述DNS服务器中预置的配置信息为第七配置信息;
所述DNS服务器根据接收到的域名请求的类型和所述DNS服务器中预置的配置信息,对所述接收到的域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
E1、所述DNS服务器根据双栈记录请求中包含的域名查询对应的AAAA记录和A记录,如果仅查询到AAAA记录,则执行步骤E2;如果仅查询到A记录,则执行步骤E3;如果没有查询到AAAA记录或A记录,则执行步骤E4;如果查询到AAAA记录和A记录,则执行步骤E5;
E2、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
E3、所述DNS服务器生成包含查询到的A记录的应答消息;
E4、所述DNS服务器生成包含查询失败信息的应答消息;
E5、所述DNS服务器根据所述第七配置信息判断向所述用户设备优先返回A记录还是AAAA记录,如果优先返回A记录,则执行步骤E6;如果优先返回AAAA记录,执行步骤E7;
E6、所述DNS服务器将查询到的A记录设置到应答消息中靠前的资源记录中,将查询到的AAAA记录设置到应答消息中靠后的资源记录中;
E7、所述DNS服务器将查询到的AAAA记录设置到应答消息中靠前的资源记录中,将查询到的A记录设置到应答消息中靠后的资源记录中。
优选地,所述用户设备向接入网关发起域名请求之前,还包括:
所述用户设备向所述接入网关发起接入请求;
所述接入网关为所述用户设备分配网络地址,记录所述用户设备的网络地址类型,根据所述网络地址类型确定所述用户设备的设备类型,并向所述用户设备返回分配给所述用户设备的网络地址。
优选地,所述接入网关根据所述网络地址类型确定所述用户设备的设备类型,具体为:
当所述用户设备的网络地址类型为IPv4地址时,所述接入网关确定所述用户设备的设备类型为IPv4设备;
当所述用户设备的网络地址类型为IPv6地址时,所述接入网关确定所述用户设备的设备类型为IPv6设备;
当所述用户设备的网络地址类型为双栈地址时,所述接入网关确定所述用户设备的设备类型为双栈设备。
本发明实施例还提供了一种域名系统DNS服务器,包括:
存储模块,用于存储配置信息;
接收模块,用于接收来自接入网关的域名请求,所述域名请求中包含发起所述域名请求的用户设备的设备类型;
处理模块,根据所述接收模块接收到的所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行处理。
优选地,所述处理模块,具体用于根据所述接收模块接收到的域名请求的类型、所述配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行应答处理,根据处理结果生成应答消息;
所述DNS服务器,还包括:
发送模块,用于将所述处理模块生成的所述应答消息发送给用户设备。
优选地,所述域名请求中包含的所述用户设备的设备类型为IPv4设备;
所述存储模块,包括:
第一存储子模块,用于存储第六配置信息;
所述处理模块,包括:
第一查询子模块,用于根据所述域名请求中包含的域名查询对应的A记录;
第一判断子模块,用于在所述第一查询子模块没有查询到A记录时,根据所述第六配置信息判断所述DNS服务器是否具备根据AAAA记录生成A记录的功能;
第二查询子模块,用于在所述第一判断子模块判断出所述DNS服务器具备根据AAAA记录生成A记录的功能时,根据所述域名请求中包含的域名查询对应的AAAA记录;
第一生成子模块,用于在所述第一查询子模块查询到A记录时,生成包含查询到的A记录的应答消息;在所述第一判断子模块判断出所述DNS服务器不具备根据AAAA记录生成A记录的功能,或者所述第二查询子模块没有查询到AAAA记录时,生成包含查询失败信息的应答消息;在所述第二查询子模块查询到AAAA记录时,根据查询到的AAAA记录生成对应的A记录,并生成包含生成的A记录的应答消息。
优选地,所述域名请求中包含的所述用户设备的设备类型为IPv6设备;
所述存储模块,包括:
第二存储子模块,用于存储第五配置信息;
所述处理模块,包括:
第三查询子模块,用于根据所述域名请求中包含的域名查询对应的AAAA记录;
第二判断子模块,用于在所述第三查询子模块没有查询到AAAA记录时,根据所述第五配置信息判断所述DNS服务器是否具备根据A记录生成AAAA记录的功能;
第四查询子模块,用于在所述第二判断子模块判断出所述DNS服务器具备根据A记录生成AAAA记录的功能时,根据所述域名请求中包含的域名查询对应的A记录;
第二生成子模块,用于在所述第三查询子模块查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第二判断子模块判断出所述DNS服务器不具备根据A记录生成AAAA记录的功能,或者所述第四查询子模块没有查询到A记录时,生成包含查询失败信息的应答消息;在所述第四查询子模块查询到A记录时,根据查询到的A记录生成对应的AAAA记录,并生成包含该生成的AAAA记录的应答消息。
优选地,所述域名请求中包含的所述用户设备的设备类型为双栈设备;
所述存储模块,包括:
第三存储子模块,用于存储第七配置信息;
所述处理模块,包括:
第三判断子模块,用于对所述域名请求的类型进行判断;
第五查询子模块,用于在所述第三判断子模块判断出所述域名请求的类型为A记录请求时,根据所述A记录请求中包含的域名查询对应的A记录;在没有查询到A记录时,根据所述A记录请求中包含的域名查询对应的AAAA记录;
第六查询子模块,用于在所述第三判断子模块判断出所述域名请求的类型为AAAA记录请求时,根据所述AAAA记录请求中包含的域名查询对应的AAAA记录;在没有查询到AAAA记录时,根据所述AAAA记录请求中包含的域名查询对应的A记录;
第七查询子模块,用于在所述第三判断子模块判断出所述域名请求的类型为双栈记录请求时,根据双栈记录请求中包含的域名查询对应的AAAA记录和A记录;
第四判断子模块,用于在所述第七查询子模块查询到AAAA记录和A记录时,根据所述第七配置信息判断向所述用户设备优先返回A记录还是AAAA记录;
第三生成子模块,用于在所述第五查询子模块查询到A记录时,生成包含查询到的A记录的应答消息;在所述第五查询子模块查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第五查询子模块没有查询到AAAA记录时,生成包含查询失败信息的应答消息;
在所述第六查询子模块查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第六查询子模块查询到A记录时,生成包含查询到的A记录的应答消息;在所述第六查询子模块没有查询到A记录时,生成包含查询失败信息的应答消息;
在所述第七查询子模块仅查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第七查询子模块仅查询到A记录时,生成包含查询到的A记录的应答消息;在所述第七查询子模块没有查询到AAAA记录或A记录时,生成包含所述查询失败信息的应答消息;在所述第四判断子模块判断出优先返回A记录时,将查询到的A记录设置到所述应答消息中靠前的资源记录中,将查询到的AAAA记录设置到所述应答消息中靠后的资源记录中;在所述第四判断子模块判断出优先返回AAAA记录时,将查询到的AAAA记录设置到所述应答消息中靠前的资源记录中,将查询到的A记录设置到所述应答消息中靠后的资源记录中。
本发明实施例还提供了一种域名系统DNS服务器,包括处理器、通信接口、存储器和总线,所述处理器、所述通信接口、所述存储器通过所述总线完成相互之间的通信;
所述通信接口,用于与用户设备和接入网关进行通信;
所述处理器,用于执行程序;
所述存储器,用于存放程序;
其中,所述程序用于接收来自所述接入网关的域名请求,根据所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的用户设备的设备类型,对所述域名请求进行处理。
本发明实施例还提供了一种处理域名请求的方法,包括以下步骤:
用户设备根据自身的设备类型向接入网关发起域名请求,所述域名请求中包含所述用户设备的设备类型;
所述接入网关将所述域名请求转发给域名系统DNS服务器;
所述DNS服务器根据所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行处理。
优选地,所述DNS服务器根据所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行处理,具体为:
所述DNS服务器根据所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行应答处理,根据处理结果生成应答消息;
所述DNS服务器根据所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行处理之后,还包括:
所述DNS服务器将所述应答消息发送给所述用户设备。
优选地,所述用户设备的设备类型为IPv4设备,所述DNS服务器中预置的配置信息为第六配置信息;
所述DNS服务器根据所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
F1、所述DNS服务器根据所述域名请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤F2;如果没有查询到A记录,则执行步骤F3;
F2、所述DNS服务器生成包含查询到的A记录的应答消息;
F3、所述DNS服务器根据所述第六配置信息判断自身是否具备根据AAAA记录生成A记录的功能,如果不具备,则执行步骤F4;如果具备,则执行步骤F5;
F4、所述DNS服务器生成包含查询失败信息的应答消息;
F5、所述DNS服务器根据所述域名请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤F6;如果没有查询到AAAA记录,则执行步骤F7;
F6、所述DNS服务器根据查询到的AAAA记录生成对应的A记录,并生成包含生成的A记录的应答消息;
F7、所述DNS服务器生成包含查询失败信息的应答消息。
优选地,所述用户设备的设备类型为IPv6设备,所述DNS服务器中预置的配置信息为第五配置信息;
所述DNS服务器根据所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
G1、所述DNS服务器根据所述域名请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤G2;如果没有查询到AAAA记录,则执行步骤G3;
G2、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
G3、所述DNS服务器根据所述第五配置信息判断自身是否具备根据A记录生成AAAA记录的功能,如果不具备,则执行步骤G4;如果具备,则执行步骤G5;
G4、所述DNS服务器生成包含查询失败信息的应答消息;
G5、所述DNS服务器根据所述域名请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤G6;如果没有查询到A记录,则执行步骤G7;
G6、所述DNS服务器根据查询到的A记录生成对应的AAAA记录,并生成包含生成的AAAA记录的应答消息;
G7、所述DNS服务器生成包含所述查询失败信息的应答消息。
优选地,所述用户设备的设备类型为双栈设备,所述DNS服务器中预置的配置信息为第七配置信息;
所述DNS服务器根据所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
H1、所述DNS服务器对所述域名请求的类型进行判断,如果是A记录请求,则执行步骤H2;如果是AAAA记录请求,则执行步骤H7;如果是双栈记录请求,则执行步骤H12;
H2、所述DNS服务器根据所述A记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤H3;如果没有查询到A记录,则执行步骤H4;
H3、所述DNS服务器生成包含查询到的A记录的应答消息;
H4、所述DNS服务器根据所述A记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤H5;如果没有查询到AAAA记录,则执行步骤H6;
H5、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
H6、所述DNS服务器生成包含查询失败信息的应答消息;
H7、所述DNS服务器根据所述AAAA记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤H8;如果没有查询到AAAA记录,则执行步骤H9;
H8、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
H9、所述DNS服务器根据所述AAAA记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤H10;如果没有查询到A记录,则执行步骤H11;
H10、所述DNS服务器生成包含查询到的A记录的应答消息;
H11、所述DNS服务器生成包含查询失败信息的应答消息;
H12、所述DNS服务器根据双栈记录请求中包含的域名查询对应的AAAA记录和A记录,如果仅查询到AAAA记录,则执行步骤H13;如果仅查询到A记录,则执行步骤H14;如果没有查询到AAAA记录或A记录,则执行步骤H15;如果查询到AAAA记录和A记录,则执行步骤H16;
H13、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
H14、所述DNS服务器生成包含查询到的A记录的应答消息;
H15、所述DNS服务器生成包含所述查询失败信息的应答消息;
H16、所述DNS服务器根据所述第七配置信息判断向所述用户设备优先返回A记录还是AAAA记录,如果优先返回A记录,则执行步骤H17;如果优先返回AAAA记录,执行步骤H18;
H17、所述DNS服务器将查询到的A记录设置到所述应答消息中靠前的资源记录中,将查询到的AAAA记录设置到所述应答消息中靠后的资源记录中;
H18、所述DNS服务器将查询到的AAAA记录设置到所述应答消息中靠前的资源记录中,将查询到的A记录设置到所述应答消息中靠后的资源记录中。
优选地,所述用户设备向接入网关发起域名请求之前,还包括:
所述用户设备向所述接入网关发起接入请求;
所述接入网关为所述用户设备分配网络地址,向所述用户设备返回分配给所述用户设备的网络地址;
所述用户设备根据所述网络地址确定自身的设备类型。
优选地,所述用户设备根据所述网络地址确定自身的设备类型,具体为:
当所述网络地址类型为IPv4地址时,所述用户设备确定自身的设备类型为IPv4设备;
当所述网络地址类型为IPv6地址时,所述用户设备确定自身的设备类型为IPv6设备;
当所述网络地址类型为双栈地址时,所述用户设备确定自身的设备类型为双栈设备。
优选地,所述用户设备向接入网关发起域名请求之前,还包括:
所述用户设备设置优选配置信息;
所述用户设备接收所述DNS服务器返回的应答消息之后,还包括:
所述用户设备根据所述优选配置信息和所述应答消息,向应用服务器发起访问请求。
优选地,所述优选配置信息为A记录优选信息;
所述用户设备根据所述优选配置信息和所述应答消息,向应用服务器发起访问请求,具体为:
所述用户设备根据所述应答消息中包含的A记录,向所述应用服务器发起访问请求。
优选地,所述优选配置信息为AAAA记录优选信息;
所述用户设备根据所述优选配置信息和所述应答消息,向应用服务器发起访问请求,具体为:
所述用户设备根据所述应答消息中包含的AAAA记录,向所述应用服务器发起访问请求。
优选地,所述优选配置信息为任意优选信息;
所述用户设备根据所述优选配置信息和所述应答消息,向应用服务器发起访问请求,具体为:
所述用户设备根据所述应答消息中包含的A记录或AAAA记录,向所述应用服务器发起访问请求。
优选地,所述用户设备的设备类型包含在所述域名请求的新增字段中。
本发明实施例还提供了一种用户设备,包括:
设置模块,用于设置优选配置信息;
第一发送模块,用于向接入网关发起域名请求;
第一接收模块,用于接收域名系统DNS服务器返回的应答消息;
第二发送模块,用于根据所述设置模块设置的所述优选配置信息和所述第一接收模块接收到的所述应答消息,向应用服务器发起访问请求。
优选地,所述优选配置信息为A记录优选信息;
所述设置模块,具体用于配置所述A记录优选信息;
所述第二发送模块,具体用于根据所述应答消息中包含的A记录,向所述应用服务器发起访问请求。
优选地,所述优选配置信息为AAAA记录优选信息;
所述设置模块,具体用于配置所述AAAA记录优选信息;
所述第二发送模块,具体用于根据所述应答消息中包含的AAAA记录,向所述应用服务器发起访问请求。
优选地,所述优选配置信息为任意优选信息;
所述设置模块,具体用于配置所述任意优选信息;
所述第二发送模块,具体用于根据所述应答消息中包含的A记录或AAAA记录,向所述应用服务器发起访问请求。
优选地,所述的用户设备,还包括:
第三发送模块,用于向所述接入网关发起接入请求;
第二接收模块,用于接收所述接入网关分配给所述用户设备的网络地址。
优选地,所述的用户设备,还包括:
确定模块,用于根据所述第二接收模块接收到的所述网络地址类型确定所述用户设备的设备类型。
本发明实施例还一种用户设备,包括处理器、通信接口、存储器和总线,所述处理器、所述通信接口、所述存储器通过所述总线完成相互之间的通信;
所述通信接口,用于与接入网关、域名系统DNS服务器和应用服务器进行通信;
所述处理器,用于执行程序;
所述存储器,用于存放所述程序;
其中,所述程序用于设置优选配置信息,向所述接入网关发起域名请求,接收所述DNS服务器返回的应答消息,根据所述优选配置信息和所述应答消息,向所述应用服务器发起访问请求。
本发明实施例提供一种处理域名请求的方法及设备,通过扩展域名请求的类型或者在域名请求中配置用户设备的设备类型,使得DNS服务器能够感知用户设备的请求意愿或设备类型,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,用户设备根据预先设置的优选配置信息使用A记录或AAAA记录发起访问请求,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。此外,接入网关不需要针对不同类型的用户设备将域名请求分配给不同的DNS服务器,降低了接入网关分配DNS服务器的配置复杂度和分配处理复杂度,便于网络部署。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种接入网关的装置结构图;
图2是本发明实施例二提供的一种接入网关的装置结构图;
图3是本发明实施例三提供的一种接入网关的装置结构图;
图4是本发明实施例四提供的一种接入网关的装置结构图;
图5是本发明实施例五提供的一种接入网关的装置结构图;
图6是本发明实施例六提供的一种接入网关的装置结构图;
图7是本发明实施例七提供的一种DNS服务器的装置结构图;
图8是本发明实施例八提供的一种DNS服务器的装置结构图;
图9是本发明实施例九提供的一种DNS服务器的装置结构图;
图10是本发明实施例十提供的一种DNS服务器的装置结构图;
图11是本发明实施例十一提供的一种DNS服务器的装置结构图;
图12是本发明实施例十二提供的一种DNS服务器的装置结构图;
图13是本发明实施例十三提供的一种DNS服务器的装置结构图;
图14是本发明实施例十四提供的一种处理域名请求的方法流程图;
图15是本发明实施例十五提供的一种处理域名请求的方法流程图;
图16是本发明实施例十五提供的一种DNS服务器处理域名请求的方法流程图;
图17是本发明实施例十六提供的一种DNS服务器的装置结构图;
图18是本发明实施例十七提供的一种DNS服务器的装置结构图;
图19是本发明实施例十八提供的一种DNS服务器的装置结构图;
图20是本发明实施例十九提供的一种DNS服务器的装置结构图;
图21是本发明实施例二十提供的一种DNS服务器的装置结构图;
图22是本发明实施例二十一提供的一种处理域名请求的方法流程图;
图23是本发明实施例二十二提供的一种处理域名请求的方法流程图;
图24是本发明实施例二十二提供的一种DNS服务器处理域名请求的方法流程图;
图25为本发明实施例二十三提供的一种用户设备的装置结构图;
图26为本发明实施例二十四提供的一种用户设备的装置结构图;
图27为本发明实施例二十五提供的一种用户设备的装置结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一
参考图1,图1是本发明实施例一提供的一种接入网关的装置结构图,包括:
存储模块110,用于存储配置信息。
接收模块120,用于接收来自用户设备的域名请求和来自DNS(Domain NameSystem,域名系统)服务器的应答消息。
修改模块130,用于根据用户设备的设备类型以及存储模块110存储的配置信息,对接收模块120接收到的域名请求进行修改。
发送模块140,用于将修改模块130修改后的域名请求发送给DNS服务器,将接收模块120接收到的应答消息发送给用户设备。
进一步地,
上述接收模块120,还用于接收来自用户设备的接入请求。
相应地,上述接入网关,还包括:
分配模块150,用于为用户设备分配网络地址,记录用户设备的网络地址类型。
确定模块160,用于根据分配模块150记录的网络地址类型确定用户设备的设备类型。
具体地,上述确定模块160,具体用于当用户设备的网络地址类型为IPv4地址时,确定用户设备的设备类型为IPv4设备;当用户设备的网络地址类型为IPv6地址时,确定用户设备的设备类型为IPv6设备;当用户设备的网络地址类型为双栈地址时,确定用户设备的设备类型为双栈设备。
上述发送模块140,还用于向所述用户设备返回分配模块150分配给用户设备的网络地址。
本发明实施例提供一种接入网关,通过在该接入网关上根据用户设备的设备类型以及预置的配置信息修改域名请求的类型,使得DNS服务器能够感知用户设备的请求意愿,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。此外,接入网关不需要针对不同类型的用户设备将域名请求分配给不同的DNS服务器,降低了接入网关分配DNS服务器的配置复杂度和分配处理复杂度,便于网络部署。
实施例二
参考图2,图2是本发明实施例二提供的一种接入网关的装置结构图,包括:
存储模块210,用于存储配置信息。
接收模块220,用于接收来自用户设备的域名请求和来自DNS服务器的应答消息。
修改模块230,用于根据用户设备的设备类型以及存储模块210存储的配置信息,对接收模块220接收到的域名请求进行修改。
发送模块240,用于将修改模块230修改后的域名请求发送给DNS服务器,将接收模块220接收到的应答消息发送给用户设备。
其中,上述存储模块210,包括:
第一存储子模块211,用于存储第一配置信息。
上述修改模块230,包括:
第一修改子模块231,用于当用户设备的设备类型为IPv4设备时,根据第一存储子模块211存储的第一配置信息,将域名请求的类型由AAAA记录优先请求或AAAA记录请求,修改为A记录请求或A记录优先请求。
本发明实施例提供一种接入网关,当用户设备的设备类型为IPv4设备时,接入网关根据第一配置信息修改域名请求的类型,使得DNS服务器能够感知用户设备的请求意愿,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。此外,接入网关不需要针对不同类型的用户设备将域名请求分配给不同的DNS服务器,降低了接入网关分配DNS服务器的配置复杂度和分配处理复杂度,便于网络部署。
实施例三
参考图3,图3是本发明实施例三提供的一种接入网关的装置结构图,包括:
存储模块310,用于存储配置信息。
接收模块320,用于接收来自用户设备的域名请求。
修改模块330,用于根据用户设备的设备类型以及存储模块310存储的配置信息,对接收模块320接收到的域名请求进行修改。
发送模块340,用于将修改模块330修改后的域名请求发送给DNS服务器。
其中,上述存储模块310,包括:
第二存储子模块311,用于存储第二配置信息。
上述修改模块330,包括:
第二修改子模块331,用于当用户设备的设备类型为IPv4设备时,根据第二存储子模块321存储的第二配置信息,将所述域名请求的类型由AAAA记录优先请求或AAAA记录请求,修改为A记录优先请求。
本发明实施例提供一种接入网关,当用户设备的设备类型为IPv4设备时,接入网关根据第二配置信息修改域名请求的类型,使得DNS服务器能够感知用户设备的请求意愿,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。此外,接入网关不需要针对不同类型的用户设备将域名请求分配给不同的DNS服务器,降低了接入网关分配DNS服务器的配置复杂度和分配处理复杂度,便于网络部署。
实施例四
参考图4,图4是本发明实施例四提供的一种接入网关的装置结构图,包括:
存储模块410,用于存储配置信息。
接收模块420,用于接收来自用户设备的域名请求。
修改模块430,用于根据用户设备的设备类型以及存储模块410存储的配置信息,对接收模块420接收到的域名请求进行修改。
发送模块440,用于将修改模块430修改后的域名请求发送给DNS服务器。
其中,上述存储模块410,包括:
第三存储子模块411,用于存储第三配置信息;
上述修改模块430,包括:
第三修改子模块431,用于当用户设备的设备类型为双栈设备时,根据第三存储子模块411存储的第三配置信息,将域名请求的类型由A记录优先请求或A记录请求,修改为AAAA记录优先请求;当用户设备的设备类型为IPv6设备时,根据第三存储子模块411存储的第三配置信息,将域名请求由AAAA记录优先请求修改为AAAA记录请求。
本发明实施例提供一种接入网关,当用户设备的设备类型为IPv6设备时,接入网关根据第三配置信息修改域名请求的类型,使得DNS服务器能够感知用户设备的请求意愿,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。此外,接入网关不需要针对不同类型的用户设备将域名请求分配给不同的DNS服务器,降低了接入网关分配DNS服务器的配置复杂度和分配处理复杂度,便于网络部署。
实施例五
参考图5,图5是本发明实施例五提供的一种接入网关的装置结构图,包括:
存储模块510,用于存储配置信息。
接收模块520,用于接收来自用户设备的域名请求。
修改模块530,用于根据用户设备的设备类型以及存储模块510存储的配置信息,对接收模块520接收到的域名请求进行修改。
发送模块540,用于将修改模块530修改后的域名请求发送给DNS服务器。
其中,上述存储模块510,包括:
第四存储子模块511,用于存储第四配置信息。
上述修改模块530,包括:
第四修改子模块531,用于当用户设备的设备类型为双栈设备时,根据第四存储子模块511存储的第四配置信息,将域名请求的类型由A记录优先请求或A记录请求修改为AAAA记录优先请求或双栈记录请求,或者,将域名请求的类型由AAAA记录请求修改为AAAA记录优先请求。
本发明实施例提供一种接入网关,当用户设备的设备类型为双栈设备时,接入网关根据第四配置信息修改域名请求的类型,使得DNS服务器能够感知用户设备的请求意愿,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。此外,接入网关不需要针对不同类型的用户设备将域名请求分配给不同的DNS服务器,降低了接入网关分配DNS服务器的配置复杂度和分配处理复杂度,便于网络部署。
实施例六
参考图6,图6是本发明实施例六提供的一种接入网关的装置结构图,包括处理器610、通信接口620、存储器630和总线640,处理器610、通信接口620和存储器630通过总线640完成相互之间的通信;
通信接口620,用于与用户设备和DNS服务器进行通信;
处理器610,用于执行程序;
存储器630,用于存放程序;
其中,上述程序用于接收来自用户设备的域名请求和来自DNS服务器的应答消息,根据用户设备的设备类型以及接入网关中预置的配置信息,对所述域名请求进行修改,并将修改后的域名请求发送给DNS服务器,将接收到的应答消息发送给用户设备。
具体地,接入网关中预置的配置信息可以为第一配置信息;
相应地,如果所述用户设备的设备类型为互联网协议版本IPv4设备,上述程序用于将所述域名请求的类型由AAAA记录优先请求或AAAA记录请求,修改为A记录请求或A记录优先请求。
接入网关中预置的配置信息还可以为第二配置信息;
相应地,如果所述用户设备的设备类型为IPv4设备,上述程序用于将所述域名请求的类型由AAAA记录优先请求或AAAA记录请求,修改为A记录优先请求。
接入网关中预置的配置信息还可以为第三配置信息;
相应地,如果所述用户设备的设备类型为双栈设备,上述程序用于将所述域名请求的类型由A记录优先请求或A记录请求,修改为AAAA记录优先请求;如果用户设备的设备类型为IPv6设备,所述接入网关将所述域名请求由AAAA记录优先请求修改为AAAA记录请求。
接入网关中预置的配置信息还可以为第四配置信息;
相应地,如果所述用户设备的设备类型为双栈设备,上述程序用于将所述域名请求的类型由A记录优先请求或A记录请求修改为AAAA记录优先请求或双栈记录请求,或者,将所述域名请求的类型由AAAA记录请求修改为AAAA记录优先请求。
本发明实施例提供一种接入网关,通过在接入网关上根据用户设备的设备类型以及预置的配置信息修改域名请求的类型,使得DNS服务器能够感知用户设备的请求意愿,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。此外,接入网关不需要针对不同类型的用户设备将域名请求分配给不同的DNS服务器,降低了接入网关分配DNS服务器的配置复杂度和分配处理复杂度,便于网络部署。
实施例七
参考图7,图7是本发明实施例七提供的一种DNS服务器的装置结构图,包括:
存储模块710,用于存储配置信息;
接收模块720,用于接收来自接入网关的域名请求;
处理模块730,用于根据接收模块720接收到的域名请求的类型和存储模块710存储的配置信息,对域名请求进行应答处理,根据处理结果生成应答消息;
发送模块740,用于将处理模块730生成的应答消息发送给用户设备。
其中,接收模块720接收到的域名请求的类型可以为A记录请求,存储模块710存储的可以为第六配置信息;
相应地,处理模块730具体用于执行以下操作:
A1、根据所述A记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤A2;如果没有查询到A记录,则执行步骤A3;
A2、生成包含查询到的A记录的应答消息;
A3、根据所述第六配置信息判断自身是否具备根据AAAA记录生成A记录的功能,如果不具备,则执行步骤1604;如果具备,则执行步骤A5;
A4、生成包含查询失败信息的应答消息;
A5、根据所述A记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤A6;如果没有查询到AAAA记录,则执行步骤A7;
A6、根据查询到的AAAA记录生成对应的A记录,并生成包含该生成的A记录的应答消息;
A7、生成包含所述查询失败信息的应答消息。
接收模块720接收到的域名请求的类型还可以为AAAA记录请求,存储模块710存储的配置信息还可以为第五配置信息;
相应地,处理模块730具体用于执行以下操作:
B1、根据所述AAAA记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤B2;如果没有查询到AAAA记录,则执行步骤B3;
B2、生成包含查询到的AAAA记录的应答消息;
B3、根据所述第五配置信息判断自身是否具备根据A记录生成AAAA记录的功能,如果不具备,则执行步骤B4;如果具备,则执行步骤B5;
B4、生成包含查询失败信息的应答消息;
B5、根据所述AAAA记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤B6;如果没有查询到A记录,则执行步骤B7;
B6、根据查询到的A记录生成对应的AAAA记录,并生成包含该生成的AAAA记录的应答消息;
B7、生成包含所述查询失败信息的应答消息。
接收模块720接收到的域名请求的类型还可以为A记录优先请求;
相应地,处理模块730具体用于执行以下操作:
C1、根据所述A记录优先请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤C2;如果没有查询到A记录,则执行步骤C3;
C2、生成包含查询到的A记录的应答消息;
C3、根据A记录优先请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤C4;如果没有查询到AAAA记录,则执行步骤C5;
C4、生成包含查询到的AAAA记录的应答消息;
C5、生成包含查询失败信息的应答消息。
接收模块720接收到的域名请求的类型还可以为AAAA记录优先请求;
相应地,处理模块730具体用于执行以下操作:
D1、根据AAAA记录优先请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤D2;如果没有查询到AAAA记录,则执行步骤D3;
D2、生成包含查询到的AAAA记录的应答消息;
D3、根据AAAA记录优先请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤D4;如果没有查询到A记录,则执行步骤D5。
D4、生成包含查询到的A记录的应答消息;
D5、生成包含查询失败信息的应答消息。
接收模块720接收到的域名请求的类型还可以为双栈记录请求,存储模块710存储的配置信息还可以为第七配置信息;
相应地,处理模块730具体用于执行以下操作:
E1、根据双栈记录请求中包含的域名查询对应的AAAA记录和A记录,如果仅查询到AAAA记录,则执行步骤E2;如果仅查询到A记录,则执行步骤E3;如果没有查询到AAAA记录或A记录,则执行步骤E4;如果查询到AAAA记录和A记录,则执行步骤E5;
E2、生成包含查询到的AAAA记录的应答消息;
E3、生成包含查询到的A记录的应答消息;
E4、生成包含查询失败信息的应答消息;
E5、根据所述第七配置信息判断向所述用户设备优先返回A记录还是AAAA记录,如果优先返回A记录,则执行步骤E6;如果优先返回AAAA记录,执行步骤E7;
E6、将查询到的A记录设置到应答消息中靠前的资源记录中,将查询到的AAAA记录设置到应答消息中靠后的资源记录中;
E7、将查询到的AAAA记录设置到应答消息中靠前的资源记录中,将查询到的A记录设置到应答消息中靠后的资源记录中。
本发明实施例提供一种DNS服务器,通过扩展域名请求的类型以及在DNS服务器上根据配置信息生成应答消息,使得用户设备能够灵活地发起不同类型的域名请求,使得DNS服务器能够感知用户设备的请求意愿,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。
实施例八
参考图8,图8是本发明实施例八提供的一种DNS服务器的装置结构图,包括:
存储模块810,用于存储配置信息;
接收模块820,用于接收来自接入网关的域名请求;
处理模块830,用于根据接收模块820接收到的域名请求的类型和存储模块810存储的配置信息,对域名请求进行应答处理,根据处理结果生成应答消息;
发送模块840,用于将处理模块830生成的应答消息发送给用户设备。
其中,上述存储模块810,包括:
第一存储子模块811,用于存储第六配置信息;
上述接收模块820,包括:
第一接收子模块821,用于接收来自接入网关的A记录请求;
上述处理模块830,包括:
第一查询子模块831,用于根据第一接收子模块821接收到的A记录请求中包含的域名查询对应的A记录;
第一判断子模块832,用于在所述第一查询子模块831没有查询到A记录时,根据第六配置信息判断DNS服务器是否具备根据AAAA记录生成A记录的功能;
第二查询子模块833,用于在第一判断子模块832判断出DNS服务器具备根据AAAA记录生成A记录的功能时,根据A记录请求中包含的域名查询对应的AAAA记录;
第一生成子模块834,用于在第一查询子模块831查询到A记录时,生成包含查询到的A记录的应答消息;在第一判断子模块832判断出DNS服务器不具备根据AAAA记录生成A记录的功能,或者第二查询子模块833没有查询到AAAA记录时,生成包含查询失败信息的应答消息;在第二查询子模块833查询到AAAA记录时,根据查询到的AAAA记录生成对应的A记录,并生成包含生成的A记录的应答消息。
本发明实施例提供一种DNS服务器,通过扩展域名请求的类型以及在DNS服务器上根据第六配置信息生成应答消息,使得用户设备能够灵活地发起不同类型的域名请求,使得用户设备能够灵活地发起不同类型的域名请求,使得DNS服务器能够感知用户设备的请求意愿,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。
实施例九
参考图9,图9是本发明实施例九提供的一种DNS服务器的装置结构图,包括:
存储模块910,用于存储配置信息;
接收模块920,用于接收来自接入网关的域名请求;
处理模块930,用于根据接收模块920接收到的域名请求的类型和存储模块910存储的配置信息,对域名请求进行应答处理,根据处理结果生成应答消息;
发送模块940,用于将处理模块930生成的应答消息发送给用户设备。
其中,上述存储模块910,包括:
第二存储子模块911,用于存储第五配置信息;
上述接收模块920,包括:
第二接收子模块921,用于接收来自接入网关的AAAA记录请求;
上述处理模块930,包括:
第三查询子模块931,用于根据第二接收子模块921接收到的AAAA记录请求中包含的域名查询对应的AAAA记录;
第二判断子模块932,用于在所述第三查询子模块931没有查询到AAAA记录时,根据第五配置信息判断DNS服务器是否具备根据A记录生成AAAA记录的功能;
第四查询子模块933,用于在第二判断子模块932判断出DNS服务器具备根据A记录生成AAAA记录的功能时,根据所述AAAA记录请求中包含的域名查询对应的A记录;
第二生成子模块934,用于在第三查询子模块931查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在第二判断子模块932判断出所述DNS服务器不具备根据A记录生成AAAA记录的功能,或者第四查询子模块933没有查询到A记录时,生成包含查询失败信息的应答消息;在第四查询子模块933查询到A记录时,根据查询到的A记录生成对应的AAAA记录,并生成包含该生成的AAAA记录的应答消息。
本发明实施例提供一种DNS服务器,通过扩展域名请求的类型以及在DNS服务器上根据第五配置信息生成应答消息,使得用户设备能够灵活地发起不同类型的域名请求,使得DNS服务器能够感知用户设备的请求意愿,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。
实施例十
参考图10,图10是本发明实施例十提供的一种DNS服务器的装置结构图,包括:
存储模块1010,用于存储配置信息;
接收模块1020,用于接收来自接入网关的域名请求;
处理模块1030,用于根据接收模块1020接收到的域名请求的类型和存储模块1010存储的配置信息,对域名请求进行应答处理,根据处理结果生成应答消息;
发送模块1040,用于将处理模块1030生成的应答消息发送给用户设备。
其中,上述接收模块1020,包括:
第三接收子模块1021,用于接收来自所述接入网关的A记录优先请求;
所述处理模块1030,包括:
第五查询子模块1031,用于根据所述A记录优先请求中包含的域名查询对应的A记录,在没有查询到A记录时,根据所述A记录优先请求中包含的域名查询对应的AAAA记录;
第三生成子模块1032,用于在所述第五查询子模块1031查询到A记录时,生成包含查询到的A记录的应答消息;在所述第五查询子模块1031查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第五查询子模块1031没有查询到AAAA记录时,生成包含查询失败信息的应答消息。
本发明实施例提供一种DNS服务器,通过扩展域名请求的类型使得用户设备能够灵活地发起不同类型的域名请求,使得DNS服务器能够感知用户设备的请求意愿,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。
实施例十一
参考图11,图11是本发明实施例十一提供的一种DNS服务器的装置结构图,包括:
存储模块1110,用于存储配置信息;
接收模块1120,用于接收来自接入网关的域名请求;
处理模块1130,用于根据接收模块1120接收到的域名请求的类型和存储模块1110存储的配置信息,对域名请求进行应答处理,根据处理结果生成应答消息;
发送模块1140,用于将处理模块1130生成的应答消息发送给用户设备。
其中,上述接收模块1120,包括:
第四接收子模块1121,用于接收来自所述接入网关的AAAA记录优先请求;
上述处理模块1130,包括:
第六查询子模块1131,用于根据所述第四接收子模块1121接收到的所述AAAA记录优先请求中包含的域名查询对应的AAAA记录,在没有查询到AAAA记录时,根据所述AAAA记录优先请求中包含的域名查询对应的A记录;
第四生成子模块1132,用于在所述第六查询子模块1131查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第六查询子模块1131查询到A记录时,生成包含查询到的A记录的应答消息;在所述第六查询子模块1131没有查询到A记录时,生成包含查询失败信息的应答消息。
本发明实施例提供一种DNS服务器,通过扩展域名请求的类型使得用户设备能够灵活地发起不同类型的域名请求,使得用户设备能够灵活地发起不同类型的域名请求,使得DNS服务器能够感知用户设备的请求意愿,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。
实施例十二
参考图12,图12是本发明实施例十二提供的一种DNS服务器的装置结构图,包括:
存储模块1210,用于存储配置信息;
接收模块1220,用于接收来自接入网关的域名请求;
处理模块1230,用于根据接收模块1220接收到的域名请求的类型和存储模块1210存储的配置信息,对域名请求进行应答处理,根据处理结果生成应答消息;
发送模块1240,用于将处理模块1230生成的应答消息发送给用户设备。
其中,上述存储模块1210,包括:
第三存储子模块1211,用于存储第七配置信息;
上述接收模块1220,包括:
第五接收子模块1221,用于接收来自所述接入网关的双栈记录请求;
上述处理模块1230,包括:
第七查询子模块1231,用于根据所述第五接收子模块1221接收到的所述双栈记录请求中包含的域名查询对应的AAAA记录和A记录;
第三判断子模块1232,用于在所述第七查询子模块1231查询到AAAA记录和A记录时,根据所述第七配置信息判断向所述用户设备优先返回A记录还是AAAA记录;
第五生成子模块1233,用于在所述第七查询子模块1231仅查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第七查询子模块1231仅查询到A记录时,生成包含查询到的A记录的应答消息;在所述第七查询子模块1231没有查询到AAAA记录或A记录时,生成包含查询失败信息的应答消息;在所述第三判断子模块1232判断出优先返回A记录时,将查询到的A记录设置到应答消息中靠前的资源记录中,将查询到的AAAA记录设置到应答消息中靠后的资源记录中;在所述第三判断子模块1232判断出优先返回AAAA记录,将查询到的AAAA记录设置到应答消息中靠前的资源记录中,将查询到的A记录设置到应答消息中靠后的资源记录中。
本发明实施例提供一种DNS服务器,通过扩展域名请求的类型以及在DNS服务器上根据第七配置信息生成应答消息,使得用户设备能够灵活地发起不同类型的域名请求,使得用户设备能够灵活地发起不同类型的域名请求,使得DNS服务器能够感知用户设备的请求意愿,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。
实施例十三
参考图13,图13是本发明实施例十三提供的一种DNS服务器的装置结构图,包括处理器1310、通信接口1320、存储器1330和总线1340,所述处理器1310、所述通信接口1320、所述存储器1330通过所述总线1340完成相互之间的通信;
所述通信接口1320,用于与用户设备和接入网关进行通信;
所述处理器1310,用于执行程序;
所述存储器1330,用于存放所述程序;
其中,所述程序用于接收来自所述接入网关的域名请求,根据所述域名请求的类型以及所述DNS服务器中预置的配置信息,对所述域名请求进行应答处理,根据处理结果生成应答消息,将所述应答消息发送给所述用户设备。
具体地,
其中,所述程序接收到的域名请求的类型可以为A记录请求,DNS服务器中预置的配置信息可以为第六配置信息;
相应地,所述程序具体用于执行以下操作:
A1、根据所述A记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤A2;如果没有查询到A记录,则执行步骤A3;
A2、生成包含查询到的A记录的应答消息;
A3、根据所述第六配置信息判断自身是否具备根据AAAA记录生成A记录的功能,如果不具备,则执行步骤1604;如果具备,则执行步骤A5;
A4、生成包含查询失败信息的应答消息;
A5、根据所述A记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤A6;如果没有查询到AAAA记录,则执行步骤A7;
A6、根据查询到的AAAA记录生成对应的A记录,并生成包含该生成的A记录的应答消息;
A7、生成包含所述查询失败信息的应答消息。
所述程序接收到的域名请求的类型还可以为AAAA记录请求,DNS服务器中预置的配置信息还可以为第五配置信息;
相应地,所述程序具体用于执行以下操作:
B1、根据所述AAAA记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤B2;如果没有查询到AAAA记录,则执行步骤B3;
B2、生成包含查询到的AAAA记录的应答消息;
B3、根据所述第五配置信息判断自身是否具备根据A记录生成AAAA记录的功能,如果不具备,则执行步骤B4;如果具备,则执行步骤B5;
B4、生成包含查询失败信息的应答消息;
B5、根据所述AAAA记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤B6;如果没有查询到A记录,则执行步骤B7;
B6、根据查询到的A记录生成对应的AAAA记录,并生成包含该生成的AAAA记录的应答消息;
B7、生成包含所述查询失败信息的应答消息。
所述程序接收到的域名请求的类型还可以为A记录优先请求;
相应地,所述程序具体用于执行以下操作:
C1、根据所述A记录优先请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤C2;如果没有查询到A记录,则执行步骤C3;
C2、生成包含查询到的A记录的应答消息;
C3、根据A记录优先请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤C4;如果没有查询到AAAA记录,则执行步骤C5;
C4、生成包含查询到的AAAA记录的应答消息;
C5、生成包含查询失败信息的应答消息。
所述程序接收到的域名请求的类型还可以为AAAA记录优先请求;
相应地,所述程序具体用于执行以下操作:
D1、根据AAAA记录优先请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤D2;如果没有查询到AAAA记录,则执行步骤D3;
D2、生成包含查询到的AAAA记录的应答消息;
D3、根据AAAA记录优先请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤D4;如果没有查询到A记录,则执行步骤D5。
D4、生成包含查询到的A记录的应答消息;
D5、生成包含查询失败信息的应答消息。
所述程序接收到的域名请求的类型还可以为双栈记录请求,DNS服务器中预置的配置信息还可以为第七配置信息;
相应地,所述程序具体用于执行以下操作:
E1、根据双栈记录请求中包含的域名查询对应的AAAA记录和A记录,如果仅查询到AAAA记录,则执行步骤E2;如果仅查询到A记录,则执行步骤E3;如果没有查询到AAAA记录或A记录,则执行步骤E4;如果查询到AAAA记录和A记录,则执行步骤E5;
E2、生成包含查询到的AAAA记录的应答消息;
E3、生成包含查询到的A记录的应答消息;
E4、生成包含查询失败信息的应答消息;
E5、根据所述第七配置信息判断向所述用户设备优先返回A记录还是AAAA记录,如果优先返回A记录,则执行步骤E6;如果优先返回AAAA记录,执行步骤E7;
E6、将查询到的A记录设置到应答消息中靠前的资源记录中,将查询到的AAAA记录设置到应答消息中靠后的资源记录中;
E7、将查询到的AAAA记录设置到应答消息中靠前的资源记录中,将查询到的A记录设置到应答消息中靠后的资源记录中。
本发明实施例提供一种DNS服务器,通过扩展域名请求的类型以及在DNS服务器上根据配置信息生成应答消息,使得用户设备能够灵活地发起不同类型的域名请求,使得DNS服务器能够感知用户设备的请求意愿,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。
实施例十四
参考图14,图14是本发明实施例十四提供的一种处理域名请求的方法流程图,包括以下步骤:
步骤1401,用户设备向接入网关发起域名请求。
步骤1402,接入网关根据用户设备的设备类型以及所述接入网关中预置的配置信息,对所述域名请求进行修改,并将修改后的域名请求发送给域名系统DNS服务器。
步骤1403,DNS服务器根据接收到的域名请求的类型和所述DNS服务器中预置的配置信息,对所述接收到的域名请求进行应答处理,根据处理结果生成应答消息,将所述应答消息发送给所述用户设备。
其中,接入网关中预置的配置信息可以为第一配置信息;
相应地,如果所述用户设备的设备类型为互联网协议版本IPv4设备,所述接入网关将所述域名请求的类型由AAAA记录优先请求或AAAA记录请求,修改为A记录请求或A记录优先请求。
接入网关中预置的配置信息还可以为第二配置信息;
相应地,如果所述用户设备的设备类型为IPv4设备,所述接入网关将所述域名请求的类型由AAAA记录优先请求或AAAA记录请求,修改为A记录优先请求。
接入网关中预置的配置信息还可以为第三配置信息;
相应地,如果所述用户设备的设备类型为双栈设备,所述接入网关将所述域名请求的类型由A记录优先请求或A记录请求,修改为AAAA记录优先请求;如果用户设备的设备类型为IPv6设备,所述接入网关将所述域名请求由AAAA记录优先请求修改为AAAA记录请求。
接入网关中预置的配置信息还可以为第四配置信息;
相应地,如果所述用户设备的设备类型为双栈设备,所述接入网关将所述域名请求的类型由A记录优先请求或A记录请求修改为AAAA记录优先请求或双栈记录请求,或者,将所述域名请求的类型由AAAA记录请求修改为AAAA记录优先请求。
其中,DNS服务器接收到的域名请求的类型可以为A记录请求,所述DNS服务器中预置的配置信息可以为第六配置信息;
相应地,所述DNS服务器根据接收到的域名请求的类型和所述DNS服务器中预置的配置信息,对所述接收到的域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
A1、所述DNS服务器根据所述A记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤A2;如果没有查询到A记录,则执行步骤A3;
A2、所述DNS服务器生成包含查询到的A记录的应答消息;
A3、所述DNS服务器根据所述第六配置信息判断自身是否具备根据AAAA记录生成A记录的功能,如果不具备,则执行步骤1604;如果具备,则执行步骤A5;
A4、所述DNS服务器生成包含查询失败信息的应答消息;
A5、所述DNS服务器根据所述A记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤A6;如果没有查询到AAAA记录,则执行步骤A7;
A6、所述DNS服务器根据查询到的AAAA记录生成对应的A记录,并生成包含该生成的A记录的应答消息;
A7、所述DNS服务器生成包含所述查询失败信息的应答消息。
DNS服务器接收到的域名请求的类型还可以为AAAA记录请求,所述DNS服务器中预置的配置信息还可以为第五配置信息;
相应地,所述DNS服务器根据接收到的域名请求的类型和所述DNS服务器中预置的配置信息,对所述接收到的域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
B1、所述DNS服务器根据所述AAAA记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤B2;如果没有查询到AAAA记录,则执行步骤B3;
B2、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
B3、所述DNS服务器根据所述第五配置信息判断自身是否具备根据A记录生成AAAA记录的功能,如果不具备,则执行步骤B4;如果具备,则执行步骤B5;
B4、所述DNS服务器生成包含查询失败信息的应答消息;
B5、所述DNS服务器根据所述AAAA记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤B6;如果没有查询到A记录,则执行步骤B7;
B6、所述DNS服务器根据查询到的A记录生成对应的AAAA记录,并生成包含该生成的AAAA记录的应答消息;
B7、所述DNS服务器生成包含所述查询失败信息的应答消息。
DNS服务器接收到的域名请求的类型还可以为A记录优先请求;
相应地,所述DNS服务器根据接收到的域名请求的类型对所述接收到的域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
C1、所述DNS服务器根据所述A记录优先请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤C2;如果没有查询到A记录,则执行步骤C3;
C2、所述DNS服务器生成包含查询到的A记录的应答消息;
C3、所述DNS服务器根据A记录优先请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤C4;如果没有查询到AAAA记录,则执行步骤C5;
C4、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
C5、所述DNS服务器生成包含查询失败信息的应答消息。
DNS服务器接收到的域名请求的类型还可以为AAAA记录优先请求;
相应地,DNS服务器根据接收到的域名请求的类型对所述接收到的域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
D1、所述DNS服务器根据AAAA记录优先请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤D2;如果没有查询到AAAA记录,则执行步骤D3;
D2、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
D3、所述DNS服务器根据AAAA记录优先请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤D4;如果没有查询到A记录,则执行步骤D5。
D4、所述DNS服务器生成包含查询到的A记录的应答消息;
D5、所述DNS服务器生成包含查询失败信息的应答消息。
DNS服务器接收到的域名请求的类型还可以为双栈记录请求,DNS服务器中预置的配置信息还可以为第七配置信息;
相应地,DNS服务器根据接收到的域名请求的类型和所述DNS服务器中预置的配置信息,对所述接收到的域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
E1、所述DNS服务器根据双栈记录请求中包含的域名查询对应的AAAA记录和A记录,如果仅查询到AAAA记录,则执行步骤E2;如果仅查询到A记录,则执行步骤E3;如果没有查询到AAAA记录或A记录,则执行步骤E4;如果查询到AAAA记录和A记录,则执行步骤E5;
E2、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
E3、所述DNS服务器生成包含查询到的A记录的应答消息;
E4、所述DNS服务器生成包含查询失败信息的应答消息;
E5、所述DNS服务器根据所述第七配置信息判断向所述用户设备优先返回A记录还是AAAA记录,如果优先返回A记录,则执行步骤E6;如果优先返回AAAA记录,执行步骤E7;
E6、所述DNS服务器将查询到的A记录设置到应答消息中靠前的资源记录中,将查询到的AAAA记录设置到应答消息中靠后的资源记录中;
E7、所述DNS服务器将查询到的AAAA记录设置到应答消息中靠前的资源记录中,将查询到的A记录设置到应答消息中靠后的资源记录中。
上述用户设备向接入网关发起域名请求之前,还包括:
所述用户设备向所述接入网关发起接入请求;
所述接入网关为所述用户设备分配网络地址,记录所述用户设备的网络地址类型,根据所述网络地址类型确定所述用户设备的设备类型,并向所述用户设备返回分配给所述用户设备的网络地址。
具体地,当所述用户设备的网络地址类型为IPv4地址时,所述接入网关确定所述用户设备的设备类型为IPv4设备;当所述用户设备的网络地址类型为IPv6地址时,所述接入网关确定所述用户设备的设备类型为IPv6设备;当所述用户设备的网络地址类型为双栈地址时,所述接入网关确定所述用户设备的设备类型为双栈设备。
本发明实施例提供一种处理域名请求的方法,通过扩展域名请求的类型以及在接入网关上根据用户设备的设备类型以及预置的配置信息修改域名请求的类型,使得用户设备能够灵活地发起不同类型的域名请求,使得DNS服务器能够感知用户设备的请求意愿,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。此外,接入网关不需要针对不同类型的用户设备将域名请求分配给不同的DNS服务器,降低了接入网关分配DNS服务器的配置复杂度和分配处理复杂度,便于网络部署。
实施例十五
参考图15,图15是本发明实施例十五提供的一种处理域名请求的方法流程图,包括以下步骤:
步骤1500,用户设备设置优选配置信息。
其中,优选配置信息可以为A记录优选信息,也可以为AAAA记录优选信息,还可以为任意优选信息。
步骤1501,用户设备向接入网关发起接入请求。
其中,用户设备是具有网络访问能力的设备,例如,计算机、手机等能够接入网络的设备;接入网关可以是路由器、防火墙、BRAS(Broadband Remote Access Server,宽带远程接入服务器)、Firewall(防火墙)、GGSN(Gateway GPRS Support Node,网关GPRS支持节点)、P-GW(Packet Data Network Gateway,分组数据网网关)、PDSN(Packet Data ServingNode,分组数据服务节点)或S-GW(Serving GateWay,服务网关)等设备。
步骤1502,接入网关为用户设备分配网络地址,记录用户设备的网络地址类型,并根据该网络地址类型确定用户设备的设备类型。
具体地,接入网关可以直接为用户设备分配网络地址,也可以作为用户设备的代理接入到具有网络地址分配功能的服务器,获取该服务器分配给用户设备的网络地址。
其中,用户设备的网络地址类型可以为IPv4地址、IPv6地址或双栈地址(即,IPv4地址+IPv6地址),相应地,当用户设备的网络地址类型为IPv4地址时,接入网关确定用户设备的设备类型为IPv4设备;当用户设备的网络地址类型为IPv6地址时,接入网关确定用户设备的设备类型为IPv6设备;当用户设备的网络地址类型为双栈地址时,接入网关确定用户设备的设备类型为双栈设备。
步骤1503,接入网关向用户设备返回分配给该用户设备的网络地址。
步骤1504,用户设备根据分配给自身的网络地址确定自身的设备类型。
步骤1505,用户设备向接入网关发起域名请求。
其中,用户设备发起的域名请求中可以包含用户设备需要访问的应用服务器的域名,该应用服务器具有与该域名对应的IPv4地址或IPv6地址。用户设备发起的域名请求的类型可以是A记录请求、AAAA记录请求、A记录优先请求、AAAA记录优先请求或双栈记录请求中的任意一种,该双栈记录请求用于同时向DNS服务器请求A记录和AAAA记录。
步骤1506,接入网关根据发起域名请求的用户设备的设备类型以及接入网关中预置的配置信息,对接收到的域名请求进行修改。
其中,接入网关中预置的配置信息是根据实际网络情况配置的信息,可以包含第一配置信息、第二配置信息、第三配置信息和第四配置信息中的一种或多种。第一配置配置信息用于限制IPv4设备采用IPv4地址访问网络,第二配置信息适用于IPv4地址占主导地位,且网络中的服务器没有IPv6地址的情况,第三配置信息适用于IPv6地址占主导地位,且网络中的服务器没有IPv4地址的情况,第四配置信息适用于IPv6地址占主导地位,且网络中的少量服务器具备IPv4地址的情况。
相应地,当接入网关中预先设置有第一配置信息时,如果用户设备的设备类型为IPv4设备,接入网关将用户设备发起的AAAA记录优先请求或AAAA记录请求,修改为A记录请求或A记录优先请求;
当接入网关中预先设置有第二配置信息时,如果用户设备的设备类型为IPv4设备,接入网关将用户设备发起的AAAA记录优先请求或AAAA记录请求,修改为A记录优先请求;
当接入网关中预先设置有第三配置信息时,如果用户设备的设备类型为双栈设备,接入网关将用户设备发起的A记录优先请求或A记录请求,修改为AAAA记录优先请求;如果用户设备的设备类型为IPv6设备,接入网关将用户设备发起的AAAA记录优先请求修改为AAAA记录请求;
当接入网关中预先设置有第四配置信息时,如果用户设备的设备类型为双栈设备,接入网关将用户设备发起的A记录优先请求或A记录请求修改为AAAA记录优先请求或双栈记录请求,将用户设备发起的AAAA记录请求修改为AAAA记录优先请求。
步骤1507,接入网关向DNS服务器发送修改后的域名请求。
步骤1508,DNS服务器根据接收到的域名请求的类型和预先配置的配置信息,对接收到的域名请求进行应答处理,并根据处理结果生成应答消息。
其中,DNS服务器中预先设置的配置信息可以包括第五配置信息、第六配置信息和第七配置信息,第五配置信息用于标识DNS服务器是否具备根据A记录生成AAAA记录,第六配置信息用于标识DNS服务器是否具备根据AAAA记录生成A记录的功能,第七配置信息用于标识在接收到来自双栈设备的双栈请求时,向双栈设备优先返回A记录或AAAA记录。应答消息可以包含A记录,也可以包含AAAA记录,也可以同时包含A记录和AAAA记录,还可以包含查询失败信息。
步骤1509,DNS服务器向用户设备发送应答消息。
步骤1510,用户设备根据优选配置信息和应答消息,向应用服务器发起访问请求。
具体地,优选配置信息为A记录优选信息时,用户设备可以根据应答消息中包含的A记录,向应用服务器发起访问请求;优选配置信息为AAAA记录优选信息时,用户设备可以根据应答消息中包含的AAAA记录,向应用服务器发起访问请求;优选配置信息为任意优选信息时,用户设备可以根据应答消息中包含的A记录或AAAA记录,向所述应用服务器发起访问请求。
需要说明的是,当用户设备使用A记录向具有IPv6地址的应用服务器发起访问请求,或者用户设备使用AAAA记录向具有IPv4地址的应用服务器发起访问请求时,网络中的NAT服务器可对用户设备与应用服务器之间的报文进行IPv4报文和IPv6报文之间的转换,该NAT服务器可以独立部署,也可以和接入网关是同一设备。
此外,上述步骤1508,可细化为如图16所示的流程图,包括以下步骤:
步骤1601,DNS服务器对接收到的域名请求的类型进行判断,如果是A记录请求,则执行步骤1602;如果是AAAA记录请求,则执行步骤1609;如果是A记录优先请求,则执行步骤1616;如果是AAAA记录优先请求,则执行步骤1621;如果是双栈记录请求,则执行步骤1626。
步骤1602,DNS服务器根据A记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤1603;如果没有查询到A记录,则执行步骤1604;
步骤1603,DNS服务器生成包含查询到的A记录的应答消息。
步骤1604,DNS服务器根据第六配置信息判断自身是否具备根据AAAA记录生成A记录的功能,如果不具备,则执行步骤1605;如果具备,则执行步骤1606。
步骤1605,DNS服务器生成包含查询失败信息的应答消息。
步骤1606,DNS服务器根据A记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤1607;如果没有查询到AAAA记录,则执行步骤1608。
步骤1607,DNS服务器根据查询到的AAAA记录生成对应的A记录,并生成包含上述生成的A记录的应答消息。
步骤1608,DNS服务器生成包含查询失败信息的应答消息。
步骤1609,DNS服务器根据AAAA记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤1610;如果没有查询到AAAA记录,则执行步骤1611;
步骤1610,DNS服务器生成包含查询到的AAAA记录的应答消息。
步骤1611,DNS服务器根据第五配置信息判断自身是否具备根据A记录生成AAAA记录的功能,如果不具备,则执行步骤1612;如果具备,则执行步骤1613。
步骤1612,DNS服务器生成包含查询失败信息的应答消息。
步骤1613,DNS服务器根据AAAA记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤1614;如果没有查询到A记录,则执行步骤1615。
步骤1614,DNS服务器根据查询到的A记录生成对应的AAAA记录,并生成包含上述生成的AAAA记录的应答消息。
步骤1615,DNS服务器生成包含查询失败信息的应答消息。
步骤1616,DNS服务器根据A记录优先请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤1617;如果没有查询到A记录,则执行步骤1618;
步骤1617,DNS服务器生成包含查询到的A记录的应答消息。
步骤1618,DNS服务器根据A记录优先请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤1619;如果没有查询到AAAA记录,则执行步骤1620。
步骤1619,DNS服务器生成包含查询到的AAAA记录的应答消息。
步骤1620,DNS服务器生成包含查询失败信息的应答消息。
步骤1621,DNS服务器根据AAAA记录优先请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤1622;如果没有查询到AAAA记录,则执行步骤1623;
步骤1622,DNS服务器生成包含查询到的AAAA记录的应答消息。
步骤1623,DNS服务器根据AAAA记录优先请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤1624;如果没有查询到A记录,则执行步骤1625。
步骤1624,DNS服务器生成包含查询到的A记录的应答消息。
步骤1625,DNS服务器生成包含查询失败信息的应答消息。
步骤1626,DNS服务器根据双栈记录请求中包含的域名查询对应的AAAA记录和A记录,如果仅查询到AAAA记录,则执行步骤1627;如果仅查询到A记录,则执行步骤1628;如果没有查询到AAAA记录或A记录,则执行步骤1629;如果查询到AAAA记录和A记录,则执行步骤1630。
步骤1627,DNS服务器生成包含查询到的AAAA记录的应答消息。
步骤1628,DNS服务器生成包含查询到的A记录的应答消息。
步骤1629,DNS服务器生成包含查询失败信息的应答消息。
步骤1630,DNS服务器根据第七配置信息判断向用户设备优先返回A记录还是AAAA记录,如果优先返回A记录,则执行步骤1631;如果优先返回AAAA记录,执行步骤1632。
步骤1631,DNS服务器将查询到的A记录设置到应答消息中靠前的资源记录中,将查询到的AAAA记录设置到应答消息中靠后的资源记录中。
步骤1632,DNS服务器将查询到的AAAA记录设置到应答消息中靠前的资源记录中,将查询到的A记录设置到应答消息中靠后的资源记录中。
本发明实施例提供一种处理域名请求的方法,通过扩展域名请求的类型以及在接入网关上根据用户设备的设备类型以及预置的配置信息修改域名请求的类型,使得用户设备能够灵活地发起不同类型的域名请求,使得DNS服务器能够感知用户设备的请求意愿,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。此外,接入网关不需要针对不同类型的用户设备将域名请求分配给不同的DNS服务器,降低了接入网关分配DNS服务器的配置复杂度和分配处理复杂度,便于网络部署。
实施例十六
参考图17,图17是本发明实施例十六提供的一种DNS服务器的装置结构图,包括:
存储模块1710,用于存储配置信息;
接收模块1720,用于接收来自接入网关的域名请求,所述域名请求中包含发起所述域名请求的用户设备的设备类型;
处理模块1730,根据所述接收模块1720接收到的所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行应答处理,根据处理结果生成应答消息;
发送模块1740,用于将所述处理模块1730生成的所述应答消息发送给用户设备。
其中,用户设备的设备类型可以为IPv4设备,存储模块1710存储的配置信息可以为第六配置信息;
相应地,处理模块1730具体用于执行以下操作:
F1、根据所述域名请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤F2;如果没有查询到A记录,则执行步骤F3;
F2、生成包含查询到的A记录的应答消息;
F3、根据所述第六配置信息判断自身是否具备根据AAAA记录生成A记录的功能,如果不具备,则执行步骤F4;如果具备,则执行步骤F5;
F4、生成包含查询失败信息的应答消息;
F5、根据所述域名请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤F6;如果没有查询到AAAA记录,则执行步骤F7;
F6、根据查询到的AAAA记录生成对应的A记录,并生成包含生成的A记录的应答消息;
F7、生成包含查询失败信息的应答消息。
用户设备的设备类型还可以为IPv6设备,存储模块1710存储的配置信息还可以为第五配置信息;
相应地,处理模块1730具体用于执行以下操作:
G1、根据所述域名请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤G2;如果没有查询到AAAA记录,则执行步骤G3;
G2、生成包含查询到的AAAA记录的应答消息;
G3、根据所述第五配置信息判断自身是否具备根据A记录生成AAAA记录的功能,如果不具备,则执行步骤G4;如果具备,则执行步骤G5;
G4、生成包含查询失败信息的应答消息;
G5、根据所述域名请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤G6;如果没有查询到A记录,则执行步骤G7;
G6、根据查询到的A记录生成对应的AAAA记录,并生成包含生成的AAAA记录的应答消息;
G7、生成包含所述查询失败信息的应答消息。
上述用户设备的设备类型还可以为双栈设备,存储模块1710存储的配置信息还可以为第七配置信息;
相应地,处理模块1730具体用于执行以下操作:
H1、对所述域名请求的类型进行判断,如果是A记录请求,则执行步骤H2;如果是AAAA记录请求,则执行步骤H7;如果是双栈记录请求,则执行步骤H12;
H2、根据所述A记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤H3;如果没有查询到A记录,则执行步骤H4;
H3、生成包含查询到的A记录的应答消息;
H4、根据所述A记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤H5;如果没有查询到AAAA记录,则执行步骤H6;
H5、生成包含查询到的AAAA记录的应答消息;
H6、生成包含查询失败信息的应答消息;
H7、根据所述AAAA记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤H8;如果没有查询到AAAA记录,则执行步骤H9;
H8、生成包含查询到的AAAA记录的应答消息;
H9、根据所述AAAA记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤H10;如果没有查询到A记录,则执行步骤H11;
H10、生成包含查询到的A记录的应答消息;
H11、生成包含查询失败信息的应答消息;
H12、根据双栈记录请求中包含的域名查询对应的AAAA记录和A记录,如果仅查询到AAAA记录,则执行步骤H13;如果仅查询到A记录,则执行步骤H14;如果没有查询到AAAA记录或A记录,则执行步骤H15;如果查询到AAAA记录和A记录,则执行步骤H16;
H13、生成包含查询到的AAAA记录的应答消息;
H14、生成包含查询到的A记录的应答消息;
H15、生成包含所述查询失败信息的应答消息;
H16、根据所述第七配置信息判断向所述用户设备优先返回A记录还是AAAA记录,如果优先返回A记录,则执行步骤H17;如果优先返回AAAA记录,执行步骤H18;
H17、将查询到的A记录设置到所述应答消息中靠前的资源记录中,将查询到的AAAA记录设置到所述应答消息中靠后的资源记录中;
H18、将查询到的AAAA记录设置到所述应答消息中靠前的资源记录中,将查询到的A记录设置到所述应答消息中靠后的资源记录中。
本发明实施例提供一种DNS服务器,通过在域名请求中配置用户设备的设备类型,使得DNS服务器能够感知用户设备的请求意愿和设备类型,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。此外,接入网关不需要针对不同类型的用户设备将域名请求分配给不同的DNS服务器,降低了接入网关分配DNS服务器的配置复杂度和分配处理复杂度,便于网络部署。
实施例十七
参考图18,图18是本发明实施例十七提供的一种DNS服务器的装置结构图,包括:
存储模块1810,用于存储配置信息;
接收模块1820,用于接收来自接入网关的域名请求,所述域名请求中包含发起所述域名请求的用户设备的设备类型;
处理模块1830,根据所述接收模块1820接收到的所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行应答处理,根据处理结果生成应答消息;
发送模块1840,用于将所述处理模块1830生成的所述应答消息发送给用户设备。
其中,域名请求中包含的所述用户设备的设备类型为IPv4设备;
相应地,上述存储模块1810,包括:
第一存储子模块1811,用于存储第六配置信息;
所述处理模块1830,包括:
第一查询子模块1831,用于根据所述域名请求中包含的域名查询对应的A记录;
第一判断子模块1832,用于在所述第一查询子模块1831没有查询到A记录时,根据所述第六配置信息判断所述DNS服务器是否具备根据AAAA记录生成A记录的功能;
第二查询子模块1833,用于在所述第一判断子模块1832判断出所述DNS服务器具备根据AAAA记录生成A记录的功能时,根据所述域名请求中包含的域名查询对应的AAAA记录;
第一生成子模块1834,用于在所述第一查询子模块1831查询到A记录时,生成包含查询到的A记录的应答消息;在所述第一判断子模块1832判断出所述DNS服务器不具备根据AAAA记录生成A记录的功能,或者所述第二查询子模块1833没有查询到AAAA记录时,生成包含查询失败信息的应答消息;在所述第二查询子模块1833查询到AAAA记录时,根据查询到的AAAA记录生成对应的A记录,并生成包含生成的A记录的应答消息。
本发明实施例提供一种DNS服务器,通过在域名请求中配置用户设备的设备类型,使得DNS服务器能够感知IPv4设备的请求意愿,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。此外,接入网关不需要针对不同类型的用户设备将域名请求分配给不同的DNS服务器,降低了接入网关分配DNS服务器的配置复杂度和分配处理复杂度,便于网络部署。
实施例十八
参考图19,图19是本发明实施例十八提供的一种DNS服务器的装置结构图,包括:
存储模块1910,用于存储配置信息;
接收模块1920,用于接收来自接入网关的域名请求,所述域名请求中包含发起所述域名请求的用户设备的设备类型;
处理模块1930,根据所述接收模块1920接收到的所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行应答处理,根据处理结果生成应答消息;
发送模块1940,用于将所述处理模块1930生成的所述应答消息发送给用户设备。
其中,所述域名请求中包含的所述用户设备的设备类型为IPv6设备;
相应地,所述存储模块1910,包括:
第二存储子模块1911,用于存储第五配置信息;
所述处理模块1930,包括:
第三查询子模块1931,用于根据所述域名请求中包含的域名查询对应的AAAA记录;
第二判断子模块1932,用于在所述第三查询子模块1931没有查询到AAAA记录时,根据所述第五配置信息判断所述DNS服务器是否具备根据A记录生成AAAA记录的功能;
第四查询子模块1933,用于在所述第二判断子模块1932判断出所述DNS服务器具备根据A记录生成AAAA记录的功能时,根据所述域名请求中包含的域名查询对应的A记录;
第二生成子模块1934,用于在所述第三查询子模块1931查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第二判断子模块1932判断出所述DNS服务器不具备根据A记录生成AAAA记录的功能,或者所述第四查询子模块1933没有查询到A记录时,生成包含查询失败信息的应答消息;在所述第四查询子模块1933查询到A记录时,根据查询到的A记录生成对应的AAAA记录,并生成包含该生成的AAAA记录的应答消息。
本发明实施例提供一种DNS服务器,通过在域名请求中配置用户设备的设备类型,使得DNS服务器能够感知IPv6设备的请求意愿,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。此外,接入网关不需要针对不同类型的用户设备将域名请求分配给不同的DNS服务器,降低了接入网关分配DNS服务器的配置复杂度和分配处理复杂度,便于网络部署。
实施例十九
参考图20,图20是本发明实施例十九提供的一种DNS服务器的装置结构图,包括:
存储模块2010,用于存储配置信息;
接收模块2020,用于接收来自接入网关的域名请求,所述域名请求中包含发起所述域名请求的用户设备的设备类型;
处理模块2030,根据所述接收模块2020接收到的所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行应答处理,根据处理结果生成应答消息;
发送模块2040,用于将所述处理模块2030生成的所述应答消息发送给用户设备。
其中,所述域名请求中包含的所述用户设备的设备类型为双栈设备;
相应地,所述存储模块2010,包括:
第三存储子模块2011,用于存储第七配置信息;
所述处理模块2030,包括:
第三判断子模块2031,用于对所述域名请求的类型进行判断;
第五查询子模块2032,用于在所述第三判断子模块2031判断出所述域名请求的类型为A记录请求时,根据所述A记录请求中包含的域名查询对应的A记录;在没有查询到A记录时,根据所述A记录请求中包含的域名查询对应的AAAA记录;
第六查询子模块2033,用于在所述第三判断子模块2031判断出所述域名请求的类型为AAAA记录请求时,根据所述AAAA记录请求中包含的域名查询对应的AAAA记录;在没有查询到AAAA记录时,根据所述AAAA记录请求中包含的域名查询对应的A记录;
第七查询子模块2034,用于在所述第三判断子模块2031判断出所述域名请求的类型为双栈记录请求时,根据双栈记录请求中包含的域名查询对应的AAAA记录和A记录;
第四判断子模块2035,用于在所述第七查询子模块2034查询到AAAA记录和A记录时,根据所述第七配置信息判断向所述用户设备优先返回A记录还是AAAA记录;
第三生成子模块2036,用于在所述第五查询子模块2032查询到A记录时,生成包含查询到的A记录的应答消息;在所述第五查询子模块2032查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第五查询子模块2032没有查询到AAAA记录时,生成包含查询失败信息的应答消息;
在所述第六查询子模块2033查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第六查询子模块查询到A记录时,生成包含查询到的A记录的应答消息;在所述第六查询子模块没有查询到A记录时,生成包含查询失败信息的应答消息;
在所述第七查询子模块2034仅查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第七查询子模块2034仅查询到A记录时,生成包含查询到的A记录的应答消息;在所述第七查询子模块2034没有查询到AAAA记录或A记录时,生成包含所述查询失败信息的应答消息;在所述第四判断子模块2035判断出优先返回A记录时,将查询到的A记录设置到所述应答消息中靠前的资源记录中,将查询到的AAAA记录设置到所述应答消息中靠后的资源记录中;在所述第四判断子模块2035判断出优先返回AAAA记录时,将查询到的AAAA记录设置到所述应答消息中靠前的资源记录中,将查询到的A记录设置到所述应答消息中靠后的资源记录中。
本发明实施例提供一种DNS服务器,通过在域名请求中配置用户设备的设备类型,使得DNS服务器能够感知双栈设备的请求意愿,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。此外,接入网关不需要针对不同类型的用户设备将域名请求分配给不同的DNS服务器,降低了接入网关分配DNS服务器的配置复杂度和分配处理复杂度,便于网络部署。
实施例二十
参考图21,图21是本发明实施例二十提供的一种DNS服务器的装置结构图,包括处理器2110、通信接口2120、存储器2130和总线2140,所述处理器2110、所述通信接口2120、所述存储器2130通过所述总线2140完成相互之间的通信;
所述通信接口2120,用于与用户设备和接入网关进行通信;
所述处理器2110,用于执行程序;
所述存储器2130,用于存放程序;
其中,所述程序用于接收来自所述接入网关的域名请求,根据所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的用户设备的设备类型,对所述域名请求进行应答处理,根据处理结果生成应答消息,将所述应答消息发送给所述用户设备。
具体地,用户设备的设备类型可以为IPv4设备,DNS服务器中预置的配置信息可以为第六配置信息;
相应地,所述程序具体用于执行以下操作:
F1、根据所述域名请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤F2;如果没有查询到A记录,则执行步骤F3;
F2、生成包含查询到的A记录的应答消息;
F3、根据所述第六配置信息判断自身是否具备根据AAAA记录生成A记录的功能,如果不具备,则执行步骤F4;如果具备,则执行步骤F5;
F4、生成包含查询失败信息的应答消息;
F5、根据所述域名请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤F6;如果没有查询到AAAA记录,则执行步骤F7;
F6、根据查询到的AAAA记录生成对应的A记录,并生成包含生成的A记录的应答消息;
F7、生成包含查询失败信息的应答消息。
用户设备的设备类型还可以为IPv6设备,DNS服务器中预置的配置信息还可以为第五配置信息;
相应地,所述程序具体用于执行以下操作:
G1、根据所述域名请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤G2;如果没有查询到AAAA记录,则执行步骤G3;
G2、生成包含查询到的AAAA记录的应答消息;
G3、根据所述第五配置信息判断自身是否具备根据A记录生成AAAA记录的功能,如果不具备,则执行步骤G4;如果具备,则执行步骤G5;
G4、生成包含查询失败信息的应答消息;
G5、根据所述域名请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤G6;如果没有查询到A记录,则执行步骤G7;
G6、根据查询到的A记录生成对应的AAAA记录,并生成包含生成的AAAA记录的应答消息;
G7、生成包含所述查询失败信息的应答消息。
上述用户设备的设备类型还可以为双栈设备,DNS服务器中预置的配置信息还可以为第七配置信息;
相应地,所述程序具体用于执行以下操作:
H1、对所述域名请求的类型进行判断,如果是A记录请求,则执行步骤H2;如果是AAAA记录请求,则执行步骤H7;如果是双栈记录请求,则执行步骤H12;
H2、根据所述A记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤H3;如果没有查询到A记录,则执行步骤H4;
H3、生成包含查询到的A记录的应答消息;
H4、根据所述A记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤H5;如果没有查询到AAAA记录,则执行步骤H6;
H5、生成包含查询到的AAAA记录的应答消息;
H6、生成包含查询失败信息的应答消息;
H7、根据所述AAAA记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤H8;如果没有查询到AAAA记录,则执行步骤H9;
H8、生成包含查询到的AAAA记录的应答消息;
H9、根据所述AAAA记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤H10;如果没有查询到A记录,则执行步骤H11;
H10、生成包含查询到的A记录的应答消息;
H11、生成包含查询失败信息的应答消息;
H12、根据双栈记录请求中包含的域名查询对应的AAAA记录和A记录,如果仅查询到AAAA记录,则执行步骤H13;如果仅查询到A记录,则执行步骤H14;如果没有查询到AAAA记录或A记录,则执行步骤H15;如果查询到AAAA记录和A记录,则执行步骤H16;
H13、生成包含查询到的AAAA记录的应答消息;
H14、生成包含查询到的A记录的应答消息;
H15、生成包含所述查询失败信息的应答消息;
H16、根据所述第七配置信息判断向所述用户设备优先返回A记录还是AAAA记录,如果优先返回A记录,则执行步骤H17;如果优先返回AAAA记录,执行步骤H18;
H17、将查询到的A记录设置到所述应答消息中靠前的资源记录中,将查询到的AAAA记录设置到所述应答消息中靠后的资源记录中;
H18、将查询到的AAAA记录设置到所述应答消息中靠前的资源记录中,将查询到的A记录设置到所述应答消息中靠后的资源记录中。
本发明实施例提供一种DNS服务器,通过在域名请求中配置用户设备的设备类型,使得DNS服务器能够感知用户设备的请求意愿和设备类型,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。此外,接入网关不需要针对不同类型的用户设备将域名请求分配给不同的DNS服务器,降低了接入网关分配DNS服务器的配置复杂度和分配处理复杂度,便于网络部署。
实施例二十一
参考图22,图22是本发明实施例二十一提供的一种处理域名请求的方法流程图,包括以下步骤:
步骤2201,用户设备根据自身的设备类型向接入网关发起域名请求。
其中,域名请求中包含用户设备的设备类型,用户设备的设备类型可以包含在域名请求的新增字段中。
步骤2202,接入网关将域名请求转发给DNS服务器。
步骤2203,DNS服务器根据域名请求的类型、DNS服务器中预置的配置信息以及域名请求中包含的用户设备的设备类型,对域名请求进行应答处理,根据处理结果生成应答消息,并将应答消息发送给用户设备。
其中,用户设备的设备类型可以为IPv4设备,DNS服务器中预置的配置信息可以为第六配置信息;
相应地,DNS服务器根据所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
F1、所述DNS服务器根据所述域名请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤F2;如果没有查询到A记录,则执行步骤F3;
F2、所述DNS服务器生成包含查询到的A记录的应答消息;
F3、所述DNS服务器根据所述第六配置信息判断自身是否具备根据AAAA记录生成A记录的功能,如果不具备,则执行步骤F4;如果具备,则执行步骤F5;
F4、所述DNS服务器生成包含查询失败信息的应答消息;
F5、所述DNS服务器根据所述域名请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤F6;如果没有查询到AAAA记录,则执行步骤F7;
F6、所述DNS服务器根据查询到的AAAA记录生成对应的A记录,并生成包含生成的A记录的应答消息;
F7、所述DNS服务器生成包含查询失败信息的应答消息。
用户设备的设备类型还可以为IPv6设备,所述DNS服务器中预置的配置信息还可以为第五配置信息;
相应地,所述DNS服务器根据所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
G1、所述DNS服务器根据所述域名请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤G2;如果没有查询到AAAA记录,则执行步骤G3;
G2、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
G3、所述DNS服务器根据所述第五配置信息判断自身是否具备根据A记录生成AAAA记录的功能,如果不具备,则执行步骤G4;如果具备,则执行步骤G5;
G4、所述DNS服务器生成包含查询失败信息的应答消息;
G5、所述DNS服务器根据所述域名请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤G6;如果没有查询到A记录,则执行步骤G7;
G6、所述DNS服务器根据查询到的A记录生成对应的AAAA记录,并生成包含生成的AAAA记录的应答消息;
G7、所述DNS服务器生成包含所述查询失败信息的应答消息。
上述用户设备的设备类型还可以为双栈设备,所述DNS服务器中预置的配置信息还可以为第七配置信息;
相应地,所述DNS服务器根据所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
H1、所述DNS服务器对所述域名请求的类型进行判断,如果是A记录请求,则执行步骤H2;如果是AAAA记录请求,则执行步骤H7;如果是双栈记录请求,则执行步骤H12;
H2、所述DNS服务器根据所述A记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤H3;如果没有查询到A记录,则执行步骤H4;
H3、所述DNS服务器生成包含查询到的A记录的应答消息;
H4、所述DNS服务器根据所述A记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤H5;如果没有查询到AAAA记录,则执行步骤H6;
H5、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
H6、所述DNS服务器生成包含查询失败信息的应答消息;
H7、所述DNS服务器根据所述AAAA记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤H8;如果没有查询到AAAA记录,则执行步骤H9;
H8、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
H9、所述DNS服务器根据所述AAAA记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤H10;如果没有查询到A记录,则执行步骤H11;
H10、所述DNS服务器生成包含查询到的A记录的应答消息;
H11、所述DNS服务器生成包含查询失败信息的应答消息;
H12、所述DNS服务器根据双栈记录请求中包含的域名查询对应的AAAA记录和A记录,如果仅查询到AAAA记录,则执行步骤H13;如果仅查询到A记录,则执行步骤H14;如果没有查询到AAAA记录或A记录,则执行步骤H15;如果查询到AAAA记录和A记录,则执行步骤H16;
H13、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
H14、所述DNS服务器生成包含查询到的A记录的应答消息;
H15、所述DNS服务器生成包含所述查询失败信息的应答消息;
H16、所述DNS服务器根据所述第七配置信息判断向所述用户设备优先返回A记录还是AAAA记录,如果优先返回A记录,则执行步骤H17;如果优先返回AAAA记录,执行步骤H18;
H17、所述DNS服务器将查询到的A记录设置到所述应答消息中靠前的资源记录中,将查询到的AAAA记录设置到所述应答消息中靠后的资源记录中;
H18、所述DNS服务器将查询到的AAAA记录设置到所述应答消息中靠前的资源记录中,将查询到的A记录设置到所述应答消息中靠后的资源记录中。
进一步地,所述用户设备向接入网关发起域名请求之前,还包括:
所述用户设备向所述接入网关发起接入请求;
所述接入网关为所述用户设备分配网络地址,向所述用户设备返回分配给所述用户设备的网络地址;
所述用户设备根据所述网络地址确定自身的设备类型。
具体地,所述用户设备根据所述网络地址确定自身的设备类型,具体为:
当所述网络地址类型为IPv4地址时,所述用户设备确定自身的设备类型为IPv4设备;当所述网络地址类型为IPv6地址时,所述用户设备确定自身的设备类型为IPv6设备;当所述网络地址类型为双栈地址时,所述用户设备确定自身的设备类型为双栈设备。
本发明实施例提供一种处理域名请求的方法,通过在域名请求中配置用户设备的设备类型,使得DNS服务器能够感知用户设备的请求意愿和设备类型,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。此外,接入网关不需要针对不同类型的用户设备将域名请求分配给不同的DNS服务器,降低了接入网关分配DNS服务器的配置复杂度和分配处理复杂度,便于网络部署。
实施例二十二
参考图23,图23是本发明实施例二十二提供的一种处理域名请求的方法流程图,包括以下步骤:
步骤2300,用户设备设置优选配置信息。
其中,优选配置信息可以为A记录优选信息,也可以为AAAA记录优选信息,还可以为任意优选信息。
步骤2301,用户设备向接入网关发起接入请求。
步骤2302,接入网关为用户设备分配网络地址,记录用户设备的网络地址类型,并根据该网络地址类型确定用户设备的设备类型。
具体地,接入网关可以直接为用户设备分配网络地址,也可以作为用户设备的代理接入到具有网络地址分配功能的服务器,获取该服务器分配给用户设备的网络地址。
其中,用户设备的网络地址类型可以为IPv4地址、IPv6地址或双栈地址(即,IPv4地址+IPv6地址),相应地,当用户设备的网络地址类型为IPv4地址时,接入网关确定用户设备的设备类型为IPv4设备;当用户设备的网络地址类型为IPv6地址时,接入网关确定用户设备的设备类型为IPv6设备;当用户设备的网络地址类型为双栈地址时,接入网关确定用户设备的设备类型为双栈设备。
步骤2303,接入网关向用户设备返回分配给该用户设备的网络地址。
步骤2304,用户设备根据分配给自身的网络地址确定自身的设备类型。
步骤2305,用户设备根据自身的设备类型向接入网关发起域名请求。
其中,用户设备发起的域名请求中可以包含用户设备的设备类型和用户设备需要访问的应用服务器的域名,该应用服务器具有与该域名对应的IPv4地址或IPv6地址。用户设备的设备类型可通过域名扩展标记的方式包含在域名请求的新增字段中,用户设备发起的域名请求的类型可以是A记录请求、AAAA记录请求或双栈记录请求中的任意一种,该双栈记录请求用于同时向DNS服务器请求A记录和AAAA记录。
步骤2306,接入网关将接收到的域名请求转发给DNS服务器。
步骤2307,DNS服务器根据接收到的域名请求的类型和预先配置的配置信息,对接收到的域名请求进行应答处理,并根据处理结果生成应答消息。
其中,DNS服务器中预先设置的配置信息可以包括第五配置信息、第六配置信息和第七配置信息,第五配置信息用于标识DNS服务器是否具备根据A记录生成AAAA记录,第六配置信息用于标识DNS服务器是否具备根据AAAA记录生成A记录的功能,第七配置信息用于标识在接收到来自双栈设备的双栈请求时,向双栈设备优先返回A记录或AAAA记录。应答消息可以包含A记录,也可以包含AAAA记录,也可以同时包含A记录和AAAA记录,还可以包含查询失败信息。
步骤2308,DNS服务器向用户设备发送应答消息。
步骤2309,用户设备根据优选配置信息和应答消息,向应用服务器发起访问请求。
具体地,优选配置信息为A记录优选信息时,用户设备可以根据应答消息中包含的A记录,向应用服务器发起访问请求;优选配置信息为AAAA记录优选信息时,用户设备可以根据应答消息中包含的AAAA记录,向应用服务器发起访问请求;优选配置信息为任意优选信息时,用户设备可以根据应答消息中包含的A记录或AAAA记录,向所述应用服务器发起访问请求。
需要说明的是,当用户设备使用A记录向具有IPv6地址的应用服务器发起访问请求,或者用户设备使用AAAA记录向具有IPv4地址的应用服务器发起访问请求时,网络中的NAT服务器可对用户设备与应用服务器之间的报文进行IPv4报文和IPv6报文之间的转换,该NAT服务器可以独立部署,也可以和接入网关是同一设备。
此外,上述步骤2307,可细化为如图24所示的流程图,包括以下步骤:
步骤2401,DNS服务器对接收到的域名请求中包含的设备类型进行判断,如果是IPv4设备,则执行步骤2402;如果是IPv6设备,则执行步骤2409;如果是双栈设备,则执行步骤2416。
步骤2402,DNS服务器根据域名请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤2403;如果没有查询到A记录,则执行步骤2404;
步骤2403,DNS服务器生成包含查询到的A记录的应答消息。
步骤2404,DNS服务器根据第六配置信息判断自身是否具备根据AAAA记录生成A记录的功能,如果不具备,则执行步骤2405;如果具备,则执行步骤2406。
步骤2405,DNS服务器生成包含查询失败信息的应答消息。
步骤2406,DNS服务器根据域名请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤2407;如果没有查询到AAAA记录,则执行步骤2408。
步骤2407,DNS服务器根据查询到的AAAA记录生成对应的A记录,并生成包含上述生成的A记录的应答消息。
步骤2408,DNS服务器生成包含查询失败信息的应答消息。
步骤2409,DNS服务器根据域名请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤2410;如果没有查询到AAAA记录,则执行步骤2411;
步骤2410,DNS服务器生成包含查询到的AAAA记录的应答消息。
步骤2411,DNS服务器根据第五配置信息判断自身是否具备根据A记录生成AAAA记录的功能,如果不具备,则执行步骤2412;如果具备,则执行步骤2413。
步骤2412,DNS服务器生成包含查询失败信息的应答消息。
步骤2413,DNS服务器根据域名请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤2414;如果没有查询到A记录,则执行步骤2415。
步骤2414,DNS服务器根据查询到的A记录生成对应的AAAA记录,并生成包含上述生成的AAAA记录的应答消息。
步骤2415,DNS服务器生成包含查询失败信息的应答消息。
步骤2416,DNS服务器对域名请求的类型进行判断,如果是A记录请求,则执行步骤2417;如果是AAAA记录请求,则执行步骤2422;如果是双栈记录请求,则执行步骤2427。
步骤2417,DNS服务器根据A记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤2418;如果没有查询到A记录,则执行步骤2419;
步骤2418,DNS服务器生成包含查询到的A记录的应答消息。
步骤2419,DNS服务器根据A记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤2420;如果没有查询到AAAA记录,则执行步骤2421。
步骤2420,DNS服务器生成包含查询到的AAAA记录的应答消息。
步骤2421,DNS服务器生成包含查询失败信息的应答消息。
步骤2422,DNS服务器根据AAAA记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤2423;如果没有查询到AAAA记录,则执行步骤2424;
步骤2423,DNS服务器生成包含查询到的AAAA记录的应答消息。
步骤2424,DNS服务器根据AAAA记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤2425;如果没有查询到A记录,则执行步骤2426。
步骤2425,DNS服务器生成包含查询到的A记录的应答消息。
步骤2426,DNS服务器生成包含查询失败信息的应答消息。
步骤2427,DNS服务器根据双栈记录请求中包含的域名查询对应的AAAA记录和A记录,如果仅查询到AAAA记录,则执行步骤2428;如果仅查询到A记录,则执行步骤2429;如果没有查询到AAAA记录或A记录,则执行步骤2430;如果查询到AAAA记录和A记录,则执行步骤2431。
步骤2428,DNS服务器生成包含查询到的AAAA记录的应答消息。
步骤2429,DNS服务器生成包含查询到的A记录的应答消息。
步骤2430,DNS服务器生成包含查询失败信息的应答消息。
步骤2431,DNS服务器根据第七配置信息判断向用户设备优先返回A记录还是AAAA记录,如果优先返回A记录,则执行步骤2432;否则,执行步骤2433。
步骤2432,DNS服务器将查询到的A记录设置到应答消息中靠前的资源记录中,将查询到的AAAA记录设置到应答消息中靠后的资源记录中。
步骤2433,DNS服务器将查询到的AAAA记录设置到应答消息中靠前的资源记录中,将查询到的A记录设置到应答消息中靠后的资源记录中。
本发明实施例提供一种处理域名请求的方法,通过在域名请求中配置用户设备的设备类型,使得DNS服务器能够感知用户设备的请求意愿和设备类型,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。此外,接入网关不需要针对不同类型的用户设备将域名请求分配给不同的DNS服务器,降低了接入网关分配DNS服务器的配置复杂度和分配处理复杂度,便于网络部署。
实施例二十三
参考图25,图25是本发明实施例二十三提供的一种用户设备的装置结构图,包括:
设置模块2510,用于设置优选配置信息。
第一发送模块2520,用于向接入网关发起域名请求。
其中,第一发送模块2520发起的域名请求中可以包含用户设备的设备类型和用户设备需要访问的应用服务器的域名,该应用服务器具有与该域名对应的IPv4地址或IPv6地址。用户设备的设备类型可通过域名扩展标记的方式包含在域名请求的新增字段中,第一发送模块2520发起的域名请求的类型可以是A记录请求、AAAA记录请求、A记录优先请求、AAAA记录优先请求或双栈记录请求中的任意一种,该双栈记录请求用于同时向DNS服务器请求A记录和AAAA记录。
第一接收模块2530,用于接收DNS服务器返回的应答消息。
第二发送模块2540,用于根据设置模块2510设置的优选配置信息和第一接收模块2530接收到的应答消息,向应用服务器发起访问请求。
其中,上述优选配置信息可以为A记录优选信息;
相应地,上述设置模块2510,具体用于配置A记录优选信息;上述第二发送模块2540,具体用于根据应答消息中包含的A记录,向应用服务器发起访问请求。
上述优选配置信息也可以为AAAA记录优选信息;
相应地,上述设置模块2510,具体用于配置AAAA记录优选信息;上述第二发送模块2540,具体用于根据应答消息中包含的AAAA记录,向应用服务器发起访问请求。
上述优选配置信息还可以为任意优选信息;
相应地,上述设置模块2510,具体用于配置任意优选信息;上述第二发送模块2540,具体用于根据应答消息中包含的A记录或AAAA记录,向应用服务器发起访问请求。
本发明实施例提供一种处理域名请求的方法,通过在域名请求中配置用户设备的设备类型,使得DNS服务器能够感知用户设备的请求意愿和设备类型,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,用户设备根据预先设置的优选配置信息使用A记录或AAAA记录发起访问请求,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。
实施例二十四
参考图26,图26是本发明实施例二十四提供的一种用户设备的装置结构图,包括:
设置模块2610,用于设置优选配置信息。
第一发送模块2620,用于向接入网关发起域名请求。
其中,第一发送模块2620发起的域名请求中可以包含用户设备的设备类型和用户设备需要访问的应用服务器的域名,该应用服务器具有与该域名对应的IPv4地址或IPv6地址。用户设备的设备类型可通过域名扩展标记的方式包含在域名请求的新增字段中,第一发送模块2620发起的域名请求的类型可以是A记录请求、AAAA记录请求、A记录优先请求、AAAA记录优先请求或双栈记录请求中的任意一种,该双栈记录请求用于同时向DNS服务器请求A记录和AAAA记录。
第一接收模块2630,用于接收DNS服务器返回的应答消息。
第二发送模块2640,用于根据设置模块2610设置的优选配置信息和第一接收模块2630接收到的应答消息,向应用服务器发起访问请求。
第三发送模块2650,用于向所述接入网关发起接入请求;
第二接收模块2660,用于接收所述接入网关分配给所述用户设备的网络地址。
确定模块2670,用于根据所述第二接收模块2660接收到的所述网络地址类型确定所述用户设备的设备类型。
相应地,上述第一发送模块2620,具体用于根据确定模块2680确定出的用户设备的设备类型,向接入网关发起域名请求。
其中,上述优选配置信息可以为A记录优选信息;
相应地,上述设置模块2610,具体用于配置A记录优选信息;上述第二发送模块2640,具体用于根据应答消息中包含的A记录,向应用服务器发起访问请求。
上述优选配置信息也可以为AAAA记录优选信息;
相应地,上述设置模块2610,具体用于配置AAAA记录优选信息;上述第二发送模块2640,具体用于根据应答消息中包含的AAAA记录,向应用服务器发起访问请求。
上述优选配置信息还可以为任意优选信息;
相应地,上述设置模块2610,具体用于配置任意优选信息;上述第二发送模块2640,具体用于根据应答消息中包含的A记录或AAAA记录,向应用服务器发起访问请求。
本发明实施例提供一种处理域名请求的方法,通过在域名请求中配置用户设备的设备类型,使得DNS服务器能够感知用户设备的请求意愿和设备类型,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,用户设备根据接入网关分配的网络地址的类型确定自身的设备类型,根据预先设置的优选配置信息使用A记录或AAAA记录发起访问请求,降低了DNS请求的失败率以及DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。
实施例二十五
参考图27,图27本发明实施例二十五提供的一种用户设备的装置结构图,包括处理器2710、通信接口2720、存储器2730和总线2740,所述处理器2710、所述通信接口2720、所述存储器2730通过所述总线2740完成相互之间的通信;
所述通信接口2720,用于与接入网关、DNS服务器和应用服务器进行通信;
所述处理器2710,用于执行程序;
所述存储器2730,用于存放所述程序;
其中,所述程序用于设置优选配置信息,向所述接入网关发起域名请求,接收所述DNS服务器返回的应答消息,根据所述优选配置信息和所述应答消息,向所述应用服务器发起访问请求。
具体地,优选配置信息为A记录优选信息时,所述程序可以根据应答消息中包含的A记录,向应用服务器发起访问请求;优选配置信息为AAAA记录优选信息时,所述程序可以根据应答消息中包含的AAAA记录,向应用服务器发起访问请求;优选配置信息为任意优选信息时,所述程序可以根据应答消息中包含的A记录或AAAA记录,向所述应用服务器发起访问请求。
优选地,所述程序还可以向所述接入网关发起接入请求,接收所述接入网关分配给所述用户设备的网络地址,根据所述网络地址类型确定所述用户设备的设备类型。
本发明实施例提供一种处理域名请求的方法,通过在域名请求中配置用户设备的设备类型,使得DNS服务器能够感知用户设备的请求意愿和设备类型,进而能够向用户设备返回用户设备所需要的、适应网络状况的A记录和/或AAAA记录,用户设备根据预先设置的优选配置信息使用A记录或AAAA记录发起访问请求,降低了DNS应答的盲目性,避免了不必要的查询和生成A记录或AAAA记录的操作,避免了不必要的网络地址转换操作,降低了对DNS服务器和NAT服务器的性能需求。
以上所述仅为本发明的优选实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明要求包含范围之内。
Claims (56)
1.一种接入网关,其特征在于,包括:
存储模块,用于存储配置信息;
接收模块,用于接收来自用户设备的域名请求和来自域名系统DNS服务器的应答消息;
修改模块,用于根据所述用户设备的设备类型以及所述存储模块存储的配置信息,对所述接收模块接收到的域名请求进行修改;
发送模块,用于将所述修改模块修改后的域名请求发送给所述DNS服务器,将所述应答消息发送给所述用户设备;
所述存储模块,包括:
第一存储子模块,用于存储第一配置信息;
所述修改模块,包括:
第一修改子模块,用于当所述用户设备的设备类型为互联网协议版本IPv4设备时,根据所述第一存储子模块存储的第一配置信息,将所述域名请求的类型由AAAA记录优先请求或AAAA记录请求,修改为A记录请求或A记录优先请求。
2.根据权利要求1所述的接入网关,其特征在于,
所述存储模块,包括:
第二存储子模块,用于存储第二配置信息;
所述修改模块,包括:
第二修改子模块,用于当所述用户设备的设备类型为IPv4设备时,根据所述第二存储子模块存储的第二配置信息,将所述域名请求的类型由AAAA记录优先请求或AAAA记录请求,修改为A记录优先请求。
3.根据权利要求1所述的接入网关,其特征在于,
所述存储模块,包括:
第三存储子模块,用于存储第三配置信息;
所述修改模块,包括:
第三修改子模块,用于当所述用户设备的设备类型为双栈设备时,根据所述第三存储子模块存储的第三配置信息,将所述域名请求的类型由A记录优先请求或A记录请求,修改为AAAA记录优先请求;
当所述用户设备的设备类型为IPv6设备时,根据所述第三存储子模块存储的第三配置信息,将所述域名请求由AAAA记录优先请求修改为AAAA记录请求。
4.根据权利要求1所述的接入网关,其特征在于,
所述存储模块,包括:
第四存储子模块,用于存储第四配置信息;
所述修改模块,包括:
第四修改子模块,用于当所述用户设备的设备类型为双栈设备时,根据所述第四存储子模块存储的第四配置信息,将所述域名请求的类型由A记录优先请求或A记录请求修改为AAAA记录优先请求或双栈记录请求,或者,将所述域名请求的类型由AAAA记录请求修改为AAAA记录优先请求。
5.根据权利要求1所述的接入网关,其特征在于,
所述接收模块,还用于接收来自所述用户设备的接入请求;
所述接入网关,还包括:
分配模块,用于为所述用户设备分配网络地址,记录所述用户设备的网络地址类型;
确定模块,用于根据所述分配模块记录的所述网络地址类型确定所述用户设备的设备类型;
所述发送模块,还用于向所述用户设备返回所述分配模块分配给所述用户设备的网络地址。
6.根据权利要求5所述的接入网关,其特征在于,
所述确定模块,具体用于当所述用户设备的网络地址类型为IPv4地址时,确定所述用户设备的设备类型为IPv4设备;
当所述用户设备的网络地址类型为IPv6地址时,确定所述用户设备的设备类型为IPv6设备;
当所述用户设备的网络地址类型为双栈地址时,确定所述用户设备的设备类型为双栈设备。
7.一种接入网关,其特征在于,包括处理器、通信接口、存储器和总线,所述处理器、所述通信接口、所述存储器通过所述总线完成相互之间的通信;
所述通信接口,用于与用户设备和域名系统DNS服务器进行通信;
所述处理器,用于执行程序;
所述存储器,用于存放所述程序;
其中,所述程序用于接收来自所述用户设备的域名请求和来自域名系统DNS服务器的应答消息,根据所述用户设备的设备类型以及所述接入网关中预置的配置信息,对所述域名请求进行修改,并将修改后的域名请求发送给所述DNS服务器,将所述应答消息发送给所述用户设备;
所述存储器,用于存储第一配置信息;
所述程序用于当所述用户设备的设备类型为互联网协议版本IPv4设备时,根据存储的第一配置信息,将所述域名请求的类型由AAAA记录优先请求或AAAA记录请求,修改为A记录请求或A记录优先请求。
8.一种域名系统DNS服务器,其特征在于,包括:
存储模块,用于存储配置信息;
接收模块,用于接收来自接入网关的域名请求;
处理模块,用于根据所述接收模块接收到的域名请求的类型和所述配置信息,对所述域名请求进行处理;
所述接入网关包括用于存储配置信息的存储模块;
所述接入网关的存储模块,包括:
第一存储子模块,用于存储第一配置信息;
所述接入网关还包括第一修改子模块,所述第一修改子模块用于当用户设备的设备类型为互联网协议版本IPv4设备时,根据所述第一存储子模块存储的第一配置信息,将所述域名请求的类型由AAAA记录优先请求或AAAA记录请求,修改为A记录请求或A记录优先请求。
9.根据权利要求8所述的DNS服务器,其特征在于,
所述处理模块,具体用于根据所述接收模块接收到的域名请求的类型和所述配置信息,对所述域名请求进行应答处理,根据处理结果生成应答消息;
所述DNS服务器,还包括:
发送模块,用于将所述处理模块生成的所述应答消息发送给用户设备。
10.根据权利要求9所述的DNS服务器,其特征在于,
所述域名系统DNS服务器的存储模块,包括:
第一存储子模块,用于存储第六配置信息;
所述接收模块,包括:
第一接收子模块,用于接收来自所述接入网关的A记录请求;
所述处理模块,包括:
第一查询子模块,用于根据所述第一接收子模块接收到的所述A记录请求中包含的域名查询对应的A记录;
第一判断子模块,用于在所述第一查询子模块没有查询到A记录时,根据所述第六配置信息判断所述DNS服务器是否具备根据AAAA记录生成A记录的功能;
第二查询子模块,用于在所述第一判断子模块判断出所述DNS服务器具备根据AAAA记录生成A记录的功能时,根据所述A记录请求中包含的域名查询对应的AAAA记录;
第一生成子模块,用于在所述第一查询子模块查询到A记录时,生成包含查询到的A记录的应答消息;在所述第一判断子模块判断出所述DNS服务器不具备根据AAAA记录生成A记录的功能,或者所述第二查询子模块没有查询到AAAA记录时,生成包含查询失败信息的应答消息;在所述第二查询子模块查询到AAAA记录时,根据查询到的AAAA记录生成对应的A记录,并生成包含生成的A记录的应答消息。
11.根据权利要求9所述的DNS服务器,其特征在于,
所述域名系统DNS服务器的存储模块,包括:
第二存储子模块,用于存储第五配置信息;
所述接收模块,包括:
第二接收子模块,用于接收来自所述接入网关的AAAA记录请求;
所述处理模块,包括:
第三查询子模块,用于根据所述第二接收子模块接收到的所述AAAA记录请求中包含的域名查询对应的AAAA记录;
第二判断子模块,用于在所述第三查询子模块没有查询到AAAA记录时,根据所述第五配置信息判断所述DNS服务器是否具备根据A记录生成AAAA记录的功能;
第四查询子模块,用于在所述第二判断子模块判断出所述DNS服务器具备根据A记录生成AAAA记录的功能时,根据所述AAAA记录请求中包含的域名查询对应的A记录;
第二生成子模块,用于在所述第三查询子模块查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第二判断子模块判断出所述DNS服务器不具备根据A记录生成AAAA记录的功能,或者所述第四查询子模块没有查询到A记录时,生成包含查询失败信息的应答消息;在所述第四查询子模块查询到A记录时,根据查询到的A记录生成对应的AAAA记录,并生成包含该生成的AAAA记录的应答消息。
12.根据权利要求9所述的DNS服务器,其特征在于,
所述接收模块,包括:
第三接收子模块,用于接收来自所述接入网关的A记录优先请求;
所述处理模块,包括:
第五查询子模块,用于根据所述A记录优先请求中包含的域名查询对应的A记录,在没有查询到A记录时,根据所述A记录优先请求中包含的域名查询对应的AAAA记录;
第三生成子模块,用于在所述第五查询子模块查询到A记录时,生成包含查询到的A记录的应答消息;在所述第五查询子模块查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第五查询子模块没有查询到AAAA记录时,生成包含查询失败信息的应答消息。
13.根据权利要求9所述的DNS服务器,其特征在于,
所述接收模块,包括:
第四接收子模块,用于接收来自所述接入网关的AAAA记录优先请求;
所述处理模块,包括:
第六查询子模块,用于根据所述第四接收子模块接收到的所述AAAA记录优先请求中包含的域名查询对应的AAAA记录,在没有查询到AAAA记录时,根据所述AAAA记录优先请求中包含的域名查询对应的A记录;
第四生成子模块,用于在所述第六查询子模块查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第六查询子模块查询到A记录时,生成包含查询到的A记录的应答消息;在所述第六查询子模块没有查询到A记录时,生成包含查询失败信息的应答消息。
14.根据权利要求9所述的DNS服务器,其特征在于,
所述域名系统DNS服务器的存储模块,包括:
第三存储子模块,用于存储第七配置信息;
所述接收模块,包括:
第五接收子模块,用于接收来自所述接入网关的双栈记录请求;
所述处理模块,包括:
第七查询子模块,用于根据所述第五接收子模块接收到的所述双栈记录请求中包含的域名查询对应的AAAA记录和A记录;
第三判断子模块,用于在所述第七查询子模块查询到AAAA记录和A记录时,根据所述第七配置信息判断向所述用户设备优先返回A记录还是AAAA记录;
第五生成子模块,用于在所述第七查询子模块仅查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第七查询子模块仅查询到A记录时,生成包含查询到的A记录的应答消息;在所述第七查询子模块没有查询到AAAA记录或A记录时,生成包含查询失败信息的应答消息;在所述第三判断子模块判断出优先返回A记录时,将查询到的A记录设置到应答消息中靠前的资源记录中,将查询到的AAAA记录设置到应答消息中靠后的资源记录中;在所述第三判断子模块判断出优先返回AAAA记录,将查询到的AAAA记录设置到应答消息中靠前的资源记录中,将查询到的A记录设置到应答消息中靠后的资源记录中。
15.一种域名系统DNS服务器,其特征在于,包括处理器、通信接口、存储器和总线,所述处理器、所述通信接口、所述存储器通过所述总线完成相互之间的通信;
所述通信接口,用于与用户设备和接入网关进行通信;
所述处理器,用于执行程序;
所述存储器,用于存放所述程序;
其中,所述程序用于接收来自所述接入网关的域名请求,根据所述域名请求的类型以及所述DNS服务器中预置的配置信息,对所述域名请求进行处理;
所述接入网关的存储器,包括:
第一存储子模块,用于存储第一配置信息;
第一修改子模块,用于当所述用户设备的设备类型为互联网协议版本IPv4设备时,根据存储的第一配置信息,将所述域名请求的类型由AAAA记录优先请求或AAAA记录请求,修改为A记录请求或A记录优先请求。
16.一种用户设备,其特征在于,包括:
设置模块,用于设置优选配置信息;
第一发送模块,用于向接入网关发起域名请求;
第一接收模块,用于接收域名系统DNS服务器返回的应答消息;
第二发送模块,用于根据所述设置模块设置的所述优选配置信息和所述第一接收模块接收到的所述应答消息,向应用服务器发起访问请求;
所述接入网关包括用于存储配置信息的存储模块;
所述存储模块,包括:
第一存储子模块,用于存储第一配置信息;
所述接入网关还包括第一修改子模块,所述第一修改子模块用于当用户设备的设备类型为互联网协议版本IPv4设备时,根据所述第一存储子模块存储的第一配置信息,将所述域名请求的类型由AAAA记录优先请求或AAAA记录请求,修改为A记录请求或A记录优先请求。
17.根据权利要求16所述的用户设备,其特征在于,所述优选配置信息为A记录优选信息;
所述设置模块,具体用于配置所述A记录优选信息;
所述第二发送模块,具体用于根据所述应答消息中包含的A记录,向所述应用服务器发起访问请求。
18.根据权利要求16所述的用户设备,其特征在于,所述优选配置信息为AAAA记录优选信息;
所述设置模块,具体用于配置所述AAAA记录优选信息;
所述第二发送模块,具体用于根据所述应答消息中包含的AAAA记录,向所述应用服务器发起访问请求。
19.根据权利要求16所述的用户设备,其特征在于,所述优选配置信息为任意优选信息;
所述设置模块,具体用于配置所述任意优选信息;
所述第二发送模块,具体用于根据所述应答消息中包含的A记录或AAAA记录,向所述应用服务器发起访问请求。
20.根据权利要求16所述的用户设备,其特征在于,还包括:
第三发送模块,用于向所述接入网关发起接入请求;
第二接收模块,用于接收所述接入网关分配给所述用户设备的网络地址。
21.根据权利要求20所述的用户设备,其特征在于,还包括:
确定模块,用于根据所述第二接收模块接收到的所述网络地址类型确定所述用户设备的设备类型。
22.一种用户设备,其特征在于,包括处理器、通信接口、存储器和总线,所述处理器、所述通信接口、所述存储器通过所述总线完成相互之间的通信;
所述通信接口,用于与接入网关、域名系统DNS服务器和应用服务器进行通信;
所述处理器,用于执行程序;
所述存储器,用于存放所述程序;
其中,所述程序用于设置优选配置信息,向所述接入网关发起域名请求,接收所述DNS服务器返回的应答消息,根据所述优选配置信息和所述应答消息,向所述应用服务器发起访问请求;
所述接入网关的存储器,包括:
第一存储子模块,用于存储第一配置信息;
第一修改子模块,用于当所述用户设备的设备类型为互联网协议版本IPv4设备时,根据存储的第一配置信息,将所述域名请求的类型由AAAA记录优先请求或AAAA记录请求,修改为A记录请求或A记录优先请求。
23.一种处理域名请求的方法,其特征在于,包括以下步骤:
用户设备向接入网关发起域名请求;
所述接入网关根据所述用户设备的设备类型以及所述接入网关中预置的配置信息,对所述域名请求进行修改,并将修改后的域名请求发送给域名系统DNS服务器;
所述DNS服务器根据接收到的域名请求的类型和所述DNS服务器中预置的配置信息,对所述接收到的域名请求进行处理;
所述接入网关包括用于存储配置信息的存储模块;
所述存储模块,包括:
第一存储子模块,用于存储第一配置信息;
所述接入网关还包括第一修改子模块,所述第一修改子模块用于当用户设备的设备类型为互联网协议版本IPv4设备时,根据所述第一存储子模块存储的第一配置信息,将所述域名请求的类型由AAAA记录优先请求或AAAA记录请求,修改为A记录请求或A记录优先请求。
24.根据权利要求23所述的方法,其特征在于,所述DNS服务器根据接收到的域名请求的类型和所述DNS服务器中预置的配置信息,对所述接收到的域名请求进行处理,具体为:
所述DNS服务器根据接收到的域名请求的类型和所述DNS服务器中预置的配置信息,对所述接收到的域名请求进行应答处理,根据处理结果生成应答消息;
所述DNS服务器根据接收到的域名请求的类型和所述DNS服务器中预置的配置信息,对所述接收到的域名请求进行处理之后,还包括:
所述DNS服务器将所述应答消息发送给所述用户设备。
25.根据权利要求24所述的方法,其特征在于,所述用户设备向接入网关发起域名请求之前,还包括:
所述用户设备设置优选配置信息;
所述用户设备接收所述DNS服务器返回的应答消息之后,还包括:
所述用户设备根据所述优选配置信息和所述应答消息,向应用服务器发起访问请求。
26.根据权利要求25所述的方法,其特征在于,所述优选配置信息为A记录优选信息;
所述用户设备根据所述优选配置信息和所述应答消息,向应用服务器发起访问请求,具体为:
所述用户设备根据所述应答消息中包含的A记录,向所述应用服务器发起访问请求。
27.根据权利要求25所述的方法,其特征在于,所述优选配置信息为AAAA记录优选信息;
所述用户设备根据所述优选配置信息和所述应答消息,向应用服务器发起访问请求,具体为:
所述用户设备根据所述应答消息中包含的AAAA记录,向所述应用服务器发起访问请求。
28.根据权利要求25所述的方法,其特征在于,所述优选配置信息为任意优选信息;
所述用户设备根据所述优选配置信息和所述应答消息,向应用服务器发起访问请求,具体为:
所述用户设备根据所述应答消息中包含的A记录或AAAA记录,向所述应用服务器发起访问请求。
29.根据权利要求23所述的方法,其特征在于,所述接入网关中预置的配置信息为第二配置信息;
所述接入网关根据所述用户设备的设备类型以及所述接入网关中预置的配置信息,对所述域名请求进行修改,具体为:
如果所述用户设备的设备类型为IPv4设备,所述接入网关将所述域名请求的类型由AAAA记录优先请求或AAAA记录请求,修改为A记录优先请求。
30.根据权利要求23所述的方法,其特征在于,所述接入网关中预置的配置信息为第三配置信息;
所述接入网关根据所述用户设备的设备类型以及所述接入网关中预置的配置信息,对所述域名请求进行修改,具体为:
如果所述用户设备的设备类型为双栈设备,所述接入网关将所述域名请求的类型由A记录优先请求或A记录请求,修改为AAAA记录优先请求;
如果用户设备的设备类型为IPv6设备,所述接入网关将所述域名请求由AAAA记录优先请求修改为AAAA记录请求。
31.根据权利要求23所述的方法,其特征在于,所述接入网关中预置的配置信息为第四配置信息;
所述接入网关根据所述用户设备的设备类型以及所述接入网关中预置的配置信息,对所述域名请求进行修改,具体为:
如果所述用户设备的设备类型为双栈设备,所述接入网关将所述域名请求的类型由A记录优先请求或A记录请求修改为AAAA记录优先请求或双栈记录请求,或者,将所述域名请求的类型由AAAA记录请求修改为AAAA记录优先请求。
32.根据权利要求24所述的方法,其特征在于,所述DNS服务器接收到的域名请求的类型为A记录请求,所述DNS服务器中预置的配置信息为第六配置信息;
所述DNS服务器根据接收到的域名请求的类型和所述DNS服务器中预置的配置信息,对所述接收到的域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
A1、所述DNS服务器根据所述A记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤A2;如果没有查询到A记录,则执行步骤A3;
A2、所述DNS服务器生成包含查询到的A记录的应答消息;
A3、所述DNS服务器根据所述第六配置信息判断自身是否具备根据AAAA记录生成A记录的功能,如果不具备,则执行步骤A4;如果具备,则执行步骤A5;
A4、所述DNS服务器生成包含查询失败信息的应答消息;
A5、所述DNS服务器根据所述A记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤A6;如果没有查询到AAAA记录,则执行步骤A7;
A6、所述DNS服务器根据查询到的AAAA记录生成对应的A记录,并生成包含该生成的A记录的应答消息;
A7、所述DNS服务器生成包含所述查询失败信息的应答消息。
33.根据权利要求24所述的方法,其特征在于,所述DNS服务器接收到的域名请求的类型为AAAA记录请求,所述DNS服务器中预置的配置信息为第五配置信息;
所述DNS服务器根据接收到的域名请求的类型和所述DNS服务器中预置的配置信息,对所述接收到的域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
B1、所述DNS服务器根据所述AAAA记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤B2;如果没有查询到AAAA记录,则执行步骤B3;
B2、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
B3、所述DNS服务器根据所述第五配置信息判断自身是否具备根据A记录生成AAAA记录的功能,如果不具备,则执行步骤B4;如果具备,则执行步骤B5;
B4、所述DNS服务器生成包含查询失败信息的应答消息;
B5、所述DNS服务器根据所述AAAA记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤B6;如果没有查询到A记录,则执行步骤B7;
B6、所述DNS服务器根据查询到的A记录生成对应的AAAA记录,并生成包含该生成的AAAA记录的应答消息;
B7、所述DNS服务器生成包含所述查询失败信息的应答消息。
34.根据权利要求24所述的方法,其特征在于,所述DNS服务器接收到的域名请求的类型为A记录优先请求;
所述DNS服务器根据接收到的域名请求的类型对所述接收到的域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
C1、所述DNS服务器根据所述A记录优先请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤C2;如果没有查询到A记录,则执行步骤C3;
C2、所述DNS服务器生成包含查询到的A记录的应答消息;
C3、所述DNS服务器根据A记录优先请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤C4;如果没有查询到AAAA记录,则执行步骤C5;
C4、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
C5、所述DNS服务器生成包含查询失败信息的应答消息。
35.根据权利要求24所述的方法,其特征在于,所述DNS服务器接收到的域名请求的类型为AAAA记录优先请求;
所述DNS服务器根据接收到的域名请求的类型对所述接收到的域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
D1、所述DNS服务器根据AAAA记录优先请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤D2;如果没有查询到AAAA记录,则执行步骤D3;
D2、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
D3、所述DNS服务器根据AAAA记录优先请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤D4;如果没有查询到A记录,则执行步骤D5;
D4、所述DNS服务器生成包含查询到的A记录的应答消息;
D5、所述DNS服务器生成包含查询失败信息的应答消息。
36.根据权利要求24所述的方法,其特征在于,所述DNS服务器接收到的域名请求的类型为双栈记录请求,所述DNS服务器中预置的配置信息为第七配置信息;
所述DNS服务器根据接收到的域名请求的类型和所述DNS服务器中预置的配置信息,对所述接收到的域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
E1、所述DNS服务器根据双栈记录请求中包含的域名查询对应的AAAA记录和A记录,如果仅查询到AAAA记录,则执行步骤E2;如果仅查询到A记录,则执行步骤E3;如果没有查询到AAAA记录或A记录,则执行步骤E4;如果查询到AAAA记录和A记录,则执行步骤E5;
E2、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
E3、所述DNS服务器生成包含查询到的A记录的应答消息;
E4、所述DNS服务器生成包含查询失败信息的应答消息;
E5、所述DNS服务器根据所述第七配置信息判断向所述用户设备优先返回A记录还是AAAA记录,如果优先返回A记录,则执行步骤E6;如果优先返回AAAA记录,执行步骤E7;
E6、所述DNS服务器将查询到的A记录设置到应答消息中靠前的资源记录中,将查询到的AAAA记录设置到应答消息中靠后的资源记录中;
E7、所述DNS服务器将查询到的AAAA记录设置到应答消息中靠前的资源记录中,将查询到的A记录设置到应答消息中靠后的资源记录中。
37.根据权利要求23所述的方法,其特征在于,所述用户设备向接入网关发起域名请求之前,还包括:
所述用户设备向所述接入网关发起接入请求;
所述接入网关为所述用户设备分配网络地址,记录所述用户设备的网络地址类型,根据所述网络地址类型确定所述用户设备的设备类型,并向所述用户设备返回分配给所述用户设备的网络地址。
38.根据权利要求37所述的方法,其特征在于,所述接入网关根据所述网络地址类型确定所述用户设备的设备类型,具体为:
当所述用户设备的网络地址类型为IPv4地址时,所述接入网关确定所述用户设备的设备类型为IPv4设备;
当所述用户设备的网络地址类型为IPv6地址时,所述接入网关确定所述用户设备的设备类型为IPv6设备;
当所述用户设备的网络地址类型为双栈地址时,所述接入网关确定所述用户设备的设备类型为双栈设备。
39.一种域名系统DNS服务器,其特征在于,包括:
存储模块,用于存储配置信息;
接收模块,用于接收来自接入网关的域名请求,所述域名请求中包含发起所述域名请求的用户设备的设备类型;
处理模块,根据所述接收模块接收到的所述域名请求的类型、所述配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行处理;
所述接入网关包括用于存储配置信息的存储模块;
所述接入网关的存储模块,包括:
第一存储子模块,用于存储第一配置信息;
所述接入网关还包括第一修改子模块,所述第一修改子模块用于当用户设备的设备类型为互联网协议版本IPv4设备时,根据所述第一存储子模块存储的第一配置信息,将所述域名请求的类型由AAAA记录优先请求或AAAA记录请求,修改为A记录请求或A记录优先请求。
40.根据权利要求39所述的DNS服务器,其特征在于,
所述处理模块,具体用于根据所述接收模块接收到的域名请求的类型、所述配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行应答处理,根据处理结果生成应答消息;
所述DNS服务器,还包括:
发送模块,用于将所述处理模块生成的所述应答消息发送给用户设备。
41.根据权利要求40所述的DNS服务器,其特征在于,所述域名请求中包含的所述用户设备的设备类型为IPv4设备;
所述域名系统DNS服务器的存储模块,包括:
第一存储子模块,用于存储第六配置信息;
所述处理模块,包括:
第一查询子模块,用于根据所述域名请求中包含的域名查询对应的A记录;
第一判断子模块,用于在所述第一查询子模块没有查询到A记录时,根据所述第六配置信息判断所述DNS服务器是否具备根据AAAA记录生成A记录的功能;
第二查询子模块,用于在所述第一判断子模块判断出所述DNS服务器具备根据AAAA记录生成A记录的功能时,根据所述域名请求中包含的域名查询对应的AAAA记录;
第一生成子模块,用于在所述第一查询子模块查询到A记录时,生成包含查询到的A记录的应答消息;在所述第一判断子模块判断出所述DNS服务器不具备根据AAAA记录生成A记录的功能,或者所述第二查询子模块没有查询到AAAA记录时,生成包含查询失败信息的应答消息;在所述第二查询子模块查询到AAAA记录时,根据查询到的AAAA记录生成对应的A记录,并生成包含生成的A记录的应答消息。
42.根据权利要求40所述的DNS服务器,其特征在于,所述域名请求中包含的所述用户设备的设备类型为IPv6设备;
所述域名系统DNS服务器的存储模块,包括:
第二存储子模块,用于存储第五配置信息;
所述处理模块,包括:
第三查询子模块,用于根据所述域名请求中包含的域名查询对应的AAAA记录;
第二判断子模块,用于在所述第三查询子模块没有查询到AAAA记录时,根据所述第五配置信息判断所述DNS服务器是否具备根据A记录生成AAAA记录的功能;
第四查询子模块,用于在所述第二判断子模块判断出所述DNS服务器具备根据A记录生成AAAA记录的功能时,根据所述域名请求中包含的域名查询对应的A记录;
第二生成子模块,用于在所述第三查询子模块查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第二判断子模块判断出所述DNS服务器不具备根据A记录生成AAAA记录的功能,或者所述第四查询子模块没有查询到A记录时,生成包含查询失败信息的应答消息;在所述第四查询子模块查询到A记录时,根据查询到的A记录生成对应的AAAA记录,并生成包含该生成的AAAA记录的应答消息。
43.根据权利要求40所述的DNS服务器,其特征在于,所述域名请求中包含的所述用户设备的设备类型为双栈设备;
所述域名系统DNS服务器的存储模块,包括:
第三存储子模块,用于存储第七配置信息;
所述处理模块,包括:
第三判断子模块,用于对所述域名请求的类型进行判断;
第五查询子模块,用于在所述第三判断子模块判断出所述域名请求的类型为A记录请求时,根据所述A记录请求中包含的域名查询对应的A记录;在没有查询到A记录时,根据所述A记录请求中包含的域名查询对应的AAAA记录;
第六查询子模块,用于在所述第三判断子模块判断出所述域名请求的类型为AAAA记录请求时,根据所述AAAA记录请求中包含的域名查询对应的AAAA记录;在没有查询到AAAA记录时,根据所述AAAA记录请求中包含的域名查询对应的A记录;
第七查询子模块,用于在所述第三判断子模块判断出所述域名请求的类型为双栈记录请求时,根据双栈记录请求中包含的域名查询对应的AAAA记录和A记录;
第四判断子模块,用于在所述第七查询子模块查询到AAAA记录和A记录时,根据所述第七配置信息判断向所述用户设备优先返回A记录还是AAAA记录;
第三生成子模块,用于在所述第五查询子模块查询到A记录时,生成包含查询到的A记录的应答消息;在所述第五查询子模块查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第五查询子模块没有查询到AAAA记录时,生成包含查询失败信息的应答消息;
在所述第六查询子模块查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第六查询子模块查询到A记录时,生成包含查询到的A记录的应答消息;在所述第六查询子模块没有查询到A记录时,生成包含查询失败信息的应答消息;
在所述第七查询子模块仅查询到AAAA记录时,生成包含查询到的AAAA记录的应答消息;在所述第七查询子模块仅查询到A记录时,生成包含查询到的A记录的应答消息;在所述第七查询子模块没有查询到AAAA记录或A记录时,生成包含所述查询失败信息的应答消息;在所述第四判断子模块判断出优先返回A记录时,将查询到的A记录设置到所述应答消息中靠前的资源记录中,将查询到的AAAA记录设置到所述应答消息中靠后的资源记录中;在所述第四判断子模块判断出优先返回AAAA记录时,将查询到的AAAA记录设置到所述应答消息中靠前的资源记录中,将查询到的A记录设置到所述应答消息中靠后的资源记录中。
44.一种域名系统DNS服务器,其特征在于,包括处理器、通信接口、存储器和总线,所述处理器、所述通信接口、所述存储器通过所述总线完成相互之间的通信;
所述通信接口,用于与用户设备和接入网关进行通信;
所述处理器,用于执行程序;
所述存储器,用于存放程序;
其中,所述程序用于接收来自所述接入网关的域名请求,根据所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的用户设备的设备类型,对所述域名请求进行处理;
所述接入网关的存储器,包括:
第一存储子模块,用于存储第一配置信息;
第一修改子模块,用于当所述用户设备的设备类型为互联网协议版本IPv4设备时,根据存储的第一配置信息,将所述域名请求的类型由AAAA记录优先请求或AAAA记录请求,修改为A记录请求或A记录优先请求。
45.一种处理域名请求的方法,其特征在于,包括以下步骤:
用户设备根据自身的设备类型向接入网关发起域名请求,所述域名请求中包含所述用户设备的设备类型;
所述接入网关将所述域名请求转发给域名系统DNS服务器;
所述DNS服务器根据所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行处理;
所述接入网关包括用于存储配置信息的存储模块;
所述存储模块,包括:
第一存储子模块,用于存储第一配置信息;
所述接入网关还包括第一修改子模块,所述第一修改子模块用于当用户设备的设备类型为互联网协议版本IPv4设备时,根据所述第一存储子模块存储的第一配置信息,将所述域名请求的类型由AAAA记录优先请求或AAAA记录请求,修改为A记录请求或A记录优先请求。
46.根据权利要求45所述的方法,其特征在于,所述DNS服务器根据所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行处理,具体为:
所述DNS服务器根据所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行应答处理,根据处理结果生成应答消息;
所述DNS服务器根据所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行处理之后,还包括:
所述DNS服务器将所述应答消息发送给所述用户设备。
47.根据权利要求46所述的方法,其特征在于,所述用户设备的设备类型为IPv4设备,所述DNS服务器中预置的配置信息为第六配置信息;
所述DNS服务器根据所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
F1、所述DNS服务器根据所述域名请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤F2;如果没有查询到A记录,则执行步骤F3;
F2、所述DNS服务器生成包含查询到的A记录的应答消息;
F3、所述DNS服务器根据所述第六配置信息判断自身是否具备根据AAAA记录生成A记录的功能,如果不具备,则执行步骤F4;如果具备,则执行步骤F5;
F4、所述DNS服务器生成包含查询失败信息的应答消息;
F5、所述DNS服务器根据所述域名请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤F6;如果没有查询到AAAA记录,则执行步骤F7;
F6、所述DNS服务器根据查询到的AAAA记录生成对应的A记录,并生成包含生成的A记录的应答消息;
F7、所述DNS服务器生成包含查询失败信息的应答消息。
48.根据权利要求46所述的方法,其特征在于,所述用户设备的设备类型为IPv6设备,所述DNS服务器中预置的配置信息为第五配置信息;
所述DNS服务器根据所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
G1、所述DNS服务器根据所述域名请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤G2;如果没有查询到AAAA记录,则执行步骤G3;
G2、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
G3、所述DNS服务器根据所述第五配置信息判断自身是否具备根据A记录生成AAAA记录的功能,如果不具备,则执行步骤G4;如果具备,则执行步骤G5;
G4、所述DNS服务器生成包含查询失败信息的应答消息;
G5、所述DNS服务器根据所述域名请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤G6;如果没有查询到A记录,则执行步骤G7;
G6、所述DNS服务器根据查询到的A记录生成对应的AAAA记录,并生成包含生成的AAAA记录的应答消息;
G7、所述DNS服务器生成包含所述查询失败信息的应答消息。
49.根据权利要求46所述的方法,其特征在于,所述用户设备的设备类型为双栈设备,所述DNS服务器中预置的配置信息为第七配置信息;
所述DNS服务器根据所述域名请求的类型、所述DNS服务器中预置的配置信息以及所述域名请求中包含的所述用户设备的设备类型,对所述域名请求进行应答处理,根据处理结果生成应答消息,具体包括:
H1、所述DNS服务器对所述域名请求的类型进行判断,如果是A记录请求,则执行步骤H2;如果是AAAA记录请求,则执行步骤H7;如果是双栈记录请求,则执行步骤H12;
H2、所述DNS服务器根据所述A记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤H3;如果没有查询到A记录,则执行步骤H4;
H3、所述DNS服务器生成包含查询到的A记录的应答消息;
H4、所述DNS服务器根据所述A记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤H5;如果没有查询到AAAA记录,则执行步骤H6;
H5、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
H6、所述DNS服务器生成包含查询失败信息的应答消息;
H7、所述DNS服务器根据所述AAAA记录请求中包含的域名查询对应的AAAA记录,如果查询到AAAA记录,则执行步骤H8;如果没有查询到AAAA记录,则执行步骤H9;
H8、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
H9、所述DNS服务器根据所述AAAA记录请求中包含的域名查询对应的A记录,如果查询到A记录,则执行步骤H10;如果没有查询到A记录,则执行步骤H11;
H10、所述DNS服务器生成包含查询到的A记录的应答消息;
H11、所述DNS服务器生成包含查询失败信息的应答消息;
H12、所述DNS服务器根据双栈记录请求中包含的域名查询对应的AAAA记录和A记录,如果仅查询到AAAA记录,则执行步骤H13;如果仅查询到A记录,则执行步骤H14;如果没有查询到AAAA记录或A记录,则执行步骤H15;如果查询到AAAA记录和A记录,则执行步骤H16;
H13、所述DNS服务器生成包含查询到的AAAA记录的应答消息;
H14、所述DNS服务器生成包含查询到的A记录的应答消息;
H15、所述DNS服务器生成包含所述查询失败信息的应答消息;
H16、所述DNS服务器根据所述第七配置信息判断向所述用户设备优先返回A记录还是AAAA记录,如果优先返回A记录,则执行步骤H17;如果优先返回AAAA记录,执行步骤H18;
H17、所述DNS服务器将查询到的A记录设置到所述应答消息中靠前的资源记录中,将查询到的AAAA记录设置到所述应答消息中靠后的资源记录中;
H18、所述DNS服务器将查询到的AAAA记录设置到所述应答消息中靠前的资源记录中,将查询到的A记录设置到所述应答消息中靠后的资源记录中。
50.根据权利要求45所述的方法,其特征在于,所述用户设备向接入网关发起域名请求之前,还包括:
所述用户设备向所述接入网关发起接入请求;
所述接入网关为所述用户设备分配网络地址,向所述用户设备返回分配给所述用户设备的网络地址;
所述用户设备根据所述网络地址确定自身的设备类型。
51.根据权利要求50所述的方法,其特征在于,所述用户设备根据所述网络地址确定自身的设备类型,具体为:
当所述网络地址类型为IPv4地址时,所述用户设备确定自身的设备类型为IPv4设备;
当所述网络地址类型为IPv6地址时,所述用户设备确定自身的设备类型为IPv6设备;
当所述网络地址类型为双栈地址时,所述用户设备确定自身的设备类型为双栈设备。
52.根据权利要求46所述的方法,其特征在于,所述用户设备向接入网关发起域名请求之前,还包括:
所述用户设备设置优选配置信息;
所述用户设备接收所述DNS服务器返回的应答消息之后,还包括:
所述用户设备根据所述优选配置信息和所述应答消息,向应用服务器发起访问请求。
53.根据权利要求52所述的方法,其特征在于,所述优选配置信息为A记录优选信息;
所述用户设备根据所述优选配置信息和所述应答消息,向应用服务器发起访问请求,具体为:
所述用户设备根据所述应答消息中包含的A记录,向所述应用服务器发起访问请求。
54.根据权利要求52所述的方法,其特征在于,所述优选配置信息为AAAA记录优选信息;
所述用户设备根据所述优选配置信息和所述应答消息,向应用服务器发起访问请求,具体为:
所述用户设备根据所述应答消息中包含的AAAA记录,向所述应用服务器发起访问请求。
55.根据权利要求52所述的方法,其特征在于,所述优选配置信息为任意优选信息;
所述用户设备根据所述优选配置信息和所述应答消息,向应用服务器发起访问请求,具体为:
所述用户设备根据所述应答消息中包含的A记录或AAAA记录,向所述应用服务器发起访问请求。
56.根据权利要求45所述的方法,其特征在于,所述用户设备的设备类型包含在所述域名请求的新增字段中。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/090975 WO2015100566A1 (zh) | 2013-12-30 | 2013-12-30 | 一种处理域名请求的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104170356A CN104170356A (zh) | 2014-11-26 |
CN104170356B true CN104170356B (zh) | 2017-11-24 |
Family
ID=51912372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380004217.3A Active CN104170356B (zh) | 2013-12-30 | 2013-12-30 | 一种处理域名请求的方法及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104170356B (zh) |
WO (1) | WO2015100566A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105791450A (zh) * | 2014-12-19 | 2016-07-20 | 中兴通讯股份有限公司 | 一种域名系统dns重定向的方法、装置和系统 |
CN106302845B (zh) * | 2015-05-29 | 2020-07-17 | 西安中兴新软件有限责任公司 | 数据通道产品的域名系统地址配置方法及装置 |
CN105812503B (zh) * | 2016-03-15 | 2018-11-16 | 中国石油天然气股份有限公司华北油田分公司 | 根服务器地址更新方法和一种递归服务器 |
CN108881501B (zh) * | 2017-05-12 | 2021-07-06 | 阿里巴巴集团控股有限公司 | 一种实现网页应用域名跳转的方法及装置 |
CN115412531A (zh) * | 2022-08-31 | 2022-11-29 | 深圳市创维软件有限公司 | 网络查询方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499996A (zh) * | 2008-01-28 | 2009-08-05 | 中国电信股份有限公司 | 域名差异化解析方法和域名服务器 |
CN102196053A (zh) * | 2010-03-04 | 2011-09-21 | 成都市华为赛门铁克科技有限公司 | 域名信息查询方法、设备及一种通信网络 |
CN102739809A (zh) * | 2011-04-07 | 2012-10-17 | 中国电信股份有限公司 | DNS64数据库、服务器、系统和IPv4/IPv6通信方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7864780B1 (en) * | 2003-04-29 | 2011-01-04 | Cisco Technology, Inc. | Apparatus and methods for handling name resolution over IPV6 using NAT-PT and DNS-ALG |
CN100474858C (zh) * | 2004-09-27 | 2009-04-01 | 上海贝尔阿尔卡特股份有限公司 | 域名解析方法、域名服务器及域名系统 |
CN102196051B (zh) * | 2010-03-03 | 2014-09-10 | 中国移动通信集团公司 | 一种实现终端通信的方法、系统及装置 |
WO2013059541A1 (en) * | 2011-10-19 | 2013-04-25 | Xerocole, Inc. | Answer augmentation system for authoritative dns servers |
-
2013
- 2013-12-30 WO PCT/CN2013/090975 patent/WO2015100566A1/zh active Application Filing
- 2013-12-30 CN CN201380004217.3A patent/CN104170356B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499996A (zh) * | 2008-01-28 | 2009-08-05 | 中国电信股份有限公司 | 域名差异化解析方法和域名服务器 |
CN102196053A (zh) * | 2010-03-04 | 2011-09-21 | 成都市华为赛门铁克科技有限公司 | 域名信息查询方法、设备及一种通信网络 |
CN102739809A (zh) * | 2011-04-07 | 2012-10-17 | 中国电信股份有限公司 | DNS64数据库、服务器、系统和IPv4/IPv6通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104170356A (zh) | 2014-11-26 |
WO2015100566A1 (zh) | 2015-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104170356B (zh) | 一种处理域名请求的方法及设备 | |
CN102215273B (zh) | 一种为内网用户提供外网接入的方法和装置 | |
US10630825B2 (en) | System and method for registering an IP telephone | |
CN103797772B (zh) | 利用网络地址查找的用户类相关调适的数据业务的差异化处理 | |
EP2556438B1 (en) | Reverse dns lookup with modified reverse mappings | |
CN103262506B (zh) | 用于允许区分处置移动网络数据业务的方法和装置 | |
US20080133760A1 (en) | Method and Apparatus Allowing Remote Access in Data Networks | |
CN101931658B (zh) | 具有IPv4应用的IPv6主机进行通信的方法与装置 | |
CN110225150B (zh) | 不同网络协议间的通信方法、系统和存储介质 | |
CN104243627A (zh) | 一种域名解析方法、装置及系统 | |
US9118721B1 (en) | Socket-based internet protocol for wireless networks | |
JP2007526689A (ja) | 第1のコンピュータ・ネットワークから第2のコンピュータ・ネットワークへの通信セッションの起動 | |
US20100217847A1 (en) | System, method and apparatus for media access control (mac) address proxying | |
CN103338151A (zh) | 公网客户端访问私网服务器的方法及路由器 | |
CN107087023A (zh) | 数据转发方法和系统 | |
JP2007074172A (ja) | プライベートネットワーク間接続システム及びアドレス変換装置 | |
CN102238243B (zh) | 数据传输方法及系统、地址获取方法、终端设备、服务器 | |
CN110324244A (zh) | 一种基于Linux虚拟服务器的路由方法及服务器 | |
CN104519038B (zh) | 会话建立方法、装置及系统 | |
CN109951493A (zh) | 一种网络互通方法、装置、设备及存储介质 | |
US20090141705A1 (en) | Device and method for address-mapping | |
CN109413224A (zh) | 报文转发方法和装置 | |
EP1839428A1 (en) | Efficient address-space extension to pseudo multi-homed hosts | |
CN106713528A (zh) | 一种家庭网关及IPv6主机访问网络服务器的方法 | |
CN115174310B (zh) | Pdn拨号及配置方法、系统、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |