DNS账本处理方法及装置与流程

文档序号:11292343阅读:332来源:国知局
DNS账本处理方法及装置与流程

本发明实施例涉及通信技术领域,尤其涉及一种dns账本处理方法及装置。



背景技术:

域名服务器(domainnameserver,dns)是进行域名(domainname)和与之相对应的ip地址(ipaddress)转换的服务器,dns中保存了一张域名(domainname)和与之相对应的ip地址(ipaddress)的表,以解析消息的域名。域名是internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。

将域名映射为ip地址的过程就称为“域名解析”。在internet上域名与ip地址之间是一对一(或者多对一)的,也可采用dns轮循实现一对多,域名虽然便于人们记忆,但机器之间只认ip地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,dns就是进行域名解析的服务器。dns命名用于internet等tcp/ip网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入dns名称时,dns服务可以将此名称解析为与之相关的其他信息,如ip地址。因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的ip地址,这样才能上网。其实,域名的最终指向是ip。

当前的dns需要中心化的服务器,而中心化的dns服务器一旦出现故障,将导致网络瘫痪,降低了网络的可靠性。



技术实现要素:

本发明实施例提供一种dns账本处理方法及装置,以网络的可靠性。

本发明实施例的一个方面是提供一种dns账本处理方法,包括:

接收服务器发送的所述服务器的域名、第一ip地址、公钥和第一加密信息,所述第一加密信息是所述服务器采用其私钥对所述服务器的域名、第一ip地址进行加密后得到的信息;

采用所述公钥对所述第一加密信息进行解密得到第一解密信息;

若所述第一解密信息与所述服务器的域名、第一ip地址一致,则将所述服务器的域名、第一ip地址、公钥和第一加密信息记录到dns账本中。

本发明实施例的另一个方面是提供一种dns账本处理装置,包括:

接收模块,用于接收服务器发送的所述服务器的域名、第一ip地址、公钥和第一加密信息,所述第一加密信息是所述服务器采用其私钥对所述服务器的域名、第一ip地址进行加密后得到的信息;

解密模块,用于采用所述公钥对所述第一加密信息进行解密得到第一解密信息;

记录模块,用于当所述第一解密信息与所述服务器的域名、第一ip地址一致时,将所述服务器的域名、第一ip地址、公钥和第一加密信息记录到dns账本中。

本发明实施例提供的dns账本处理方法及装置,通过客户端接收各服务器发送的域名和ip地址的对应关系,使得客户端可以维护一个dns账本,当客户端进行dns访问时,直接从本地的dns账本中获取服务器的域名对应的ip地址,从而访问该服务器,不需要通过现有技术中的dns服务器查询各域名对应的ip地址,避免了中心化的dns服务器一旦出现故障导致网络瘫痪的现象出现,提高了网络的可靠性。

附图说明

图1为本发明实施例提供的dns账本处理方法流程图;

图2为本发明另一实施例提供的dns账本处理方法流程图;

图3为本发明实施例提供的dns账本处理装置的结构图;

图4为本发明另一实施例提供的dns账本处理装置的结构图。

具体实施方式

图1为本发明实施例提供的dns账本处理方法流程图。本发明实施例针对当前的dns需要中心化的服务器,而中心化的dns服务器一旦出现故障,将导致网络瘫痪,降低了网络的可靠性,提供了dns账本处理方法,具体的dns账本处理方法步骤如下:

步骤s101、接收服务器发送的所述服务器的域名、第一ip地址、公钥和第一加密信息,所述第一加密信息是所述服务器采用其私钥对所述服务器的域名、第一ip地址进行加密后得到的信息。

本实施例的执行主体具体可以是客户端,每个客户端可以维护有一个域名服务器(domainnameserver,dns)账本,该dns账本可用于存储记录每个全球广域网或万维网(worldwideweb,web)服务器的域名和ip地址的对应关系。该dns账本可以是去中心化的dns账本。

