分布式域名解析方法及装置与流程

文档序号:12829358阅读:462来源:国知局
分布式域名解析方法及装置与流程

本发明实施例涉及通信技术领域,尤其涉及一种分布式域名解析方法及装置。



背景技术:

域名服务器(domainnameserver,dns)是进行域名(domainname)和与之相对应的ip地址(ipaddress)转换的服务器。dns中保存了一张域名(domainname)和与之相对应的ip地址(ipaddress)的表,dns接收到客户端发送的域名请求后,通过查询域名和ip地址对应的表,获得与该域名请求中的域名对应的ip地址,并将ip地址返回给客户端。

通常internet主机域名的一般结构为:主机名.三级域名.二级域名.顶级域名。internet的顶级域名由internet网络协会域名注册查询负责网络地址分配的委员会进行登记和管理,它还为internet的每一台主机分配唯一的ip地址。

但是,目前dns服务的树状结构中管理域名系统的组织权力过大,根域或者顶级域的机构停止服务可能会造成网络瘫痪的问题。



技术实现要素:

本发明实施例提供一种分布式域名解析方法及装置,以解决根域或者顶级域的机构停止服务可能会造成网络瘫痪的问题。

本发明实施例的一个方面是提供一种分布式域名解析方法,包括:

域名解析服务器接收客户端发送的域名解析请求,所述域名解析请求包括待解析的域名,所述域名解析服务器位于对等网络中;

若所述域名解析服务器本地不存在与所述域名对应的ip地址,则将所述域名解析请求发送给所述对等网络中的其他域名解析服务器,以向其他域名解析服务器查询所述域名对应的ip地址;

所述域名解析服务器接收其他域名解析服务器发送的所述域名对应的ip地址,并将所述ip地址发送给所述客户端。

本发明实施例的另一个方面是提供一种分布式域名解析装置,包括:

接收模块,用于接收客户端发送的域名解析请求,所述域名解析请求包括待解析的域名,所述域名解析服务器位于对等网络中;

发送模块,用于当本地不存在与所述域名对应的ip地址时,将所述域名解析请求发送给所述对等网络中的其他域名解析服务器,以向其他域名解析服务器查询所述域名对应的ip地址;

所述接收模块还用于收其他域名解析服务器发送的所述域名对应的ip地址;

所述发送模块还用于将所述其他域名解析服务器发送的所述域名对应的ip地址发送给所述客户端。

本发明实施例提供的分布式域名解析方法及装置,通过对等网络中的域名解析服务器接收客户端发送的域名解析请求,并确定本地是否存储有待解析的域名对应的ip地址,如果本地不存在待解析的域名对应的ip地址,则将该域名解析请求发送给对等网络中的其他域名解析服务器,以向其他域名解析服务器查询待解析的域名对应的ip地址,由于对等网络中的域名解析服务器是对等的,各个域名解析服务器是动态同步的,因此,避免了现有技术中由于dns服务的树状结构中管理域名系统的组织权力过大,若根域或者顶级域的机构停止服务而导致的网络瘫痪的问题。

附图说明

图1为现有技术中成树状结构域名的示意图;

图2为现有技术中成树状结构域名的示意图;

图3为本发明实施例提供的分布式域名解析方法流程图;

图4为本发明实施例提供的分布式域名解析方法适用的网络架构图;

图5为本发明另一实施例提供的分布式域名解析方法适用的网络架构图;

图6为本发明实施例提供的分布式域名解析装置的结构图;

图7为本发明另一实施例提供的分布式域名解析装置的结构图。

具体实施方式

现有技术中,域名是internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。如图1所示,域名成树状结构,从根域名到直接服务的dns服务器分为多个级别,例如,“www.pku.edu.cn”是一个域名,该域名分为4个级别,分别是主机名“www”,三级域名“pku”,二级域名“edu”,顶级域名“cn”,其中,internet的顶级域名由internet网络协会域名注册查询负责网络地址分配的委员会进行登记和管理,它还为internet的每一台主机分配唯一的ip地址。另外,还可以对如图1所示的dns树状结构进行抽象简化得到如图2所示的dns树状结构,该dns树状结构是一种倒立的树型结构,它可以从根域开始向下延伸,例如从根域延伸到顶级域,从顶级域延伸到区域。但是,目前dns服务的树状结构中管理域名系统的组织权力过大,根域或者顶级域的机构停止服务可能会造成网络瘫痪的问题,为了解决该问题,本发明实施例提供了一种分布式域名解析方法,下面结合具体的实施例进行介绍。

