域名的解析方法及装置、相关设备与流程

资讯 10-18 阅读:172 评论:0

                           

1.本公开涉及域名解析技术领域,具体涉及一种域名的解析方法及装置、相关设备。


背景技术:

2.dns(domain name system,域名系统)是为互联网上的域名解析提供服务的关键基础设施。使用域名的互联网应用程序(例如web和电子邮件)依赖这些服务将域名正确转换为ip(internet protocol,网际互连协议)地址。目前,dns不断发展并在互联网上发挥着广泛的作用,但域名解析过程的可用性和一致性长期以来一直困扰着dns。域名解析可用性问题是指域的权威服务器无法响应域名解析请求,可用性问题是由拒绝服务(denial of service,dos)攻击或单点故障(single point of failure,spof)引起的。一致性问题源于权威服务器副本之间或父/子权威服务器之间缺乏强制数据同步机制,域名解析一致性问题是指一个域名的资源记录集(resource record set,rrset)在不同的存储位置不一致。针对可用性和一致性问题,增加dns的加密安全保护是目前使用比较广泛的方法。目前主要的解决方案如下:
3.dns缓存可以增加访问效率,dns服务器执行递归并继续查询其他dns服务器,直到它具有返回给客户端的ip地址为止,缓存递归dns查询通常比迭代查询的解析速度更快。递归dns服务器将对执行的每个查询的最终答案进行缓存,并将该最终答案保存一定的时间。
4.但dns缓存会缓存不一致的问题,dns缓存不一样的现象主要包括以下三种情况:1)父区的粘合记录与子区的存储不一致。这种被称为委托不一致现象。2)同一个rrset在不同权威服务器副本之间不一致,称之为副本不一致现象。3)递归解析器中缓存的rrset与权威服务器中存储的不一致,称之为缓存不一致现象。


技术实现要素:

5.本公开的目的在于提供一种域名的解析方法及装置、相关设备,用于解决相关技术现有技术中dns缓存存在数据缓存不一致的技术问题。
6.第一方面,本公开实施例提供一种域名的解析方法,所述方法包括:在基于客户端对目标域名进行解析时,从区块链域名解析网络的根对等节点中搜索目标域名所对应根区域文件,其中,所述根区域文件中包括所述目标域名中的顶级域名tld信息和哈希值;所述区块链域名解析网络包括根对等节点和权威对等节点;基于从所述客户端获取的与所述目标域名对应的公钥对所述根区域文件进行验证;在验证通过的情况下,从与所述哈希值匹配的权威对等节点中获取子区域文件,其中,所述哈希值与所述子区域文件存在一一对应的关系;从所述子区域文件中的资源集中解析出与所述目标域名对应的ip地址。
7.在一个实施例中,在基于客户端对目标域名进行解析之前,所述方法还包括:在目标区块链网络的多个第一对等节点中存储所述根区域文件,并设置所述多个第一对等节点基于相同智能合约约束,以得到多个所述根对等节点;其中,所述根区域文件中包括哈希值,所述哈希值用于索引一一对应的子区域文件;在所述目标区块链网络的多个第二对等
节点中存储所述子区域文件,以得到多个所述权威对等节点,其中,所述多个第二对等节点都以相同身份存储数据;基于多个所述根对等节点和多个所述权威对等节点构建所述区块链域名解析网络。
8.在一个实施例中,所述根区域文件和所述子区域文件均至少包括以下类型的数据:属于分层命名空间的域名、域名映射至的域数据、域名的公钥。
9.在一个实施例中,所述根区域文件包括:第一结构和第二结构;其中,所述第一结构包括用于存储tld名称的第一字段、用于存储子域文件哈希值的第二字段、用于存储位置标识tld授权实体公钥的第三字段、用于存储根授权生成的数字签名的第四字段、用于存储tld机构生成的数字签名的第五字段;所述第二结构包括用于表征资源记录集的第六字段和用于对资源记录集进行签名生成的数字签名的第七字段。
10.在一个实施例中,基于从所述客户端获取的与所述目标域名对应的公钥对所述根区域文件进行验证,包括:获取所述根区域文件中第三字段中存储的公钥;基于从所述客户端获取的与所述目标域名对应的公钥与所述第三字段中存储的公钥进行比较。
11.在一个实施例中,在验证通过的情况下,从与所述哈希值匹配的权威对等节点中获取子区域文件,包括:在所述根区域文件中第三字段中存储公钥与所述目标域名对应的公钥匹配的情况下,从所述根区域文件中第二字段中获取所述哈希值;从与所述哈希值一一对应的权威对等节点中获取所述子区域文件。
12.在一个实施例中,所述方法还包括:在区域文件的容量大于预设阈值的情况下,将所述区域文件拆分为多个小文件块,并对所述多个小文件块进行上传和检索;在对所述多个小文件块进行上传和检索完成后,确定所述多个小文件块所对应的哈希值,并基于确定出的哈希值将所述多个小文件组合到新的区域文件中。
13.第二方面,本公开实施例还提供一种域名的解析装置,包括:搜索模块,用于在基于客户端对目标域名进行解析时,从区块链域名解析网络的根对等节点中搜索目标域名所对应根区域文件,其中,所述根区域文件中包括所述目标域名中的顶级域名tld信息和哈希值;所述区块链域名解析网络包括根对等节点和权威对等节点;验证模块,用于基于从所述客户端获取的与所述目标域名对应的公钥对所述根区域文件进行验证;获取模块,用于在验证通过的情况下,从与所述哈希值匹配的权威对等节点中获取子区域文件,其中,所述哈希值与所述子区域文件存在一一对应的关系;解析模块,用于从所述子区域文件中的资源集中解析出与所述目标域名对应的ip地址。
14.第三方面,本公开实施例还提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的域名的解析方法的步骤。
15.第四方面,本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的域名的解析方法的步骤。
16.在本公开实施例中,
17.在本技术实施例中的区块链域名解析网络包括根对等节点和权威对等节点,而跟对等节点相当于根服务器,权威对等节点相当于权威服务器,因此,在对目标域名进行解析时,可以从根对等节点中搜索目标域名所对应根区域文件,进而与目标域名对应的公钥对
根区域文件进行验证,在验证通过的情况下,从与哈希值匹配的权威对等节点中获取子区域文件,并从该子区域文件中解析出对应的ip地址。由于本技术实施例中的根区域文件中的哈希值与子区域文件一一对应,因此保证了根区域与子区域数据存储的一致性,从而保证了资源记录集的一致性,解决了现有技术中dns缓存存在数据缓存不一致的问题。
附图说明
18.为了更清楚地说明本公开实施例的技术方案,下面将对本公开实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
19.图1是本公开实施例提供的一种域名的解析方法的流程示意图;
20.图2是本公开实施例提供的另一种域名的解析方法的流程示意图;
21.图3是本公开实施例提供的在具体示例中区块链域名解析网络示意图;
22.图4是本公开实施例提供的在具体示例中对等节点的示意图;
23.图5是本公开实施例提供的在具体示例中区域文件结构示意图;
24.图6是本公开实施例提供的域名委托验证的示意图;
25.图7是本公开实施例提供的一种域名的解析装置的结构示意图;
26.图8是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
27.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
28.本公开实施例提供一种域名的解析方法,如图1所示,所述方法包括:
29.步骤101,在基于客户端对目标域名进行解析时,从区块链域名解析网络的根对等节点中搜索目标域名所对应根区域文件,其中,根区域文件中包括目标域名中的顶级域名tld信息和哈希值;区块链域名解析网络包括根对等节点和权威对等节点;
30.步骤102,基于从客户端获取的与目标域名对应的公钥对根区域文件进行验证;
31.步骤103,在验证通过的情况下,从与哈希值匹配的权威对等节点中获取子区域文件,其中,哈希值与子区域文件存在一一对应的关系;
32.步骤104,从子区域文件中的资源集中解析出与目标域名对应的ip地址。
33.通过本技术实施例的上述步骤101至步骤104可知,在本技术实施例中的区块链域名解析网络包括根对等节点和权威对等节点,而跟对等节点相当于根服务器,权威对等节点相当于权威服务器,因此,在对目标域名进行解析时,可以从根对等节点中搜索目标域名所对应根区域文件,进而与目标域名对应的公钥对根区域文件进行验证,在验证通过的情况下,从与哈希值匹配的权威对等节点中获取子区域文件,并从该子区域文件中解析出对应的ip地址。由于本技术实施例中的根区域文件中的哈希值与子区域文件一一对应,因此保证了根区域与子区域数据存储的一致性,从而保证了资源记录集的一致性,解决了现有
技术中dns缓存存在数据缓存不一致的问题。
34.也就是说,本技术实施例中的子域的区域文件的索引信息包含在父域的区域文件中,因此客户端能通过多次迭代查询得到目标域名的解析数据。现有技术中的dns是通过存储子域区域文件的权威服务器的ip地址(粘合记录)来索引子域的区域文件,由于权威服务器与存储的数据不存在绑定关系,因此无法完全避免父子域的不一致。在本技术实施例中通过索引根区域文件的哈希值来索引子域的区域文件可以保证存储数据的一致性。另外,由于散列函数的特性,散列函数得到的区域文件的哈希值与区域文件具有天然的绑定关系。当客户端从根区域文件获取子区域文件的哈希值时,存储子域数据的区域文件是唯一确定的。在本技术实施例的具体示例中,散列函数的模型可以是:h=h(m),其中,m是子域数据的区域文件,h是存储子域数据的区域文件的哈希值,h具有固定的长度,且与m的长度无关;h存在单向性质:(1)给定h和m,很容易计算得出h;(2)给定h和h,很难计算得到m;(3)不存在m1和m2,使得h(m1)=h(m2)。
35.在本技术实施例的可选实施方式中,在基于客户端对目标域名进行解析之前,如图2所示,本技术实施例的方法还可以包括:
36.步骤201,在目标区块链网络的多个第一对等节点中存储根区域文件,并设置多个第一对等节点基于相同智能合约约束,以得到多个根对等节点;其中,根区域文件中包括哈希值,哈希值用于索引一一对应的子区域文件;
37.步骤202,在目标区块链网络的多个第二对等节点中存储子区域文件,以得到多个权威对等节点,其中,多个第二对等节点都以相同身份存储数据;
38.步骤203,基于多个根对等节点和多个权威对等节点构建区块链域名解析网络。
39.通过上述步骤201至步骤203可知,在本技术实施例中的区块链域名解析网络包括两层,一层是根对等节点,一层是权威对等节点,如图3所示。其中,根对等节点充当dns中的根服务器,响应根区域数据的查询。此外,根对等节点以身份检查的方式加入许可的区块链域名解析网络。所有根对等节点都执行描述实体(根/tld授权)对资源的操作,例如tld委托和域数据发布。该操作由所有根对等节点的基于共识的智能合约定义。因此,所有通过根节点发起操作的实体都受到相同智能合约的约束。每个实体都可以控制已委托给自己的tld资源。此外,每个实体都可以基于合同约束参与其他实体资源的协同管理。
40.权威对等节点的作用类似于dns中各个级别的权威服务器,为所有存储的域数据提供权威响应。在这个网络中,所有节点都可以作为所有域名(如tld、二级域(sld)等,根域除外)的权威服务器。存储域名数据的对等节点不再区分主从角色,所有对等节点都以相同的身份存储数据。
41.如图4所示,tld ta和tc的两个权威对等节点,tld te的三个对等节点和sld sa的一个对等节点。每个对等节点都可以充当多个域的权威节点。例如,对等no.1是三个域(tld a/c/e)的权威对等点,对等no.3是三个域(tld c/e和sld a)的权威对等点。
42.此外,本技术实施例中涉及到的根区域文件和子区域文件均至少包括以下类型的数据:属于分层命名空间的域名、域名映射至的域数据、域名的公钥。
43.可选地,本技术实施例中的根区域文件包括:第一结构和第二结构;其中,第一结构包括用于存储tld名称的第一字段、用于存储子域文件哈希值的第二字段、用于存储位置标识tld授权实体公钥的第三字段、用于存储根授权生成的数字签名的第四字段、用于存储
tld机构生成的数字签名的第五字段;第二结构包括用于表征资源记录集的第六字段和用于对资源记录集进行签名生成的数字签名的第七字段。
44.对于上述结构和字段,在具体示例的区域文件如图5所示:
45.结构indexitem(第一结构)用于存储tld的索引信息。indexitem使用subdomainname(对应于第一字段)、zonefilehash(对应于第二字段)、authoritypublickey(对应于第三字段)、publicationsig(对应于第四字段)和delegationsig(对应于第五字段)五个字段来索引tld zonefile(区域文件):
46.1)sub domainname字段存储tld名称。
47.2)zonefilehash字段存储子域区域文件的哈希值。
48.3)authoritypublickey字段存储唯一标识tld授权实体的公钥。
49.4)delegationsig字段是根授权生成的数字签名,代表一个授权动作,这意味着tld(subdomainname)被授权给持有公钥(authoritypublickey)的实体。
50.5)publicationsig字段是tld机构生成的数字签名,用于确保用于索引tld区域数据的哈希值zonefilehash的真实性和完整性。
51.结构domaindataitem(对应于第二结构)存储属于根域名的数据。domaindataitem至少包括两个字段:
52.1)rrset(对应于第六字段)表示一个资源记录集,其格式符合dns协议,由五个字段组成:name(名称)、class(种类)、type(类型)、ttl(生存时间)和rdata(记录数据)。
53.2)rrsig(对应于第七字段)字段是根权威机构对rrset字段进行签名生成的数字签名,用于保护域数据的真实性和完整性。
54.此外,在本技术实施例的可选实施方式中,对于大区域文件存储,可以采用如下方式:在区域文件的容量大于预设阈值的情况下,将区域文件拆分为多个小文件块,并对多个小文件块进行上传和检索;在对多个小文件块进行上传和检索完成后,确定多个小文件块所对应的哈希值,并基于确定出的哈希值将多个小文件组合到新的区域文件中。
55.上述预设阈值可以根据实际需求进行相应的设置,例如将预设阈值设置为100mb,120mb等等。
56.基于上述本技术实施例中的区块链域名解析网络,对于上述步骤102中基于从客户端获取的与目标域名对应的公钥对根区域文件进行验证的方式,进一步可以包括:
57.步骤11,获取根区域文件中第三字段中存储的公钥;
58.步骤12,基于从客户端获取的与目标域名对应的公钥与第三字段中存储的公钥进行比较。
59.对于上述步骤11和步骤12,在具体示例中如图6中所示域名委托验证通过验证子域名的委托结果(delegationsig)来实现的,需要verify([parent]authoritypublickey,delegationsig)=true来保证子域名委托给正确的注册人。即持有公钥(authoritypublickey)的实体的注册人产生的数字签名与delegationsig保持一致。
[0060]
基于上述本技术实施例中的区块链域名解析网络,对于上述步骤103中涉及到的在验证通过的情况下,从与哈希值匹配的权威对等节点中获取子区域文件的方式,进一步包括:
[0061]
步骤21,在根区域文件中第三字段中存储公钥与目标域名对应的公钥匹配的情况
下,从根区域文件中第二字段中获取哈希值;
[0062]
步骤22,从与哈希值一一对应的权威对等节点中获取子区域文件。
[0063]
对于上述步骤21和步骤22,在具体示例中如图6中所示的区域文件数据验证,以对区域文件的真实性检查,验证子域a,sdkcfjdkmsmkqklmbv,l,,,,,,,,,,,,,,,,,,,,,,,3ercbffnhgdbjmngrjnhcdbfvvgdc域区域文件。
[0064]
基于此,在具体示例中在本技术实施例中的架构中解析目标域名“https://www.aerohome.com.cn/”的ip地址并确保域名解析过程的的步骤包括:
[0065]
步骤31,为了解析“https://www.aerohome.com.cn/”,根对等节点搜索根区域文件,然后将包含tld“com”的indexitem返回给客户端。
[0066]
步骤32,客户端验证(最左边的红色箭头)tld“com”已被委托给代表tld授权实体的公钥。
[0067]
步骤33,客户端使用正确的哈希值验证(最左边的蓝色箭头)由tld“com”机构发布的区域文件。
[0068]
步骤34客户端使用区域文件哈希来索引tld“com”区域文件,以查找包含sld“aerohome.com.cn”的indexitem。
[0069]
步骤35,客户端重复验证操作,直到获得“https://www.aerohome.com.cn/”ip地址的rrset和rrsig,到此目标域名被安全地解析。
[0070]
因此,通过本技术实施例中的方式,使用散列函数使得散列函数得到的区域文件的散列值与区域文件具有天然的绑定关系,避免父子域不一致的情况;域名数据存储在区块链系统中,保证了数据的可用性。此外,在本技术实施例中的区域文件的数据结构中,使用域的权威公钥来保护域名解析结果的真实性;根权威机构签名生成的数字签名,有效保证了解析数据的完整性。另外,本技术实施例中的域名解析过程引入了去中心化,使得域名解析服务的数据安全,可溯源性得到了保证。去中心化存储是把数据将被切割成小块,经过加密后,分散存储在众多节点上,发挥了存储共享的优势,节省了中心化存储的建设成本。
[0071]
如图7所示,本公开实施例还提供一种域名的解析装置700,所述装置700包括:
[0072]
搜索模块702,用于在基于客户端对目标域名进行解析时,从区块链域名解析网络的根对等节点中搜索目标域名所对应根区域文件,其中,根区域文件中包括目标域名中的顶级域名tld信息和哈希值;区块链域名解析网络包括根对等节点和权威对等节点;
[0073]
验证模块704,用于基于从客户端获取的与目标域名对应的公钥对根区域文件进行验证;
[0074]
获取模块706,用于在验证通过的情况下,从与哈希值匹配的权威对等节点中获取子区域文件,其中,哈希值与子区域文件存在一一对应的关系;
[0075]
解析模块706,用于从子区域文件中的资源集中解析出与目标域名对应的ip地址。
[0076]
可选地,本技术实施例中的装置还包括:第一存储模块,用于在基于客户端对目标域名进行解析之前,在目标区块链网络的多个第一对等节点中存储根区域文件,并设置多个第一对等节点基于相同智能合约约束,以得到多个根对等节点;其中,根区域文件中包括哈希值,哈希值用于索引一一对应的子区域文件;第二存储模块,用于在目标区块链网络的多个第二对等节点中存储子区域文件,以得到多个权威对等节点,其中,多个第二对等节点都以相同身份存储数据;构建模块,用于基于多个根对等节点和多个权威对等节点构建区
块链域名解析网络。
[0077]
可选地,本技术实施例中的根区域文件和子区域文件均至少包括以下类型的数据:属于分层命名空间的域名、域名映射至的域数据、域名的公钥。
[0078]
可选地,本技术实施例中的根区域文件包括:第一结构和第二结构;其中,第一结构包括用于存储tld名称的第一字段、用于存储子域文件哈希值的第二字段、用于存储位置标识tld授权实体公钥的第三字段、用于存储根授权生成的数字签名的第四字段、用于存储tld机构生成的数字签名的第五字段;第二结构包括用于表征资源记录集的第六字段和用于对资源记录集进行签名生成的数字签名的第七字段。
[0079]
可选地,本技术实施例中的验证模块包括:第一获取单元,用于获取根区域文件中第三字段中存储的公钥;比较单元,用于基于从客户端获取的与目标域名对应的公钥与第三字段中存储的公钥进行比较。
[0080]
可选地,本技术实施例中的获取模块包括:第二获取单元,用于在根区域文件中第三字段中存储公钥与目标域名对应的公钥匹配的情况下,从根区域文件中第二字段中获取哈希值;第三获取单元,用于从与哈希值一一对应的权威对等节点中获取子区域文件。
[0081]
可选地,本技术实施例中的装置还包括:第一处理模块,用于在区域文件的容量大于预设阈值的情况下,将区域文件拆分为多个小文件块,并对多个小文件块进行上传和检索;第二处理模块,用于在对多个小文件块进行上传和检索完成后,确定多个小文件块所对应的哈希值,并基于确定出的哈希值将多个小文件组合到新的区域文件中。
[0082]
本公开实施例提供的域名的解析装置700能够实现上述方法实施例中的各个过程,且达到相同的技术效果,为避免重复,这里不再赘述。
[0083]
请参见图8,图8是本公开实施例提供的一种电子设备的结构示意图,如图8所示,电子设备包括:可以包括处理器801、存储器802及存储在存储器802上并可在处理器801上运行的程序8021。
[0084]
程序8021被处理器801执行时可实现图1对应的方法实施例中的任意步骤及达到相同的有益效果,此处不再赘述。
[0085]
本领域普通技术人员可以理解实现上述实施例方法的全部或者部分步骤是可以通过程序指令相关的硬件来完成,所述的程序可以存储于一可读取介质中。
[0086]
本公开实施例还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时可实现上述图1对应的方法实施例中的任意步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0087]
本公开实施例的计算机可读存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0088]
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0089]
存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0090]
可以以一种或多种程序设计语言或其组合来编写用于执行本公开操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或终端上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0091]
以上所述是本公开实施例的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本公开的保护范围。