本实施例提出的去中心化的dns账本,目的在于打造一个全新形式的网络,在该网络中所加入的服务器或客户端,全部重新分配域名和ip地址,不适用该服务器在现有网络中的域名和ip地址,以便于客户端和服务器都可以区分两种网络(去中心化的dns账本网络,和现有的中心化的dns服务器网络),即使服务器和客户端都同时接入了两种网络,共同存在于两种网络的不同的设备之间依旧可以正常使用,便于向新形式的网络进行“软切换”的过渡。

在新网络中,web服务器全网自主发布自己的域名和ip地址,客户端收到该web服务器发布的信息,则进行解密,然后验证,如果验证通过,则客户端对该消息进行记录,这样做的结果是:最终每个客户端都会记录得到一个全局的分布式dns账本。该账本中包括web服务器的域名,ip地址,创建时间等信息。当客户端要进行dns访问的时候,客户端直接从自己的账本中找到该域名对应的ip地址进行访问。也就是说客户端不需要再按照现有网络的去dns服务器进行域名对应的ip地址的查询了。只需要查询自己内部账本存储的信息就可以找到该域名对应的ip。以上过程达到了dns去中心化的目的。

例如,服务器a具有域名www.example.db,服务器a所具有的域名www.example.db的命名规则可以不同于现有技术中域名的命名规则,该域名对应的ip地址为:202.10.10.3,这样服务器a可以采用自己的公钥和私钥,发布自己的域名和ip地址,具体的,服务器a首次发布自己的域名和ip地址时,可以将服务器a用自己的私钥对字段(www.example.db,202.10.10.3)进行加密,获得string_a1。

服务器a可以将字段(www.example.db,202.10.10.3)、服务器a的公钥、string_a1发布到网络中,例如广播到网络中的节点,接收该广播消息的网络中的节点具体可以是本案所述的客户端。

步骤s102、采用所述公钥对所述第一加密信息进行解密得到第一解密信息。

例如,网络中的节点b接收了服务器a广播的消息,即接收到了字段(www.example.db,202.10.10.3)、服务器a的公钥、string_a1,节点b采用服务器a的公钥对string_a1进行解密。

步骤s103、若所述第一解密信息与所述服务器的域名、第一ip地址一致,则将所述服务器的域名、第一ip地址、公钥和第一加密信息记录到dns账本中。

若所述第一解密信息与所述服务器的域名、第一ip地址一致,则确定所述所述第一加密信息是所述服务器采用其私钥对所述服务器的域名、第一ip地址进行加密后得到的信息,并将所述服务器的域名、第一ip地址、公钥和第一加密信息记录到dns账本中。

如果节点b采用服务器a的公钥对string_a1进行解密后得到的解密信息与(www.example.db,202.10.10.3)一致,则说明对string_a1验证成功,表示该string_a1,确定string_a1确实是服务器a用自己的私钥对字段(www.example.db,202.10.10.3)进行加密后得到的,并将(www.example.db,202.10.10.3)、服务器a的公钥、string_a1存储到节点b本地的dns账本中。

如果节点b采用服务器a的公钥对string_a1进行解密后得到的解密信息与(www.example.db,202.10.10.3)不一致,则说明对string_a1验证不成功,丢弃服务器a发送的(www.example.db,202.10.10.3)、服务器a的公钥、string_a1。

在本实施例中,接收服务器发送的所述服务器的域名、第一ip地址、公钥和第一加密信息,包括:接收服务器发送的所述服务器的域名、第一ip地址、公钥、时间戳和第一加密信息;所述第一加密信息是所述服务器采用其私钥对所述服务器的域名、第一ip地址、时间戳进行加密后得到的信息。

例如,服务器a可以用自己的私钥对字段(www.example.db,202.10.10.3)和时间戳1进行加密,获得string_a1,该时间戳1具体可以是发布时间,并将字段(www.example.db,202.10.10.3)、服务器a的公钥、时间戳1、string_a1发布到网络中,该时间戳1具体可以是发布时间。

节点b接收到服务器a发送的(www.example.db,202.10.10.3)、服务器a的公钥、时间戳1、string_a1,对string_a1验证成功后,可以将(www.example.db,202.10.10.3)、服务器a的公钥、时间戳1、string_a1记录到本地的dns账本中,dns账本的格式具体如表1所示:

表1

表1中,时间戳1具体可以是服务器a发布(www.example.db,202.10.10.3)、服务器a的公钥、时间戳1、string_a1时的发布时间,kpuba表示服务器a的公钥。

节点b不仅可以接收到服务器a发布的(www.example.db,202.10.10.3)、服务器a的公钥、时间戳1、string_a1,还可以接收到其他服务器发送的相同类型的信息,并根据各信息的时间戳的先后顺序对接收到的信息进行排序,即表1中每一行记录的是一个服务器的信息,各服务器的信息可根据各服务器发布该信息时的时间戳进行排序。

本发明实施例通过客户端接收各服务器发送的域名和ip地址的对应关系,使得客户端可以维护一个dns账本,当客户端进行dns访问时,直接从本地的dns账本中获取服务器的域名对应的ip地址,从而访问该服务器,不需要通过现有技术中的dns服务器查询各域名对应的ip地址,避免了中心化的dns服务器一旦出现故障导致网络瘫痪的现象出现,提高了网络的可靠性。

图2为本发明另一实施例提供的dns账本处理方法流程图。在上述实施例的基础上,本实施例所述的dns账本处理方法还包括如下步骤:

步骤s201、接收所述服务器发送的所述服务器的域名、第二ip地址和第二加密信息,所述第二加密信息是所述服务器采用其私钥对所述服务器的域名、第二ip地址进行加密后得到的信息。

在上述实施例的基础上,当服务器a的ip地址被修改后,例如服务器a的ip地址被更新为101.10.10.4,服务器a用自己的私钥对字段(www.example.db,101.10.10.4)进行加密,获得string_a2,并将(www.example.db,101.10.10.4)和string_a2发布到网络中。

另外,字段(www.example.db,101.10.10.4)中还可以包括服务器a修改自己的ip地址的时间,例如,(www.example.db,101.10.10.4,时间戳2),其中时间戳2是服务器a修改自己的ip地址的时间,则string_a2是服务器a用自己的私钥对字段(www.example.db,101.10.10.4,时间戳2)进行加密后的得到的加密信息。

步骤s202、采用所述公钥对所述第二加密信息进行解密得到第二解密信息。

此外,服务器a只将(www.example.db,101.10.10.4)和string_a2发布到网络中,没有发送服务器a的公钥kpuba,原因是:服务器a的公钥kpuba是相对固定的,网络中的节点接收到服务器a首次发布的消息时,已经将服务器a的公钥kpuba记录在了节点的dns账本中,当网络中的节点再次接收到服务器a首次发布的消息时,可以从dns账本中直接获取出服务器a的公钥kpuba,并采用kpuba对string_a2进行解密。

步骤s203、若所述第二解密信息与所述服务器的域名、第二ip地址一致,则将所述dns账本中的所述第一ip地址替换为所述第二ip地址。

若所述第二解密信息与所述服务器的域名、第二ip地址一致,则确定所述第二加密信息是所述服务器采用其私钥对所述服务器的域名、第二ip地址进行加密后得到的信息,并将所述dns账本中的所述第一ip地址替换为所述第二ip地址。

节点b从dns账本中直接获取出服务器a的公钥kpuba,并采用kpuba对string_a2进行解密后得到的解析信息与(www.example.db,101.10.10.4)一致,表示(www.example.db,101.10.10.4)和string_a2确实是服务器a发送的,没有冒充服务器a,并将dns账本中的202.10.10.3替换为101.10.10.4。如果节点b采用kpuba对string_a2进行解密后得到的解析信息与(www.example.db,101.10.10.4)不一致,表示(www.example.db,101.10.10.4)和string_a2不是服务器a发送的,说明有另一个服务器冒充了服务器a,此时,节点b可以选择丢弃接收到的消息。

由于服务器a首次发布的消息和非首次发布的消息不同,即非首次发布的消息中不包括服务器a的公钥kpuba,对于接收端即网络中的节点而言,可以根据服务器a发布的消息中是否有服务器a的公钥kpuba,来判断服务器a发布的消息是否为首次发布的消息,如果是首次发布的消息,则在dns账本中添加首次发布的消息,如果是非首次发布的消息,则更新dns账本中的信息。