图3为本发明实施例提供的分布式域名解析方法流程图;图4为本发明实施例提供的分布式域名解析方法适用的网络架构图。具体的分布式域名解析方法步骤如下:

步骤s101、域名解析服务器接收客户端发送的域名解析请求,所述域名解析请求包括待解析的域名,所述域名解析服务器位于对等网络中。

如图4所示,域名解析服务器41-47构成对等网络(peer-to-peernetworking,p2p),即域名解析服务器之间采用p2p网状互联,并且进行动态的同步。在p2p网络中,没有如图1或图2所示的层级的概念,不同域名解析服务器之间是相互对等的。客户端40和现有技术中的客户端是一致的,没有进行改进,且客户端40可以和p2p网络中的任何一个域名解析服务器进行通信,可选的,客户端40预先配置有一个域名解析服务器的ip地址,客户端40可以优先和该域名解析服务器进行通信,假设该域名解析服务器是p2p网络中的域名解析服务器41,则当客户端40访问网络的时候,可以优先向域名解析服务器41发送域名解析请求,该域名解析请求包括待解析的域名,例如,待解析的域名为“www.domain.com”,客户端40向域名解析服务器41发送域名解析请求的用意是:客户端40希望获取到“www.domain.com”对应的ip地址。

步骤s102、若所述域名解析服务器本地不存在与所述域名对应的ip地址,则将所述域名解析请求发送给所述对等网络中的其他域名解析服务器,以向其他域名解析服务器查询所述域名对应的ip地址。

p2p网络中的每个域名解析服务器的本地存储有一个映射表,该映射表包括域名和该域名对应的ip地址,每个域名解析服务器维护的映射表的内容可以相同,也可以不同。如果域名解析服务器41接收到客户端40发送的域名解析请求后,发现本地的映射表中存在“www.domain.com”对应的ip地址,则域名解析服务器41直接向客户端40反馈“www.domain.com”对应的ip地址。

如果域名解析服务器41接收到客户端40发送的域名解析请求后,发现本地的映射表中不存在“www.domain.com”对应的ip地址,则域名解析服务器41将向p2p网络中的其他域名解析服务器例如域名解析服务器42-47发送该域名解析请求,具体的,域名解析服务器41可以以广播的方式向域名解析服务器42-47发送该域名解析请求,以便域名解析服务器42-47根据该域名解析请求,查看各自的本地维护的映射表中是否存储有“www.domain.com”对应的ip地址。

步骤s103、所述域名解析服务器接收其他域名解析服务器发送的所述域名对应的ip地址,并将所述ip地址发送给所述客户端。

如图4所示,假设p2p网络中的域名解析服务器44本地维护的映射表中存储有“www.domain.com”对应的ip地址,且“www.domain.com”对应的ip地址例如为“202.110.3.12”,则域名解析服务器44将“www.domain.com”对应的ip地址“202.110.3.12”发送给域名解析服务器41,域名解析服务器41再将“www.domain.com”对应的ip地址“202.110.3.12”发送给客户端40。在本实施例中,域名解析服务器44可以将“www.domain.com”对应的ip地址“202.110.3.12”以单播方式发送给域名解析服务器41,在其他实施例中,域名解析服务器44还可以将“www.domain.com”对应的ip地址“202.110.3.12”以广播方式发送给p2p网络中的每个域名解析服务器。

本发明实施例通过对等网络中的域名解析服务器接收客户端发送的域名解析请求,并确定本地是否存储有待解析的域名对应的ip地址,如果本地不存在待解析的域名对应的ip地址,则将该域名解析请求发送给对等网络中的其他域名解析服务器,以向其他域名解析服务器查询待解析的域名对应的ip地址,由于对等网络中的域名解析服务器是对等的,各个域名解析服务器是动态同步的,因此,避免了现有技术中由于dns服务的树状结构中管理域名系统的组织权力过大,若根域或者顶级域的机构停止服务而导致的网络瘫痪的问题。

在上述实施例的基础上,所述域名解析服务器接收其他域名解析服务器发送的所述域名对应的ip地址之后,还包括:所述域名解析服务器存储所述域名和所述ip地址的对应关系。例如,域名解析服务器41接收到域名解析服务器44发送的“www.domain.com”对应的ip地址“202.110.3.12”之后,还可以将“www.domain.com”和“202.110.3.12”的对应关系存储在域名解析服务器41本地的映射表中,以便后续使用。

