具体实施方式
本申请实施例提供一种DNS服务器访问方法及一种访问设备,用于解决现有技术中在IPv6网络下IPv4主机不能直接访问IPv4DNS服务器的问题;在本申请实施例提供的DNS服务器访问方法及访问设备中,对IPv4DNS服务器的网络地址进行预设,当IPv4主机发起域名解析请求时,依据预设的IPv4DNS服务器网络地址直接访问与其对应的IPv4DNS服务器,以实现对IPv4主机请求域名的解析。
为了使本技术领域的人员更好地理解本申请方案。下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请实施例提供的DNS服务器访问方法流程图如图1所示,包括:
步骤S101:接收域名解析请求并对所述域名解析请求的发送主体进行识别;
在IPv6网络下,IPv4主机和IPv6主机均可发送域名解析请求,在接收到域名解析请求后,首先对发送主体进行识别,识别发送主体是IPv6主机还是IPv4主机。
步骤S102:当所述域名解析请求为IPv4主机发送时,获取预设的IPv4DNS服务器的网络地址;
当识别得出发送域名解析请求的发送主体为IPv4主机时,获取预设的可以解析该域名解析请求中域名的IPv4DNS服务器的网络地址。
步骤S103:依据所述IPv4DNS服务器的网络地址对与其对应的IPv4DNS服务器进行访问,在访问成功后,将接收的所述IPv4主机发送的域名解析请求中包含的域名在所述IPv4DNS服务器中进行域名解析。
依据预设的IPv4DNS服务器的网络地址对该网络地址所对应的IPv4DNS服务器进行访问;在访问成功后,将接收的所述IPv4主机发送的域名解析请求中包含的域名在所述IPv4DNS服务器中进行域名解析,获取与所述域名相对应的IP地址。
本申请实施例提供的DNS服务器访问方法中,在接收到域名解析请求后,对该域名解析请求的发送主体进行识别的具体过程如图2所示,包括:
步骤S201:获取所述域名解析请求中的域名数据报文;
步骤S202:解析所述域名数据报文的数据标识;
所述数据标识通常为域名数据报文的报头,报头中标识有该报文为IPv4报文或为IPv6报文;
步骤S203:依据所述数据标识识别所述域名解析请求的发送主体。
本申请实施例提供的DNS服务器访问方法中,预设的IPv4DNS服务器网络地址的个数可以为多个,使得在依据预设的IPv4DNS服务器的网络地址对该网络地址所对应的IPv4DNS服务器进行访问的过程中,可以在所述多个IPv4DNS服务器网络地址中进行任意选择,依据最终选择IPv4DNS服务器的网络地址对该网络地址所对应的IPv4DNS服务器进行访问,访问成功后,将接收到的IPv4主机发送的域名解析请求中的域名在访问成功的IPv4DNS服务器中进行域名解析。
由以上描述可知,IPv4主机发送的域名解析请求中的域名可在多个不同的IPv4DNS服务器中进行解析,但所述多个不同的IPv4DNS服务器对IPv4主机发起的域名解析请求中域名的解析过程是一致的。
本申请实施例提供的DNS服务器访问方法中,当预设的IPv4DNS服务器网络地址的个数为多个时,将所述多个IPv4DNS服务器的网络地址按其所对应的IPv4DNS服务器优先级的大小依次排列在IPv4DNS服务器网络地址列表中。
其中IPv4DNS服务器的优先级按其在所述IPv4DNS服务器网络地址列表中的排列顺序进行确定,排列在前面的,优先级高。
本申请实施例提供的IPv4DNS服务器网络地址列表的结构示意图如图3所示,IPv4DNS服务器网络地址列表包括标识区301和存储区302;
标识区301用于对IPv4DNS服务器网络地址的列表进行标识;
存储区302用于按IPv4DNS服务器网络地址所对应的IPv4DNS服务器优先级的大小对IPv4DNS服务器网络地址进行顺序存储。
如图3所示的网络地址列表通过DHCPv6扩展option的方式得到,即Dual-Stack Lite Domain Name Server option提供该网络地址列表;所述列表的标识区分为两部分:TBD部分为预留区域,为后期随着IPv6网络完善过程中对该网络地址列表中的信息进行更新完善;option-len部分为长度区域,标明IPv4DNS服务器中域的长度。
存储区存储IPv4DNS服务器的名称及其对应的IPv6网络下的网络地址。
本申请实施例提供的DNS服务器访问方法中,在预设的IPv4DNS服务器的网络地址个数为多个时,对IPv4DNS服务器访问方法的一详细方法流程图如图4所示,包括:
步骤S401:接收域名解析请求;
步骤S402:识别所述域名解析请求的发送主体是否为IPv4主机;如果是,执行步骤S403;否则,执行步骤S404;
步骤S403:获取预设的多个IPv4DNS服务器的网络地址,然后执行步骤S405;
步骤S404:按其它主机所对应的访问方式对需要访问的DNS服务器进行访问;
如IPv6主机在IPv6网络下可直接访问IPv6DNS服务器进行域名解析;
步骤S405:采用多个网络地址中的一个地址对IPv4DNS服务器进行访问;
步骤S406:判断对当前IPv4DNS服务器进行访问的访问时间是否超过预设访问时间;如果是执行步骤S407;否则,执行步骤S408;
步骤S407:在所述多个网络地址中选择另一网络地址,利用重新选择的网络地址对该网络地址所对应的IPv4DNS服务器进行访问;并返回步骤S406;
步骤S408:依据选择的网络地址对该网络地址对应的IPv4DNS服务器访问成功。
需要说明的是,上述各个步骤中其执行主体为同一个设备,所述设备为实现IPv4主机与IPv4DNS服务器之间互联的一个中间设备。
以上步骤S407和S408在成功访问IPv4DNS服务器后,在所述IPv4DNS服务器中对IPv4主机发送的域名解析请求中的域名进行解析,得到与所述域名相对应的IPv4网络下的IP地址。
上述访问过程中,步骤S405中采用多个网络地址中的一个地址对IPv4DNS服务器进行访问的过程中,可根据多个网络地址的优先级,首选优先级最高的网络地址作为访问地址,对优先级最高的网络地址所对应的IPv4DNS服务器进行访问;若访问时间超过预设响应时间,在多个网络地址中选择另一优先级略小的网络地址作为访问地址,对该优先级小的网络地址所对应的IPv4DNS服务器进行访问。
相对于以上访问过程,本申请实施例提供的DNS服务器访问方法中,在预设的IPv4DNS服务器的网络地址个数为多数时,本申请实施例还提供了另一种访问方式,具体如图5所示,在图4的基础上,步骤S402之后,若识别域名解析请求的发送主体为IPv4主机后,执行步骤S501:获取预设的多个IPv4DNS服务器的网络地址中的一个地址作为当前访问地址;
步骤S502:依据所述当前访问地址对IPv4DNS服务器进行访问;
步骤S503:判断对当前IPv4DNS服务器进行访问的访问时间是否超过预设访问时间;若是,则返回步骤S501;否则,执行步骤S504;
步骤S504:依据所述IPv4DNS服务器的网络地址对与其对应的IPv4DNS服务器继续进行访问,直至访问成功。
上述访问过程中,步骤S501中,获取预设的多个IPv4DNS服务器的网络地址中的一个地址作为当前访问地址,可根据多个网络地址的优先级,首选优先级最高的网络地址作为访问地址,对优先级最高的网络地址所对应的IPv4DNS服务器进行访问;若访问时间超过预设时间,则重新获取多个网络地址中优先级略低的网络地址作为当前访问地址,对所述优先级略低的网络地址对应的IPv4DNS服务器进行访问。
针对本申请实施例提供的DNS服务器访问方法的实施过程,本申请实施例还提供了与上述访问方法相对应的一种访问设备,如图6所示,包括:
存储单元601、接收单元602、识别单元603、获取单元604和访问单元605;
其中:存储单元601用于对预设的IPv4DNS服务器的网络地址进行存储;
接收单元602用于接收域名解析请求;
识别单元603用于对接收单元602接收的域名解析请求的发送主体进行识别;
获取单元604用于在识别单元603识别的发送主体为IPv4主机时,对存储单元601存储的IPv4DNS服务器的网络地址进行获取;
访问单元605用于对与获取单元604获取的IPv4DNS服务器的网络地址对应的IPv4DNS服务器进行访问,在访问成功后,将接收的所述IPv4主机发送的域名解析请求中包含的域名在所述IPv4DNS服务器中进行域名解析。
本申请实施例提供的访问设备中,存储单元601中存储的IPv4DNS服务器网络地址的个数可为多个。
本申请实施例提供的访问设备中,存储单元601中设置有IPv4DNS服务器网络地址列表
所述IPv4DNS服务器网络地址列表用于当存储单元601存储的IPv4DNS服务器网络地址的个数为多个时,将所述IPv4DNS服务器网络地址按其对应的IPv4DNS服务器优先级的大小依次进行存储。
其中IPv4DNS服务器的优先级按其在所述IPv4DNS服务器网络地址列表中的排列顺序进行确定,排列在前面的,优先级高。
本申请实施例提供的访问设备中,IPv4DNS服务器网络地址列表包括标识区和存储区;
所述标识区用于对所述IPv4DNS服务器网络地址列表进行标识;
所述存储区用于按所述IPv4DNS服务器网络地址所对应的IPv4DNS服务器优先级的大小对所述IPv4DNS服务器网络地址进行顺序存储。
为了更加清楚的对该访问设备的工作原理进行说明,本申请实施例提供的访问设备的一详细结构示意图如图7所示,
访问单元605包括第一判断子单元606、第一指示子单元607、第二指示子单元608和访问执行子单元612;
其中:
第一判断子单元606用于对所述获取单元604获取的网络地址的类型进行判断;
该处的网络地址类型为获取的网络地址为预设的全部网络地址或全部网络地址中的某一具体网络地址;
第一指示子单元607用于当所述第一判断子单元606判断得出所述获取单元604获取的网络地址为预设的多个网络地址时,指示所述访问执行子单元612依据所述多个网络地址中的一个地址对其对应的IPv4DNS服务器进行访问,所述访问执行子单元612在访问成功后,将所述IPv4主机发送的域名解析请求中包含的域名在所述IPv4DNS服务器中进行域名解析;
第二指示子单元608用于当所述第一判断子单元606判断得出所述获取单元604获取的网络地址为预设的多个网络地址中的其中一个地址时,指示所述访问执行子单元612依据该地址对其对应的IPv4DNS服务器进行访问,所述访问执行子单元612在访问成功后,将所述IPv4主机发送的域名解析请求中包含的域名在所述IPv4DNS服务器中进行域名解析;
由图7可知,本申请实施例提供的访问单元中还包括:第二判断单元609、第三指示单元610和第四指示单元611;
第二判断子单元609用于判断所述访问单元605依据网络地址对IPv4DNS服务器进行访问的访问时间是否超过预设访问时间,如果是,则判断指示所述访问执行子单元612进行访问的指示主体是否为第一指示子单元607;
第三指示子单元610用于当所述第二判断子单元609判断得出所述指示访问单元605进行访问的指示主体为第一指示子单元607时,指示所述访问执行子单元612依据所述多个网络地址中的另一网络地址对其对应的IPv4DNS服务器进行访问,所述访问执行子单元612在访问成功后,将接收的所述IPv4主机发送的域名解析请求中包含的域名在所述IPv4DNS服务器中进行域名解析;
第四指示子单元611用于当所述第二判断子单元609判断得出所述指示访问单元605进行访问的指示主体为第二指示子单元608时,指示所述获取单元604获取预设的多个网络地址中的另一网络地址,并指示所述访问执行子单元612依据所述获取单元604获取的另一网络地址对其对应的IPv4DNS服务器进行访问,所述访问执行子单元612在访问成功后,将所述IPv4主机发送的域名解析请求中包含的域名在所述IPv4DNS服务器中进行域名解析。
以上为本申请实施例对本申请提供的访问方法及访问设备的具体描述,为了更清楚的对本申请实施例提供的DNS服务器访问方法及访问设备的具体应用过程进行描述,本申请提供了应用访问设备访问IPv4DNS服务器的网络架构示意图图如8所示,下面针对所述网络架构图,对本申请实施例提供的DNS服务器访问方法及访问设备的应用过程进行具体说明:
该网络架构示意图是在IPv6网络下进行架构的,IPv4主机通过DHCP方式获取访问设备的私网地址,如192.168.1.2;IPv4主机向IP地址192.168.1.1发起域名解析请求;
访问设备接收到IPv4主机发送的域名解析请求后,源IP使用192.168.1.1,目的IP为访问设备获取的预设IPv4DNS服务器网络地址,域名解析内容不变,对以上内容进行IPv6数据封装,然后以访问设备的IPv6网络地址为源IPv6地址,AFTR(地址族过渡路由器)设备的IPv6地址为目的地址IPv6地址,将经过封装的数据发送至AFTR设备。
AFTR接收到数据后,对该数据进行还原,然后将数据中的源IP地址192.168.1.1进行NAT转换,转换成IPv4公网地址,并记录NAT表项信息,AFTR将域名解析内容根据转换的IPv4公网地址转发到IPv4DNS服务器上。
IPv4DNS服务器接收到域名解析内容后,查询与该域名相对应的IP地址,将与所述域名相对应的IP地址返回至AFTR设备,AFTR设备将所述与域名相对应的IP地址进行封装,源IP地址为AFTR设备的IPv6网络地址,目的地址为访问设备的IPv6地址,发送至访问设备。
访问设备接收到AFTR设备发送的经过封装的IP地址后,对该IP地址进行还原,发送至IPv4主机,IPv4主机根据该IP地址访问IPv4网络。
通过以上实施例可知,本发明提供的访问设备可以根据预设的IPv4DNS服务器的网络地址直接到与该网络地址对应的IPv4DNS服务器进行域名解析,解决了现有技术中的访问设备在IPv6网络下只能获取IPv6DNS服务器的网络地址,不能获取IPv4DNS服务器网络地址的弊端,有效的实现了访问设备在IPv6网络下对IPv4DNS服务器的直接访问,并且在深层意义上讲,由于在IPv6网络下,IPv4主机发送的域名解析请求中的域名可以直接在IPv4DNS服务器中进行解析,从而有效的促进了IPv4网络与IPv6网络之间的互联过程。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。