本发明实施例通过客户端接收各服务器发送的域名和ip地址的对应关系,使得客户端可以维护一个dns账本,当客户端进行dns访问时,直接从本地的dns账本中获取服务器的域名对应的ip地址,从而访问该服务器,不需要通过现有技术中的dns服务器查询各域名对应的ip地址,避免了中心化的dns服务器一旦出现故障导致网络瘫痪的现象出现,提高了网络的可靠性。

图3为本发明实施例提供的dns账本处理装置的结构图。本发明实施例提供的dns账本处理装置可以执行dns账本处理方法实施例提供的处理流程,如图3所示,dns账本处理装置30包括:接收模块31、解密模块32、记录模块33,其中,接收模块31用于接收服务器发送的所述服务器的域名、第一ip地址、公钥和第一加密信息,所述第一加密信息是所述服务器采用其私钥对所述服务器的域名、第一ip地址进行加密后得到的信息;解密模块32用于采用所述公钥对所述第一加密信息进行解密得到第一解密信息;记录模块33用于当所述第一解密信息与所述服务器的域名、第一ip地址一致时,将所述服务器的域名、第一ip地址、公钥和第一加密信息记录到dns账本中。

本发明实施例通过客户端接收各服务器发送的域名和ip地址的对应关系,使得客户端可以维护一个dns账本,当客户端进行dns访问时,直接从本地的dns账本中获取服务器的域名对应的ip地址,从而访问该服务器,不需要通过现有技术中的dns服务器查询各域名对应的ip地址,避免了中心化的dns服务器一旦出现故障导致网络瘫痪的现象出现,提高了网络的可靠性。

图4为本发明另一实施例提供的dns账本处理装置的结构图。在上述实施例的基础上,接收模块31具体用于接收服务器发送的所述服务器的域名、第一ip地址、公钥、时间戳和第一加密信息;所述第一加密信息是所述服务器采用其私钥对所述服务器的域名、第一ip地址、时间戳进行加密后得到的信息。

dns账本处理装置30还包括:确定模块34,确定模块34用于当所述第一解密信息与所述服务器的域名、第一ip地址一致时,确定所述所述第一加密信息是所述服务器采用其私钥对所述服务器的域名、第一ip地址进行加密后得到的信息。

此外,接收模块31还用于接收所述服务器发送的所述服务器的域名、第二ip地址和第二加密信息,所述第二加密信息是所述服务器采用其私钥对所述服务器的域名、第二ip地址进行加密后得到的信息;解密模块32还用于采用所述公钥对所述第二加密信息进行解密得到第二解密信息;记录模块33还用于当所述第二解密信息与所述服务器的域名、第二ip地址一致时,将所述dns账本中的所述第一ip地址替换为所述第二ip地址。

确定模块34用于当所述第二解密信息与所述服务器的域名、第二ip地址一致时,确定所述第二加密信息是所述服务器采用其私钥对所述服务器的域名、第二ip地址进行加密后得到的信息。

本发明实施例提供的dns账本处理装置可以具体用于执行上述图1所提供的方法实施例,具体功能此处不再赘述。

本发明实施例通过客户端接收各服务器发送的域名和ip地址的对应关系,使得客户端可以维护一个dns账本,当客户端进行dns访问时,直接从本地的dns账本中获取服务器的域名对应的ip地址,从而访问该服务器,不需要通过现有技术中的dns服务器查询各域名对应的ip地址,避免了中心化的dns服务器一旦出现故障导致网络瘫痪的现象出现,提高了网络的可靠性。

综上所述,本发明实施例通过客户端接收各服务器发送的域名和ip地址的对应关系,使得客户端可以维护一个dns账本,当客户端进行dns访问时,直接从本地的dns账本中获取服务器的域名对应的ip地址,从而访问该服务器,不需要通过现有技术中的dns服务器查询各域名对应的ip地址,避免了中心化的dns服务器一旦出现故障导致网络瘫痪的现象出现,提高了网络的可靠性。

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

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

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

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

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

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

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