另外,当所述域名对应的所述ip地址发生变化时,所述域名解析服务器还可以将所述域名和新的ip地址的对应关系发送给所述对等网络中的其他域名解析服务器。例如,当“www.domain.com”对应的ip地址发生变化,从“202.110.3.12”变为“202.110.3.20”,则域名解析服务器41可以将“www.domain.com”和“202.110.3.20”的对应关系发送给p2p网络中的其他域名解析服务器例如域名解析服务器42-47,以便域名解析服务器42-47对各自本地存储的“www.domain.com”和“202.110.3.12”的对应关系进行更新,具体的,将“www.domain.com”和“202.110.3.12”的对应关系更新为“www.domain.com”和“202.110.3.20”的对应关系。

在本实施例的基础上,为了提高网络安全性,所述域名解析服务器将所述域名和新的ip地址的对应关系发送给所述对等网络中的其他域名解析服务器,包括:所述域名解析服务器采用私钥对所述域名和新的ip地址的对应关系进行加密得到加密信息,并将所述加密信息发送给所述对等网络中的其他域名解析服务器,以使所述其他域名解析服务器采用公钥对所述加密信息进行解密得到所述域名和新的ip地址的对应关系。

例如,为了防止p2p网络中恶意服务器随意的发布域名和ip地址的对应关系,域名解析服务器41向p2p网络中的其他域名解析服务器例如域名解析服务器42-47发送“www.domain.com”和“202.110.3.20”的对应关系时,可以采用域名解析服务器41自己的私钥对待发送的信息即“www.domain.com”和“202.110.3.20”的对应关系进行签名,得到签名信息,并将签名信息广播给域名解析服务器42-47,域名解析服务器42-47任一一个域名解析服务器接收到签名信息后,采用域名解析服务器41的公钥对签名信息进行签名验证,若验证通过,则记录该广播消息中的内容,若验证不通过则忽略或丢弃该广播消息,以提高网络安全性,防止被恶意服务器攻击。

本实施例通过域名解析服务器采用私钥对待发送的信息进行加密处理得到加密信息,并将该加密信息发送给对等网络中的其他域名解析服务器,其他域名解析服务器根据公钥对加密信息进行解密得到相应的信息,提高了提高网络安全性,防止被恶意服务器攻击。

图5为本发明另一实施例提供的分布式域名解析方法适用的网络架构图。如图5所示,在上述步骤s103的基础上,假设p2p网络中的域名解析服务器44本地维护的映射表中存储有“www.domain.com”对应的ip地址,该ip地址记为ip地址1,域名解析服务器45本地维护的映射表中也存储有“www.domain.com”对应的ip地址,该ip地址记为ip地址2,其中,ip地址1和ip地址2不同,域名解析服务器44将ip地址1发送给了域名解析服务器41,域名解析服务器45将ip地址2发送给了域名解析服务器41,则域名解析服务器41接收到“www.domain.com”对应的两个不同的ip地址,在其他实施例中,域名解析服务器41接收到“www.domain.com”对应的不同的ip地址可能不只两个,本实施例以两个不同的ip地址为例,则域名解析服务器41可以向其他域名解析服务器42-47发送至少两个待验证信息,每个待验证信息包括域名“www.domain.com”和所述至少两个不同的ip地址中的一个ip地址,以使所述其他域名解析服务器向所述域名解析服务器反馈每个待验证信息的记录时刻;域名解析服务器41可根据每个待验证信息的记录时刻,例如以最先记录为依据,确定出所述至少两个ip地址中与所述域名“www.domain.com”对应的ip地址。

例如,域名解析服务器42向域名解析服务器41反馈域名解析服务器42本地存储有“www.domain.com”和ip地址1的对应关系,且记录时刻为t1;域名解析服务器43向域名解析服务器41反馈域名解析服务器43本地存储有“www.domain.com”和ip地址2的对应关系,且记录时刻为t2;域名解析服务器46向域名解析服务器41反馈域名解析服务器46本地存储有“www.domain.com”和ip地址1的对应关系,且记录时刻为t1,且记录时刻t1早于记录时刻t2,则域名解析服务器41根据域名解析服务器42、域名解析服务器43、域名解析服务器46分别反馈的信息中可确定出,“www.domain.com”对应的ip地址是ip地址1,并将ip地址1反馈给客户端40。同时,域名解析服务器41还可以永久丢弃ip地址2。

本实施例中,当域名解析服务器接收到其他域名解析服务器发送的待解析的域名对应的至少两个ip地址时,向其他域名解析服务器发送至少两个待验证信息,每个待验证信息包括待解析的域名和至少两个ip地址中的一个ip地址,以便其他域名解析服务器对每个待验证信息进行表决,并根据其他域名解析服务器对每个待验证信息的表决结果确定该待解析的域名对应的正真的ip地址,提高了域名解析的可靠性。

