搜索
您的当前位置:首页正文

一种与源地址相关的递归域名服务器的解析方法及系统[发明专利]

来源:六九路网
(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号 CN 105376344 A (43)申请公布日 2016.03.02

(21)申请号 201510844970.4(22)申请日 2015.11.26

(71)申请人中国互联网络信息中心

地址100190 北京市海淀区中关村南四街四

号1号楼(72)发明人李晓东 刘明星 熊自新 徐东

张跃冬 刘昱琨(74)专利代理机构北京君尚知识产权代理事务

所(普通合伙) 11200

代理人余长江(51)Int.Cl.

H04L 29/12(2006.01)H04L 29/08(2006.01)

权利要求书2页 说明书7页 附图2页

(54)发明名称

一种与源地址相关的递归域名服务器的解析方法及系统(57)摘要

本发明公开了一种与源地址相关的递归域名服务器的解析方法及系统,通过将用户归类,在有效期内为每一个类别的用户只向权威服务器发送一次载源递归请求,这样就不需要为大量的独立网段做递归请求,从而大大减少了向权威服务器发送迭代请求的次数,提高了缓存的命中率。因此,在尽量保证载源递归请求的情况,尽最大可能地提高了域名解析的效率,减少了对权威服务器的流量冲击。

C N 1 0 5 3 7 6 3 4 4 A CN 105376344 A

权 利 要 求 书

1/2页

1.一种与源地址相关的递归域名服务器的解析方法,包括:首先将递归域名服务器服务的用户归类;当接收到某个客户端的DNS请求时,若递归缓存中存在属于请求用户所在类型的、有效的请求类型的域名数据,递归域名服务器将该域名数据作为应答响应用户请求,否则就进行携带ECS选项的载源递归解析,将获得的域名数据作为应答。

2.如权利要求1所述的与源地址相关的递归域名服务器的解析方法,其特征在于,当接收到某个客户端的DNS请求时,具体解析步骤如下:

(1)查看本地缓存是否有该域名的载源查询支持信息,如果有就跳转到(2),否则就跳转到(4),所述载源查询支持信息是显示权威服务器能否识别载源DNS请求中的IP地址信息DNS扩展并据此回复定制的应答的信息,所述载源DNS请求是指在DNS请求包的EDNS0中载有客户端IP地址的所属地址段的DNS请求;

(2)查看该域名是否支持载源查询,如果支持就跳转到(3),否则跳转到(4);(3)根据用户归类规则获取用户类别;

(4)在本地缓存中查找该域名请求类型的资源记录集,如果有归属该用户类别的相应资源记录集,就返回给客户端并退出;否则就进行载源递归解析,获得数据并将其应答,与此同时将带有用户类别信息和有效期的域名数据存入到缓存中。

3.如权利要求2所述的与源地址相关的递归域名服务器的解析方法,其特征在于,在递归解析获得一个资源记录集时,将其联同用户类别及客户端的IP地址段一同存入递归缓存中。

4.如权利要求2所述的与源地址相关的递归域名服务器的解析方法,其特征在于,当载源DNS请求查询的线索是域名和请求类型时,返回所有或部分该类型的资源记录集;当载源DNS请求查询的线索是域名、请求类型和客户端IP地址时,先查找该IP地址的类别,再根据域名、请求类型和此类别查找缓存;当请求类型的域名数据存在,但不属于查找类别的时候,返回查找失败。

5.如权利要求1所述的与源地址相关的递归域名服务器的解析方法,其特征在于,所述用户归类的方法包括:

(1)基于第三方数据的归类方法,所述第三方数据包括:通过BGP路由数据获取的AS号;通过用户的来源IP地址转变成的地理位置信息;CDN重定向行为信息;

(2)基于主动探测的归类方法,是指通过traceroute收集路由探测信息,根据路由器路径的散度进行归类。

6.如权利要求5所述的与源地址相关的递归域名服务器的解析方法,其特征在于,根据地理位置进行用户归类的方法包括:当地理位置可查时,并且如果在缓存中存在目标资源记录集相关的用户类别中与该用户所在地理位置相同的类别,那么不再查询目标资源记录集,直接将缓存中的数据返回给用户,否则就尝试查询该记录集;当地理位置不可查时,就尝试查询该记录集;根据运营商信息进行用户归类的方法包括:当运营商可查时,如果运营商相同,那么不尝试查询该记录集,否则就尝试查询该记录集;当运营商不可查时,就尝试查询该记录集。

7.如权利要求5所述的与源地址相关的递归域名服务器的解析方法,其特征在于,根据CDN重定向行为信息进行用户归类的方法包括:将用户的IP地址段放入到DNS请求中,向知名CDN公司DNS服务器发送其所管理域名的解析请求,并获得其DNS响应,该响应包含

2

CN 105376344 A

权 利 要 求 书

2/2页

的服务器地址就是从用户地址段映射到的地址,如果两个用户地址映射到的服务器地址是相同的,那么他们归为一类;否则,分属不同类别。

8.如权利要求5所述的与源地址相关的递归域名服务器的解析方法,其特征在于,基于主动探测的归类方法包括:使用ICMP包或UDP包,从1逐渐增大探测用的IP包包头中的TTL字段值,探测源地址主机以获取其所经过路径上的路由器的IP地址,如果从进行路由探测的探测点到两个客户端的链路上公共子链路的跳数与较长链路的比值超过设定阈值就可以归为一类;反之,则可以不将两者归为一类。

9.如权利要求1所述的与源地址相关的递归域名服务器的解析方法,其特征在于,用户归类的方式包括:

(1)线下归类

从递归域名服务器历史请求记录中提取客户端的IP地址或者从第三方库中获取已知的IP地址,并根据用户归类策略和方法将其全部归类;

(2)实时归类

实时归类是在接收到客户端的域名解析请求时,如果确定域名支持载源查询,那么就实时通过归类策略和方法对用户进行归类。

10.一种与源地址相关的递归域名服务器的解析系统,包括:(1)查询处理模块

接收客户端的DNS请求,并将获取的DNS解析数据返回给客户端;尝试向缓存模块发送域名数据查询并获取域名数据;向递归查询模块发送递归查询请求并接收查询结果数据;向用户归类模块发送用户归类请求并接收归类响应;

(2)递归查询模块

接收查询处理模块的递归查询请求,向相关权威服务器做迭代查询;将查询获得的DNS数据发送给缓存模块;从缓存模块中获取权威服务器的相关信息;

(3)用户归类模块

接收查询处理模块的用户归类请求,并根据用户归类策略完成用户归类,并将用户归类信息返回;

(4)缓存模块

接收查询处理模块和递归查询模块的查询请求,并在查找到相应数据时将其返回;从递归查询模块接收其迭代查询到的权威域名数据,并将其存储到缓存中。

3

CN 105376344 A

说 明 书

1/7页

一种与源地址相关的递归域名服务器的解析方法及系统

技术领域

本发明属于网络域名解析技术领域,涉及一种与源地址相关的递归域名服务器的解析方法及系统。

[0001]

背景技术

DNS域名系统是互联网络的基础设施,它将域名和IP地址做映射解析,支撑着互

联网络的正常运行。其中,递归域名服务器作为域名系统的重要角色,为客户端向各级权威服务器发送域名解析请求,并最终完成域名解析请求。

[0003] 递归服务器的缓存机制降低了服务器端的负载和查询延迟,从而提高了递归服务器的性能。每个资源记录集有一个小到几个小时,大到几天不等的生存期(Time to Live,TTL)属性,在该生存期之内,递归服务器都会直接用它们应答请求,不用再向相应的权威服务器做请求。

[0004] 随着公共递归服务的出现,递归服务的用户不管是在地域上,还是在网络上离使用其服务的用户越来越远,于是权威服务器的“递归服务器代表最终用户”的假设开始变得不总是正确了,它的“指引距离用户最近的、性能最好的站点”的智能解析功能开始失效、甚至帮倒忙。

[0005] 权威服务器接收到递归域名服务器的解析请求,如果知晓此次请求背后的客户端来源,就能提供更好的域名数据。因此,有人提出了将客户端的IP地址的网段放到请求包的DNS扩展里面(ECS),从而递归域名服务器将这些信息传递给权威服务器,权威服务器再将网段信息放到应答包的DNS扩展里面,这样就要求递归服务器缓存这些信息,并且为每一个网段的客户端维护相关的信息。

[0006] 这个扩展虽然解决了递归域名服务与用户之间距离变远的问题,但是也带来了新的问题——这个扩展大大既造成了递归域名服务器的解析资源和解析能力的浪费,也导致其缓存的缓存能力下降。有些域名服务器,特别是公共域名服务,其服务的用户所属的网段范围可能特别广,支持载源域名请求的递归服务器要为每个请求来源网段请求域名数据,在同等请求频率的情况下,相比现有解析方法,具有并开启该扩展功能的域名服务器为了解析该域名向权威服务器发送的域名请求数量要成千上万倍的增加,被请求的权威域名服务器相应地收到的请求量也会相应上升。相应地,原本一个域名的某类型的资源记录集只要存储一份,现在除了要存储域名数据,还要存储请求来源网段和请求来源网段与域名数据之间的关联关系。即使在不遭受黑客攻击的情况下,缓存的压力都很大。万一遭受黑客攻击,后果将会更加严重。

[0002]

发明内容

本发明的目的是提供一种与源地址相关的递归域名服务器的解析方法及系统,以解决以上提到的扩展带给域名服务器解析资源、解析能力和缓存能力的损伤,在保证该扩展使用并保证其服务质量的前提下尽最大可能提升递归域名服务器的解析能力和缓存能

[0007]

4

CN 105376344 A

说 明 书

2/7页

力。

为实现上述目的,本发明采用以下技术方案:

[0009] 一种与源地址相关的递归域名服务器的解析方法,包括:首先将递归域名服务器服务的用户归类;当接收到某个客户端的DNS请求时,若递归缓存中存在属于请求用户所在类型的、有效的请求类型的域名数据,递归域名服务器将该域名数据作为应答响应用户请求,否则就进行携带ECS(Edns-Client-Subnet)选项的载源递归解析(此处“载源”即指前述“携带ECS(Edns-Client-Subnet)选项”),将获得的域名数据作为应答。[0010] 进一步地,当接收到某个客户端的DNS请求时,具体解析步骤如下:[0011] (1)查看本地缓存是否有该域名的载源查询支持信息,如果有就跳转到(2),否则就跳转到(4),所述载源查询支持信息是显示权威服务器能否识别载源DNS请求中的IP地址信息DNS扩展并据此回复定制的应答的信息,所述载源DNS请求是指(递归服务器、转发服务器等发出的)在DNS请求包的EDNS0中载有客户端IP地址所属地址段的DNS请求。[0012] (2)查看该域名是否支持载源查询,如果支持就跳转到(3),否则跳转到(4)。[0013] (3)根据用户归类规则获取用户类别。

[0014] (4)在本地缓存中查找该域名请求类型的资源记录集,如果有归属该用户类别的相应资源记录集,就返回给客户端并退出;否则就进行载源递归解析,获得数据并将其应答,与此同时将带有用户类别信息和有效期的域名数据存入到缓存中。[0015] 所述载源查询支持,就是权威服务器能否识别载源DNS请求中的IP地址信息DNS扩展,并据此回复定制的应答。一个权威服务器是否支持,递归服务器可以通过带外的方式提前获取,否则,就要尝试向其发送载源DNS请求以探测其是否支持载源查询。当通过探测知道权威支持与否,就可以将该信息缓存,以备以后使用。在一定时间内,下一次访问就可以根据目标权威服务器是否支持载源查询采取不同的行动。如,当从缓存中知道目标权威服务器不支持载源查询的时候,就不用发送带有该扩展的普通的DNS请求了。[0016] 可以获得递归用户的新归类方法有:[0017] (1)基于第三方数据的归类方法。所述第三方数据包括:通过BGP路由数据获取的自治域(AS Autonomous System)号,包括运营商描述信息(ISP信息)和AS连接信息的运营商信息;通过用户的来源IP地址转变成的地理位置(包括国家、省份或城市)信息;CDN重定向行为信息。

[0018] (2)基于主动探测的归类方法。通过traceroute收集路由探测信息,根据路由器路径的散度归类。[0019] 进一步地,用户归类方法包括(但不限于)以上两大方面的方法,此外,其他能够用作用户归类的类似方法也可对用户归类。[0020] 进一步地,根据地理位置信息进行用户归类的方法包括:当地理位置可查时,并且如果在缓存中存在目标资源记录集相关的用户类别中与该用户所在地理位置相同的类别,那么不再查询目标资源记录集,直接将缓存中的数据返回给用户,否则就尝试查询该记录集;当地理位置不可查时,就尝试查询该记录集。

[0008]

进一步地,根据运营商信息进行用户归类的方法包括:当运营商可查时,如果运营商相同,那么不尝试查询该记录集,否则就尝试查询该记录集;当运营商不可查时,就尝试查询该记录集。

[0021]

5

CN 105376344 A[0022]

说 明 书

3/7页

进一步地,根据CDN重定向行为信息进行用户归类的方法包括:将用户的IP地址段放入到DNS请求中,向知名CDN公司DNS服务器发送其所管理域名的解析请求,并获得其DNS响应。该响应包含的服务器地址就是从用户地址段映射到的地址。如果两个用户地址映射到的服务器地址是相同的,那么他们归为一类;否则,分属不同类别。[0023] 进一步地,基于主动探测的归类方法包括:使用ICMP包或UDP包,从1逐渐增大探测用的IP包包头中的生存时间(TTL)字段值,探测源地址主机以获取其所经过路径上的路由器的IP地址。如果从进行路由探测的探测点到两个客户端的链路上公共子链路的跳数与较长链路的比值超过设定阈值就可以归为一类;反之,则可以不将两者归为一类。[0024] 进一步地,用户归类的方式分为两种——实时归类和线下归类。[0025] (1)线下归类

[0026] 从递归域名服务器历史请求记录中提取客户端的IP地址或者从第三方库中获取已知的IP地址(段),并根据用户归类策略和方法将其全部归类。[0027] (2)实时归类

[0028] 实时归类是在接收到客户端的域名解析请求时,如果确定域名支持载源查询,那么就实时通过归类策略和方法对用户进行归类。

[0029] 支持载源DNS请求的权威服务器在收到这样的DNS请求包时,就可以根据这个地址段给出比非载源递归请求对客户端来说更适合的DNS应答数据。不支持载源DNS请求的权威服务器接收到这样的请求时,按照新的DNS协议,不应丢弃这样的请求,只能忽略该信息,因此向其发送载源DNS请求原则上不会有负面影响,不管是否之前确定域名是否支持载源递归请求,本发明中的递归请求都是载源的。[0030] 进一步地,在递归解析获得一个资源记录集时,就将其联同用户类别存入递归缓存中。另外,优选将客户端的IP地址(段)也一同存入。这样可以保证用户归类策略发生变化时,可以继续使用该信息做出用户的后续分类,而不至于已有类别和其相关联DNS数据被废弃掉。

[0031] 进一步地,当载源DNS请求查询的线索是域名和请求类型时,就按照一定策略返回所有或部分该类型的资源记录集。[0032] 例如,如果资源记录集中的资源记录个数少于等于2个,那么就返回所有的资源记录;如果大于等于3个,那么就可以选择其中2个,将其返回。选择时,可以根据资源记录集的类型和数据等特点做出决定,例如,当类型是A时,可以看域名数据部分的IP地址所对应的地址位置信息、运营商信息,选择距离更近,相同或者关系更紧密的运营商的IP地址所在记录。

[0033] 进一步地,当载源DNS请求查询的线索是域名、请求类型和客户端IP地址(段),那么先查找该IP地址(段)的用户类别,再根据域名、请求类型和用户类别查找缓存。当请求类型的域名数据存在,但不属于查找类别的时候,返回查找失败。[0034] 一种与源地址相关的递归域名服务器的解析系统,包括:查询处理模块、用户归类模块、递归查询模块和缓存模块。(1)查询处理模块

[0036] 接收客户端的DNS请求,并将获取的DNS解析数据返回给客户端;尝试向缓存模块发送域名数据查询并获取域名数据;向递归查询模块发送递归查询请求并接收查询结果数

[0035]

6

CN 105376344 A

说 明 书

4/7页

据;向用户归类模块发送用户归类请求并接收归类响应。[0037] (2)递归查询模块

[0038] 接收查询处理模块的递归查询请求,向相关权威服务器做迭代查询;将查询获得的DNS数据发送给缓存模块;从缓存模块中获取权威服务器的相关信息,如IP地址等。[0039] 发送给缓存模块的DNS数据既有正域名数据,又有否定域名数据。这些数据既包含域名的各种请求类型的资源记录集,又包含从各级权威服务器顺便获取的权威服务器的相关信息,如NS记录和Glue记录。[0040] (3)用户归类模块

[0041] 接收查询处理模块的用户归类请求,并根据用户归类策略完成用户归类,并将用户归类信息返回。[0042] (4)缓存模块

[0043] 接收查询处理模块和递归查询模块的查询请求,并在查找到相应数据时将其返回;从递归查询模块接收其迭代查询到的权威域名数据,并将其存储到缓存中。[0044] 本发明的优点:[0045] 通过将用户归类,在有效期内为每一个类别的用户只向权威服务器发送一次载源递归请求,这样就不需要为大量的独立网段做递归请求,从而大大减少了向权威服务器发送迭代请求的次数,提高了缓存的命中率。因此,在尽量保证载源递归请求的情况,尽最大可能地提高了域名解析的效率,减少了对权威服务器的流量冲击。附图说明

图1本发明与源地址相关的递归域名服务器的解析系统架构图。[0047] 图2本发明与源地址相关的递归域名服务器的解析方法流程图。[0048] 图3本发明与源地址相关的递归域名服务器的解析系统模块图。

[0046]

具体实施方式

[0049] 下面将结合附图对本发明的实施作更详细的说明,但不以任何方式限制本发明的范围。

[0050] 考虑到递归服务用户虽然很分散,但是有一定的汇聚性。如图1所示,一些用户可能在地理位置上很接近,一些用户可能在网络运营商上是一个,或者上游运营商是一样的,他们访问相同的服务器速度更好,所以递归用户天然具有一定的汇聚性,权威服务器的视图设置和应答设置也都应一致的。通过其IP地址的相关信息,找到它们之间的相似性和汇聚性,就可以为其提供相同或者相似的域名解析数据。

[0051] 本发明将客户端的IP地址的网段放到请求包的DNS扩展里面的域名解析请求称为载源域名请求(或载源DNS请求)。假设本发明所提到的递归域名服务器除了根索引hints和一些特殊的反向域名的区数据以外,没有配置其他区。换句话说,递归域名服务器没有权威域名数据,当收到递归请求时,无需查找本地的区数据。如图2所示,当接收到某个客户端的递归解析请求时,具体解析步骤如下:当接收到某个客户端的DNS请求时,具体解析步骤如下:[0053] (1)查看本地缓存是否有该域名的载源查询支持信息,如果有就跳转到(2),否则

[0052]

7

CN 105376344 A

说 明 书

5/7页

就跳转到(4)。

[0054] (2)查看该域名是否支持载源查询,如果支持就跳转到(3),否则跳转到(4)。[0055] (3)根据用户归类规则获取用户类别。

[0056] (4)在本地缓存中查找该域名请求类型的资源记录集,如果有归属该用户类别的相应资源记录集,就返回给客户端并退出;否则就进行载源递归解析,获得数据并将其应答,与此同时将带有用户类别信息和有效期的域名数据存入到缓存中。[0057] 所述载源查询支持,就是权威服务器能否识别载源DNS请求中的IP地址信息DNS扩展,并据此回复定制的应答。一个权威服务器是否支持,递归服务器可以通过带外的方式提前获取,否则,就要尝试向其发送载源DNS请求以探测其是否支持载源查询。当通过探测知道权威支持与否,就可以将该信息缓存,以备以后使用。在一定时间内,下一次访问就可以根据目标权威服务器是否支持载源查询采取不同的行动。如,当从缓存中知道目标权威服务器不支持载源查询的时候,就不用发送带有该扩展的普通的DNS请求了。[0058] 1.1用户归类

[0059] 用户归类依据的信息有:来源IP地址信息和路由探测信息等。可以获得递归用户的新分类方法有:

[0060] (1)基于第三方数据的分类方法。通过BGP路由数据获取自治域(AS Autonomous System),包括ISP信息以及AS连接信息,将相同或AS跳数很少的两个用户划归一类;通过地理位置信息数据库(MaxMind),将用户的来源IP地址转变成地理位置(包括国家、省份或城市),将距离较近的用户归为一类;两个主机如果有很相似的CDN重定向行为,那么它俩就可以归为一类。其中,AS号和运营商描述信息两者都是对运营商的一种描述,统称运营商信息。

[0061] (2)基于主动探测的分类方法。通过traceroute收集路由探测信息,如果路由器路径的散度很相近的,就划归一类。

[0062] 用户归类依据的信息包括(但不限于)以上两大方面的方法,此外,其他能够用作用户归类的类似方法也可对用户归类。

[0063] 因为地理位置分为不同的粒度和级别,使用上面信息归类的时候要指定归类的规则。类别的范畴是不固定的,而是动态变化,也没有一个固定范围。[0064] 1.1.1来源IP地址信息[0065] 从IP地址,可以获得其地理位置信息、AS号和运营商描述信息,其中,AS号和运营商描述信息两者都是对运营商的一种描述,统称运营商信息。而地理位置信息可以具体到国家,或省份,或城市。根据IP地址的这些信息,可以根据IP地址将其位置相近、位于同样AS号,或者相同运营商的用户归类,作为一个用户群体。[0066] 根据地理位置和运营商的信息,可以采取的策略有四种:地理位置决定、运营商决定、运营商优先和地理位置优先等。具体如下所示:[0067] (1)地理位置决定[0068] 当国家(省份、城市)可查时,如果国家(省份、城市)相同,那么不尝试查询其数据,否则就尝试查询其数据;当国家(省份、城市)不可查时,就尝试查询其数据。(2)运营商决定[0070] 当运营商可查时,如果运营商相同,那么不尝试查询其数据,否则就尝试查询其数

[0069]

8

CN 105376344 A

说 明 书

6/7页

据;当运营商不可查时,就尝试查询其数据。[0071] (3)运营商优先

[0072] 在运营商决定的前提下,如果运营商相同的情况,再考虑地理位置决定。[0073] (4)地理位置优先

[0074] 在地理位置决定的前提下,如果地理位置相同的情况,再考虑运营商决定。[0075] 1.1.2CDN重定向行为

[0076] 根据CDN重定向行为进行用户归类的方法包括:将用户的IP地址段放入到DNS请求中,向知名CDN公司DNS服务器发送其所管理域名的解析请求,并获得其DNS响应。该响应包含的服务器地址就是从用户地址段映射到的地址。如果两个用户地址映射到的服务器地址是相同的,那么他们归为一类;否则,分属不同类别。[0077] 1.1.3路由探测信息[0078] 使用ICMP包和UDP包,从1逐渐增大探测用的IP包的TTL,探测来源IP地址的机器以获取其所经过路径上的路由器的IP地址,再这些路由器的IP地址,归类用户。[0079] 如果从探测点到两个客户端的链路上公共子链路的长度比较很小,或者链路长度相差较大,那么两个客户端就不能归为一类。反之,则可以将两者归为一类。[0080] 1.1.4用户归类方式

[0081] 用户归类可以实时或者非实时的完成,根据是否实时归类的归类时机的不同,可以将归类归类方式分为两种——实时归类和线下归类。[0082] (1)线下归类

[0083] 从域名服务器历史请求记录中提取客户端的IP地址或者从第三方库中获取已知的IP地址(段),并根据用户归类策略和方法将其全部归类。当一个已经将其归类的客户端来查询的时候,就可以快速直接地将用户分类返还。[0084] 一般情况下,线下归类是不能单独使用的,因为已经完成的线下归类不能保证所有的IP地址都已经完成归类。当一个具有新的IP地址的客户端来查询时,归类数据中没有其类别信息,那么就必须借助实时归类完成。尽管如此,这种情况发生的可能小较小,占有的比例很小,所以可以大幅提高用户归类的效率,减少归类操作所用时间。[0085] (2)实时归类

[0086] 实时归类是在接收到客户端的域名解析请求时,如果确定域名支持载源查询,那么就实时通过归类策略和方法对用户进行归类。相比线下归类来说,由于有了归类的过程,查询的时间要长一些。[0087] 1.2载源DNS请求[0088] 载源DNS请求,也叫载源域名请求,就是在向权威服务器发送DNS解析请求的时候,在DNS请求包的DNS扩展中载入客户端的IP地址的所属地址段。支持载源DNS请求的权威服务器在收到这样的DNS请求包时,就可以根据这个地址段给出比非载源递归请求对客户端来说更适合的DNS应答数据。不支持载源DNS请求的权威服务器接收到这样的请求时,按照新的DNS协议,不应丢弃这样的请求,只能忽略该信息,因此向其发送载源DNS请求原则上不会有负面影响,不管是否之前确定域名是否支持载源递归请求,本发明中的递归请求都是载源的。

[0089] 1.3缓存存储方法

9

CN 105376344 A[0090]

说 明 书

7/7页

缓存方法就是将域名数据和一些相关信息,如用户类别等,存入一个数据结构的存储方式和方法。

[0091] 通过第三方的服务或函数库获取客户端IP地址的地理位置信息,通过主动探测获取探测点到客户端之间的路径信息,再按照用户归类规则将这些信息作为分类的依据将用户归类。类别可以以类别别称的形式表示,也可以以相关信息或者它们组合的形式表示。例如,将用户所使用的网络运营商和所在城市作为一个整体,作为该用户的类别信息。[0092] 在递归解析获得一个资源记录集时,就将其联同用户类别存入递归缓存中。另外,建议将客户端的IP地址(段)也一同存入。这样可以保证用户归类规则发生变化时,可以继续使用该信息做出用户的后续分类,而不至于已有类别和其相关联DNS数据被废弃掉。[0093] 1.4缓存查找方法

[0094] 当查询的线索是域名和请求类型时,就按照一定策略返回所有或部分该类型的资源记录集;当是域名、请求类型和客户端IP地址(段),那么先查找该IP地址(段)的类别,再根据域名、请求类型和此类别查找缓存。当请求类型的域名数据存在,但不属于查找类别的时候,返回查找失败。

[0095] 1.5载源解析和缓存系统

[0096] 本发明完成了载源解析和缓存方法的一个实现,如图3所示。除了缓存以外,该系统包括四个基本的模块——查询处理模块、用户归类模块、递归查询模块和缓存模块。[0097] (1)查询处理模块

[0098] 接收客户端的域名解析请求,并将获取的DNS解析数据返回给客户端;尝试向缓存模块发送域名数据查询并获取域名数据;向递归查询模块发送递归查询请求并接收查询结果数据;向用户归类模块发送用户归类请求并接收归类响应。[0099] (2)递归查询模块

[0100] 接收查询处理模块的递归查询请求,向相关权威服务器做迭代查询;将查询获得的DNS数据发送给缓存模块;从缓存模块中获取权威服务器的相关信息,如IP地址等。[0101] 存入缓存的DNS数据既有正域名数据,又有否定域名数据。这些数据既包含域名的各种请求类型的资源记录集,又包含从各级权威服务器顺便获取的权威服务器的相关信息,如NS记录和Glue记录。[0102] (3)用户归类模块

[0103] 接收查询处理模块的用户归类请求,并根据用户归类策略完成用户归类,并将用户类比信息返回。[0104] (4)缓存模块

[0105] 接收查询处理模块和递归查询模块的查询请求,并在查找到相应数据时将其返回;从递归查询模块接收其迭代查询到的权威域名数据,并将其存储到缓存中。

10

CN 105376344 A

说 明 书 附 图

1/2页

图1

11

CN 105376344 A

说 明 书 附 图

2/2页

图2

图3

12

因篇幅问题不能全部显示,请点此查看更多更全内容

Top