技术特征:
1.一种域名的解析方法,其特征在于,所述方法包括:在基于客户端对目标域名进行解析时,从区块链域名解析网络的根对等节点中搜索目标域名所对应根区域文件,其中,所述根区域文件中包括所述目标域名中的顶级域名tld信息和哈希值;所述区块链域名解析网络包括根对等节点和权威对等节点;基于从所述客户端获取的与所述目标域名对应的公钥对所述根区域文件进行验证;在验证通过的情况下,从与所述哈希值匹配的权威对等节点中获取子区域文件,其中,所述哈希值与所述子区域文件存在一一对应的关系;从所述子区域文件中的资源集中解析出与所述目标域名对应的ip地址。2.根据权利要求1所述的方法,其特征在于,在基于客户端对目标域名进行解析之前,所述方法还包括:在目标区块链网络的多个第一对等节点中存储所述根区域文件,并设置所述多个第一对等节点基于相同智能合约约束,以得到多个所述根对等节点;其中,所述根区域文件中包括哈希值,所述哈希值用于索引一一对应的子区域文件;在所述目标区块链网络的多个第二对等节点中存储所述子区域文件,以得到多个所述权威对等节点,其中,所述多个第二对等节点都以相同身份存储数据;基于多个所述根对等节点和多个所述权威对等节点构建所述区块链域名解析网络。3.根据权利要求1所述的方法,其特征在于,所述根区域文件和所述子区域文件均至少包括以下类型的数据:属于分层命名空间的域名、域名映射至的域数据、域名的公钥。4.根据权利要求3所述的方法,其特征在于,所述根区域文件包括:第一结构和第二结构;其中,所述第一结构包括用于存储tld名称的第一字段、用于存储子域文件哈希值的第二字段、用于存储位置标识tld授权实体公钥的第三字段、用于存储根授权生成的数字签名的第四字段、用于存储tld机构生成的数字签名的第五字段;所述第二结构包括用于表征资源记录集的第六字段和用于对资源记录集进行签名生成的数字签名的第七字段。5.根据权利要求4所述的方法,其特征在于,基于从所述客户端获取的与所述目标域名对应的公钥对所述根区域文件进行验证,包括:获取所述根区域文件中第三字段中存储的公钥;基于从所述客户端获取的与所述目标域名对应的公钥与所述第三字段中存储的公钥进行比较。6.根据权利要求5所述的方法,其特征在于,在验证通过的情况下,从与所述哈希值匹配的权威对等节点中获取子区域文件,包括:在所述根区域文件中第三字段中存储公钥与所述目标域名对应的公钥匹配的情况下,从所述根区域文件中第二字段中获取所述哈希值;从与所述哈希值一一对应的权威对等节点中获取所述子区域文件。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:在区域文件的容量大于预设阈值的情况下,将所述区域文件拆分为多个小文件块,并对所述多个小文件块进行上传和检索;在对所述多个小文件块进行上传和检索完成后,确定所述多个小文件块所对应的哈希
值,并基于确定出的哈希值将所述多个小文件组合到新的区域文件中。8.一种域名的解析装置,其特征在于,包括:搜索模块,用于在基于客户端对目标域名进行解析时,从区块链域名解析网络的根对等节点中搜索目标域名所对应根区域文件,其中,所述根区域文件中包括所述目标域名中的顶级域名tld信息和哈希值;所述区块链域名解析网络包括根对等节点和权威对等节点;验证模块,用于基于从所述客户端获取的与所述目标域名对应的公钥对所述根区域文件进行验证;获取模块,用于在验证通过的情况下,从与所述哈希值匹配的权威对等节点中获取子区域文件,其中,所述哈希值与所述子区域文件存在一一对应的关系;解析模块,用于从所述子区域文件中的资源集中解析出与所述目标域名对应的ip地址。9.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述方法的步骤。10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述方法的步骤。

技术总结
本公开提供一种域名的解析方法及装置、相关设备,其中,该方法包括:在基于客户端对目标域名进行解析时,从区块链域名解析网络的根对等节点中搜索目标域名所对应根区域文件,其中,根区域文件中包括目标域名中的顶级域名TLD信息和哈希值;区块链域名解析网络包括根对等节点和权威对等节点;基于从客户端获取的与目标域名对应的公钥对根区域文件进行验证;在验证通过的情况下,从与哈希值匹配的权威对等节点中获取子区域文件;从子区域文件中的资源集中解析出与目标域名对应的IP地址。在本申请实施例中由于根区域文件中的哈希值与子区域文件一一对应,因此保证了根区域与子区域数据存储的一致性,从而保证了资源记录集的一致性。性。性。


技术研发人员:李婷婷 李国辉 金鹏程
受保护的技术使用者:中国移动通信集团有限公司
技术研发日:2023.07.12
技术公布日:2023/10/11                                                                                        

版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