图6为本发明实施例提供的分布式域名解析装置的结构图。本发明实施例提供的分布式域名解析装置可以执行分布式域名解析方法实施例提供的处理流程,如图6所示,分布式域名解析装置60包括接收模块61和发送模块62,其中,接收模块61用于接收客户端发送的域名解析请求,所述域名解析请求包括待解析的域名,所述域名解析服务器位于对等网络中;发送模块62用于当本地不存在与所述域名对应的ip地址时,将所述域名解析请求发送给所述对等网络中的其他域名解析服务器,以向其他域名解析服务器查询所述域名对应的ip地址;接收模块61还用于收其他域名解析服务器发送的所述域名对应的ip地址;发送模块62还用于将所述其他域名解析服务器发送的所述域名对应的ip地址发送给所述客户端。

本发明实施例通过对等网络中的域名解析服务器接收客户端发送的域名解析请求,并确定本地是否存储有待解析的域名对应的ip地址,如果本地不存在待解析的域名对应的ip地址,则将该域名解析请求发送给对等网络中的其他域名解析服务器,以向其他域名解析服务器查询待解析的域名对应的ip地址,由于对等网络中的域名解析服务器是对等的,各个域名解析服务器是动态同步的,因此,避免了现有技术中由于dns服务的树状结构中管理域名系统的组织权力过大,若根域或者顶级域的机构停止服务而导致的网络瘫痪的问题。

图7为本发明另一实施例提供的分布式域名解析装置的结构图。在上述实施例的基础上,分布式域名解析装置60还包括:存储模块63,用于存储所述域名和所述ip地址的对应关系。

发送模块62还用于:当所述域名对应的所述ip地址发生变化时,将所述域名和新的ip地址的对应关系发送给所述对等网络中的其他域名解析服务器。

分布式域名解析装置60还包括:加密模块64,用于采用私钥对所述域名和新的ip地址的对应关系进行加密得到加密信息;发送模块62还用于将所述加密信息发送给所述对等网络中的其他域名解析服务器,以使所述其他域名解析服务器采用公钥对所述加密信息进行解密得到所述域名和新的ip地址的对应关系。

接收模块61具体用于接收其他域名解析服务器发送的所述域名对应的至少两个ip地址;发送模块62还用于向所述其他域名解析服务器发送至少两个待验证信息,每个待验证信息包括所述域名和所述至少两个ip地址中的一个ip地址,以使所述其他域名解析服务器向所述域名解析服务器反馈每个待验证信息的记录时刻;分布式域名解析装置60还包括:确定模块65,用于根据每个待验证信息的记录时刻,确定出所述至少两个ip地址中与所述域名对应的ip地址。

本发明实施例提供的分布式域名解析装置可以具体用于执行上述图3所提供的方法实施例,具体功能此处不再赘述。

本发明实施例中,当域名解析服务器接收到其他域名解析服务器发送的待解析的域名对应的至少两个ip地址时,向其他域名解析服务器发送至少两个待验证信息,每个待验证信息包括待解析的域名和至少两个ip地址中的一个ip地址,以便其他域名解析服务器对每个待验证信息进行表决,并根据其他域名解析服务器对每个待验证信息的表决结果确定该待解析的域名对应的正真的ip地址,提高了域名解析的可靠性。

综上所述,本发明实施例通过对等网络中的域名解析服务器接收客户端发送的域名解析请求,并确定本地是否存储有待解析的域名对应的ip地址,如果本地不存在待解析的域名对应的ip地址,则将该域名解析请求发送给对等网络中的其他域名解析服务器,以向其他域名解析服务器查询待解析的域名对应的ip地址,由于对等网络中的域名解析服务器是对等的,各个域名解析服务器是动态同步的,因此,避免了现有技术中由于dns服务的树状结构中管理域名系统的组织权力过大,若根域或者顶级域的机构停止服务而导致的网络瘫痪的问题;当域名解析服务器接收到其他域名解析服务器发送的待解析的域名对应的至少两个ip地址时,向其他域名解析服务器发送至少两个待验证信息,每个待验证信息包括待解析的域名和至少两个ip地址中的一个ip地址,以便其他域名解析服务器对每个待验证信息进行表决,并根据其他域名解析服务器对每个待验证信息的表决结果确定该待解析的域名对应的正真的ip地址,提高了域名解析的可靠性。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1