选择网络层协议的方法、dns服务器和域名管理系统的制作方法

文档序号:7770353阅读:110来源:国知局
专利名称:选择网络层协议的方法、 dns 服务器和域名管理系统的制作方法
技术领域
本发明涉及域名服务技术领域,尤其涉及一种选择网络层协议的方法、DNS服务器和域名管理系统。
背景技术
在Internet上域名与IP地址之间是——对应的,域名是由圆点分开一串单词或缩写组成的,每一个域名都对应惟一的IP地址。域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析。DNS(Domain Name System)服务器是执行域名服务的服务器,通过DNS服务器来应答域名服务的查询。DNS客户端请求DNS服务器一个域名(Domain Name), DNS服务器返回此Domain Name对应的真正IP地址。
随着全球IPV4地址的日渐枯竭,IPV6技术得到广泛的研究和应用。目前,越来越多的应用程序开始支持IPV6,运营商的核心骨干网络也逐步完成IPV6的升级改造,并逐渐开始考虑在接入网部署IPV6,为用户提供IPV6接入服务。届时,将会出现很多双栈的终端,即用户同时具有IPV4和IPV6接入能力,互联网应用开发商也同时提供基于IPV4和IPV6的服务。然而,应用程序位于TCP/IP体系结构的应用层,对网络层的连通性情况并不感知,因此大部分应用程序在实现时基于这样一个前提:一旦应用程序在域名解析过程中,能正常获取服务器的IPV6地址,则认为此IPV6地址可达,那么后续的通信请求都将使用IPV6协议发起,即使IPV6网络出现故障,应用程序也不会主动切换至正常的IPV4网络。这将会对用户的体验造成极大的冲击,而且,多数用户可能无法发现和解决此问题。发明内容
有鉴于此,本发明要解决的一个技术问题是提供一种选择网络层协议的方法,使客户端中的应用程序选择正常可达的IPV4或IPV6协议访问服务。
一种选择网络层协议的方法,DNS服务器接收客户端发送的地址查询请求;所述DNS服务器获取与所述地址查询请求中携带的域名对应的IPV6地址,判断所述客户端是否能够访问配置所述IPV6地址的设备;如果能够访问,所述DNS服务器向所述客户端返回所述IPV6地址;如果不能够访问,则向所述客户端返回与所述域名对应的IPV4地址。
根据本发明方法的一个实施例,DNS的AAAA查询报文和A查询报文;其中,所述客户端支持IPV4和IPV6协议,所述AAAA查询报文和A查询报文中都携带所述客户端访问的域名。
根据本发明方法的一个实施例,所述DNS服务器获取与所述地址查询请求中携带的域名对应的IPV6地址、判断所述客户端是否能够访问配置所述IPV6地址的设备包括:所述DNS服务器获取与所述地址查询请求中携带的域名对应的IPV6地址和IPV4地址;所述DNS服务器根据IPV4地址获知所述客户端所处的地理信息,所述DNS服务器访问网络拓扑数据库,查询所述客户端所处的地区是否开通了 IPV6服务,如果开通了 IPV6服务,进一步判断所述客户端与配置所述IPV6地址的设备之间是否存在支持IPV6协议的网络链路,若存在,则所述客户端能够访问配置所述IPV6地址的设备,若不存在,则表明所述客户端不能够访问配置所述IPV6地址的设备。根据本发明方法的一个实施例,所述如果能够访问、所述DNS服务器向所述客户端返回所述IPV6地址包括:所述DNS服务器向所述客户端返回AAAA响应报文,所述AAAA响应报文中包括所述IPV6地址。根据本发明方法的一个实施例,所述如果不能够访问、则向所述客户端返回与所述域名对应的IPV4地址包括:所述DNS服务器向所述客户端返回AAAA响应报文和A响应报文;其中,所述AAAA响应报文中的IPV6地址为空,所述A响应报文携带所述IPV4地址。本发明的DNS服务器接收客户端发送的地址查询请求,获取与地址查询请求中携带的域名对应的IPV6地址,判断客户端是否能够访问配置所述IPV6地址的设备;如果能够访问,DNS服务器向所述客户端返回所述IPV6地址;如果不能够访问,则向所述客户端返回与所述域名对应的IPV4地址,使客户端上的应用程序选择正常可达的IPV4或IPV6协议,进行上网或访问服务。本发明要解决的一个技术问题是提供一种DNS服务器,使客户端上的应用程序选择服务正常可达的IPV4或IPV6协议。一种DNS服务器,包括:查询请求接收单元,用于接收客户端发送的地址查询请求;IPV6地址判断单元,用于获取与所述地址查询请求中携带的域名对应的IPV6地址,判断所述客户端是否能够访问配置所述IPV6地址的设备;地址发送单元,用于当能够访问配置所述IPV6地址的设备时,向所述客户端返回所述IPV6地址;当不能够访问配置所述IPV6地址的设备时,则向所述客户端返回与所述域名对应的IPV4地址。根据本发明DNS服务器的一个实施例,所述查询请求接收单元接收客户端发送的DNS的AAAA查询报文和A查询报文;其中,所述客户端支持IPV4和IPV6协议,所述AAAA查询报文和A查询报文中都携带所述客户端访问的域名。根据本发明DNS服务器的一个实施例,所述IPV6地址判断单元获取与所述地址查询请求中携带的域名对应的IPV6地址和IPV4地址,根据IPV4地址获知所述客户端所处的地理信息,访问网络拓扑数据库,查询所述客户端所处的地区是否开通了 IPV6服务,如果开通了 IPV6服务,再进一步判断客户端与配置所述IPV6地址的设备之间是否存在支持IPV6协议的网络链路,若存在,则所述客户端能够访问配置所述IPV6地址的设备,若不存在,则表明所述客户端不能够访问配置所述IPV6地址的设备。根据本发明DNS服务器的一个实施例,当能够访问配置所述IPV6地址的设备时,所述地址发送单元向所述客户端返回AAAA响应报文,所述AAAA响应报文中包括所述IPV6地址。根据本发明DNS服务器的一个实施例,当不能够访问配置所述IPV6地址的设备时,所述地址发送单元向所述客户端返回AAAA响应报文和A响应报文;其中,所述AAAA响应报文中的IPV6地址为空,所述A响应报文携带所述IPV4地址。本发明要解决的一个技术问题是提供一种域名管理系统,使客户端上的应用程序选择服务正常可达的IPV4或IPV6协议。一种域名管理系统,包括如上所述的DNS服务器。本发明的DNS服务器接收客户端发送的地址查询请求,获取与地址查询请求中携带的域名对应的IPV6地址,判断客户端是否能够访问配置所述IPV6地址的设备;如果能够访问,DNS服务器向所述客户端返回所述IPV6地址;如果不能够访问,则向所述客户端返回与所述域名对应的IPV4地址,使客户端应用程序选择服务正常可达的IPV4或IPV6协议,具有低成本、跨区域、闻控制等特点。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为根据本发明的选择网络层协议的方法的一个实施例的流程图;图2为根据本发明的选择网络层协议的方法的另一个实施例的流程图;图3为本发明一个实施例的DNS服务器的示意图。
具体实施例方式下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明的DNS服务器接收客户端发送的地址查询请求,获取与地址查询请求中携带的域名对应的IPV6地址,判断客户端是否能够访问配置IPV6地址的设备;如果能够访问,DNS服务器向客户端返回IPV6地址;如果不能够访问,则向客户端返回与域名对应的IPV4地址,使客户端上的应用程序选择服务正常可达的IPV4或IPV6协议,具有低成本、跨区域、高控制等特点。下面结合各个图和实施例对本发明的技术方案进行多方面的描述。图1为根据本发明的选择网络层协议的方法的一个实施例的流程图。如图1所示:步骤102,DNS服务器接收客户端发送的地址查询请求消息。步骤103,DNS服务器获取与地址查询请求消息中携带的域名对应的IPV6地址,判断客户端是否能够访问配置IPV6地址的设备。步骤104,如果能够访问,DNS服务器向客户端返回IPV6地址。如果不能够访问,则向客户端返回与域名对应的IPV4地址。本发明中的客户端可以为用户的个人电脑或其它的需要通过域名访问服务的计算机。客户端能够发送地址查询请求,获取与域名对应的IP地址。客户端可以发送DNS查询报文,并可以接收DNS服务器返回的DNS响应报文。DNS查询报文为标准的报文格式,该报文12字节的首部和4个长度可变的字段组成,标识字段由客户程序设置并有服务器返回结果,其中16bit的标志字段中QR:0表示查询报文,I表示响应报文。DNS查询报文查询中的名部分长度不定,一般为要查询的域名(也会有IP的时候,即反向查询),此部分由一个或者多个标示符序列组成,每个标示符以首字节数的计数值来说明该标示符长度,每个名字以O结束。DNS查询报文中的查询类型(2字节)的通常查询类型为A(由域名获得IPV4地址)、AAAA(由域名获得IPV6地址)或者PTR(获得IP地址对应的域名)。本发明中A查询报文是指DNS查询报文,并且报文中的查询类型设置为A,AAAA查询报文是指DNS查询报文,并且报文中的查询类型设置为AAAA。相对应的,A响应报文是指DNS响应报文,并且报文中的查询类型设置为A,AAAA响应报文是指DNS响应报文,并且报文中的查询类型设置为AAAA。根据本发明的一个实施例,客户端发送AAAA和A查询报文,客户端支持IPV4和IPV6协议,AAAA和A查询报文都携带客户端需要进行访问的域名,例如网站的URL等等。DNS服务器接收客户端发送的地址查询请求,获取与查询请求中携带的域名对应的IPV6地址,判断客户端是否能够访问配置IPV6地址的设备。如果能够访问,DNS服务器向客户端返回IPV6地址。如果不能够访问,则向客户端返回与域名对应的IPV4地址,使客户端中的应用程序可以选择服务正常可达的IPV4或IPV6协议,能够访问服务,并具有低成本、跨区域、高控制等特点。根据本发明的一个实施例,DNS服务器获取与地址查询请求中携带的域名对应的IPV6地址和IPV4地址。DNS服务器根据IPV4地址获知客户端所处的地理信息,DNS服务器查询网络拓扑数据库,获取客户端所处的地区是否开通了 IPV6服务,如果开通了 IPV6服务,再进一步判断客户端与目标IPV6地址之间是否存在IPv6通路,若存在,则客户端能够访问配置IPV6地址的设备,若不存在,则表明所述客户端不能够访问配置所述IPV6地址的设备。图2为根据本发明的选择网络层协议的方法的另一个实施例的流程图。如图2所示:如在某省的运营网络中,DNS服务器21可以为省内不同城市的宽带用户提供DNS解析服务,A市已经实现IPV6接入,即接入网关23支持IPV6接入,而B市只有IPV4接入,即接入网关24只支持IPV4接入。A市的PC客户端25和B市的PC客户端26都同时开启了 IPV4和IPV6协议栈。当PC客户端25和PC客户端26向DNS服务器21查询Web服务器22对应的IP地址时,由于PC客户端25和PC客户端26都开启双栈,因此PC客户端25和PC客户端26都会发送AAAA和A查询报文,即发送AAAA查询报文和A查询报文。如果不做任何处理,则对于B市的PC客户端26来说,将会收到AAAA请求的回复,里面包含Web服务器22的IPV6地址,而PC客户端26又不具备通过接入网关24进行IPV6接入的能力,因此必将导致PC客户端26对Web服务器22的访问出现问题。在本发明中,DNS服务器21获取与PC客户端26发送的地址查询请求,即可以是AAAA查询报文和A查询报文携带的域名对应的IPV6地址和IPV4地址。根据IPV4地址获知客户端所处的地理信息,即为B市,DNS服务器21查询网络拓扑数据库27,获取PC客户端26所处的地区B市没有开通IPV6服务,则向PC客户端26返回与域名对应的IPV4地址。PC客户端26可以通过IPV4地址访问Web服务器22。DNS服务器21获取与PC客户端25发送的地址查询请求,即可以是AAAA查询报文和A查询报文携带的域名对应的IPV6地址和IPV4地址。根据IPV4地址获知客户端所处的地理信息,即为A市,DNS服务器查询网络拓扑数据库27,获取PC客户端26所处的A市地区开通IPV6服务,并与目标Web服务器之间存在IPv6通路,即存在支持IPv6协议的网络链路,则向PC客户端25返回与域名对应的IPV6地址。PC客户端26可以通过接入网关23,采用IPV6地址和协议访问Web服务器22。同一个DNS服务器21下的所有用户,只要DNS服务器21能够正确获取用户的地理信息和相应的拓扑信息即可实现。图3为本发明一个实施例的DNS服务器的示意图。如图3所示:DNS服务器31包括:查询请求接收单元311、IPV6地址判断单元312和地址发送单元313。查询请求接收单元311接收客户端发送的地址查询请求。IPV6地址判断单元312获取与地址查询请求中携带的域名对应的IPV6地址,判断客户端是否能够访问配置IPV6地址的设备。当能够访问配置IPV6地址的设备时,地址发送单元313向客户端返回IPV6地址。当不能够访问配置IPV6地址的设备时,则向客户端返回与域名对应的IPV4地址。根据本发明的一个实施例,查询请求接收单元311接收客户端发送的AAAA和A查询报文。其中,客户端支持IPV4和IPV6协议,AAAA和A查询报文都携带客户端访问的域名。IPV6地址判断单元获取与地址查询请求中携带的域名对应的IPV6地址和IPV4地址,根据IPV4地址获知客户端所处的地理信息,查询网络拓扑数据库,获取客户端所处的地区是否开通了 IPV6服务,如果开通了 IPV6服务,再进一步判断客户端与目标IPV6地址之间是否存在IPv6通路,即存在支持IPv6协议的网络链路,若存在,则客户端能够访问配置IPV6地址的设备,若不存在,则表明所述客户端不能够访问配置所述IPV6地址的设备。根据本发明的一个实施例,当能够访问配置IPV6地址的设备时,地址发送单元312向客户端返回AAAA响应报文。其中,AAAA响应报文中包括IPV6地址。当不能够访问配置IPV6地址的设备时,地址发送单元313向客户端返回AAAA响应报文和A响应报文。其中,AMA响应报文中携带的IPV6地址为一个空值,A响应报文携带IPV4地址。根据本发明的一个实施例,本发明提供一种域名管理系统,包括上述的DNS服务器。本发明提供的DNS服务器和域名管理系统接收客户端发送的地址查询请求,获取与地址查询请求中携带的域名对应的IPV6地址,判断客户端是否能够访问配置IPV6地址的设备;如果能够访问,DNS服务器向客户端返回IPV6地址;如果不能够访问,则向客户端返回与域名对应的IPV4地址,使客户端上的应用程序选择服务正常可达的IPV4或IPV6协议,具有低成本、跨区域、高控制等特点。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于域名管理系统方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。
权利要求
1.一种选择网络层协议的方法,其特征在于: DNS服务器接收客户端发送的地址查询请求; 所述DNS服务器获取与所述地址查询请求中携带的域名对应的IPV6地址,判断所述客户端是否能够访问配置所述IPV6地址的设备; 如果能够访问,所述DNS服务器向所述客户端返回所述IPV6地址;如果不能够访问,则向所述客户端返回与所述域名对应的IPV4地址。
2.如权利要求1所述的方法,其特征在于,所述地址查询请求包括: DNS的AAAA查询报文和A查询报文; 其中,所述客户端支持IPV4和IPV6协议,所述AAAA查询报文和A查询报文中都携带所述客户端访问的域名。
3.如权利要求2述的方法,其特征在于,进一步包括: 所述DNS服务器获取与所述地址查询请求中携带的域名对应的IPV6地址、判断所述客户端是否能够访问配置所述IPV6地址的设备包括: 所述DNS服务器获取与所述地址查询请求中携带的域名对应的IPV6地址和IPV4地址;所述DNS服务器根据IPV4地址获知所述客户端所处的地理信息,所述DNS服务器访问网络拓扑数据库,查询所述客户端所处的地区是否开通了 IPV6服务,如果开通了 IPV6服务,进一步判断所述客户端与配置所述IPV6地址的设备之间是否存在支持IPv6协议的网络链路,若存在,则所述客户端能够访问配置所述IPV6地址的设备,若不存在,则表明所述客户端不能够访问配置所述IPV6地址的设备。
4.如权利要求1所述的方法,其特征在于,进一步包括: 所述如果能够访问、所述DNS服务器向所述客户端返回所述IPV6地址包括: 所述DNS服务器向所述客户端返回AAAA响应报文,所述AAAA响应报文中包括所述IPV6地址。
5.如权利要求1所述的方法,其特征在于,进一步包括: 所述如果不能够访问、则向所述客户端返回与所述域名对应的IPV4地址包括: 所述DNS服务器向所述客户端返回AAAA响应报文和A响应报文; 其中,所述AAAA响应报文中的IPV6地址为空,所述A响应报文携带所述IPV4地址。
6.—种DNS服务器,其特征在于,包括: 查询请求接收单元,用于接收客户端发送的地址查询请求; IPV6地址判断单元,用于获取与所述地址查询请求中携带的域名对应的IPV6地址,判断所述客户端是否能够访问配置所述IPV6地址的设备; 地址发送单元,用于当能够访问配置所述IPV6地址的设备时,向所述客户端返回所述IPV6地址;当不能够访问配置所述IPV6地址的设备时,则向所述客户端返回与所述域名对应的IPV4地址。
7.如权利要求6所述的DNS服务器,其特征在于: 所述查询请求接收单 元接收客户端发送的DNS的AAAA查询报文和A查询报文; 其中,所述客户端支持IPV4和IPV6协议,所述AAAA查询报文和A查询报文中都携带所述客户端访问的域名。
8.如权利要求7所述的DNS服务器,其特征在于:所述IPV6地址判断单元获取与所述地址查询请求中携带的域名对应的IPV6地址和IPV4地址,根据IPV4地址获知所述客户端所处的地理信息,访问网络拓扑数据库,查询所述客户端所处的地区是否开通了 IPV6服务,如果开通了 IPV6服务,进一步判断所述客户端与配置所述IPV6地址的设备之间是否存在支持IPv6协议的网络链路,若存在,则所述客户端能够访问配置所述IPV6地址的设备,若不存在,则表明所述客户端不能够访问配置所述IPV6地址的设备。
9.如权利要求6所述的DNS服务器,其特征在于: 当能够访问配置所述IPV6地址的设备时,所述地址发送单元向所述客户端返回AAAA响应报文,所述AAAA响应报文中包括所述IPV6地址。
10.如权利要求6所述的DNS服务器,其特征在于: 当不能够访问配置所述IPV6地址的设备时,所述地址发送单元向所述客户端返回AAAA响应报文和A响应报文;其中,所述AAAA响应报文中的IPV6地址为空,所述A响应报文携带所述 IPV4地址。
11.一种域名管理系统,其特征在于: 包括如所述权利要求6至10中任一项所述的DNS服务器。
全文摘要
本发明公开了一种选择网络层协议的方法、DNS服务器和域名管理系统,涉及域名服务领域,接收客户端发送的地址查询请求,获取与地址查询请求中携带的域名对应的IPV6地址,判断客户端是否能够访问配置IPV6地址的设备;如果能够访问,DNS服务器向客户端返回IPV6地址;如果不能够访问,则向客户端返回与域名对应的IPV4地址,使客户端上的应用程序选择访问能够正常可达的IPV4或IPV6协议。本发明公开的方法、DNS服务器和域名管理系统,使客户端上的应用程序选择访问能够正常可达的IPV4或IPV6协议访问服务,并具有低成本,跨区域等特点。
文档编号H04L29/12GK103167045SQ20111040910
公开日2013年6月19日 申请日期2011年12月12日 优先权日2011年12月12日
发明者杨国良, 刘广义, 丁圣勇, 黄志兰 申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1