数据优选的域名解析方法及系统的制作方法

文档序号:9238296阅读:782来源:国知局
数据优选的域名解析方法及系统的制作方法
【技术领域】
[0001]本发明属于DNS系统安全技术领域,涉及数据优选的域名解析方法及系统。
【背景技术】
[0002]作为互联网的重要基础设施,域名系统(Domain Name System,DNS) 一直为全球互联网的运行提供关键性的基础服务。DNS系统的安全和稳定,对于互联网是很重要的。
[0003]域名解析服务器是DNS系统的一个重要角色,它转发接收客户端的域名解析请求,并向权威服务器做迭代查询,最终将解析数据返回给客户端。一般来说,一个域名某类型有多条资源记录,那么返回的解析数据就是由多条资源记录组成的资源记录集。
[0004]随着DNS的发展,出现了新的一种运营模式,权威服务器的运营者并不会将一个请求类型的所有资源记录应答,而只挑选部分应答给具有不同运营商、不同IP地址段的请求方,这就是View模式。此模式使不同IP地址段的请求方发送不同的资源记录,而不是全部数据。后来,随着像谷歌和opendns等的公共递归服务和大型递归服务的出现,因为用户和公共递归服务器可能位于不同的地理位置、不用的运营商,权威服务再按照递归服务器IP地址返回域名数据就不再靠谱了,这一点CDN行业从业者感受最深,给出的数据就可能比较差了。为了解决这个问题,另外一种模式一一subnet模式出现了,权威服务器不再根据请求方的IP地址返回数据,而是根据递归服务器请求包里携带的客户端的IP地址段来应答。理论上说,subnet模式要比view模式准确很多。
[0005]不管是view模式,还是subnet模式,都是获取到权威服务器的一种设置数据,都是站在权威服务器的角度为客户端做出的判断。互联网是一个全球的网络,客户端可能来自不同运营商、不同国家地区和不同网络环境,权威服务器为千千万万客户端做出的判断和设置具有主观倾向性,并不能保证返回的数据是最优的。

【发明内容】

[0006]本发明的目的是提供数据优选的域名解析方法及系统,通过布设尽可能多的接近目标用户的探测点以探测和评估递归域名服务器解析所得的DNS数据,并将探测结果反馈给递归域名服务器以提高缓存数据的质量,从而尽可能让DNS服务器服务好用户,给用户提供安全和稳定的DNS服务。
[0007]考虑到大部分的DNS服务都是面向整个互联网的服务,在特定局部地理位置、有限的网络环境里部署数量有限的几个DNS服务监测点是无法做到对DNS服务的真正全方位监控的,这客观上要求DNS服务的运维方要在全球范围内的、不同网络服务商的网络里部署监测点,部署的越多、越接近DNS服务用户,越能代表性的了解DNS的服务质量。但是限于资金等的各方面的限制运维方可能并不能做到大范围的部署,但是要尽量在接近DNS用户的网络里部署监测点。虽然部署监测点很重要,但是本发明的目标问题不是判断在什么地方和什么网络部署监测点,而是基于监测点布局一定情形下通过用户就近探测点的辅助下如何优化解析数据。
[0008]为实现上述目的,本发明采用以下技术方案:
[0009]数据优选的域名解析方法,包括:在接收到用户的域名解析请求时,递归服务器递归解析域名,并将获得的域名数据返回给用户;以及递归服务器异步地将获得的域名数据发送给接近DNS用户的探测点,让其探测评估DNS数据的质量,并根据探测评估的结果优化和定制域名数据,并将相关数据存入缓存。
[0010]具体地,包括如下四个过程:
[0011](一)解析过程
[0012]递归域名服务器接收到客户端发送的DNS请求之后,在当地缓存中查询是否存在有效的DNS数据,如果存在,则将其返回客户端,如果不存在,则向相关权威服务器发送迭代解析请求,并将获得的DNS数据返回客户端;
[0013](二)探测评估过程
[0014]I)如果DNS请求的类型是A记录或者AAAA记录,相关权威服务器的应答里有对应的资源记录集,并且尚未向探测点发送探测请求,递归域名服务器就选择探测点并发送探测请求,探测请求中包含DNS应用服务器的IP地址信息;
[0015]2)被选择的探测点接收到探测请求之后对该域名的DNS数据进行探测评估,并将生成的探测评估报告返回给递归域名服务器;
[0016]3)递归域名服务器根据探测评估报告优化该域名缓存的DNS数据,将最终的域名解析结果返回给客户端;
[0017](三)优化缓存数据
[0018]递归域名服务器接收到探测评估报告后,根据探测评估报告调整DNS资源记录以组成新的资源记录集,并将与该探测评估报告关联的探测点及相应的DNS数据缓存起来;
[0019](四)缓存过程
[0020]递归域名服务器将解析过程中获得的或者探测评估过程中优化后的DNS数据保存在相应的缓存区域,作为该域名的缓存数据;
[0021]其中,解析过程和探测评估过程是异步的。当递归域名服务器获取到DNS数据之后,就向探测点发送探测评估请求,发送完之后就退出此次解析;探测点探测评估完毕,将探测评估结果发送给递归域名服务器,优化缓存数据。
[0022]进一步地,根据客户端IP地址的地理信息和网络信息选择接近DNS用户的探测点,查询客户端IP地址的国家、地区和城市,所在的AS (Autonomous System,自治域)和对应的运营商,将其与各个探测点的对应信息相比对,选出一个或几个在地理位置和网络环境上更接近的探测点。
[0023]进一步地,接近DNS用户的探测点为DNS数据里的每条记录通过ICMP、UDP或者TCP探测DNS应用服务器到探测点的RTT,并将包含有DNS数据和相应RTT评估数据的探测评估报告返回给递归域名服务器。
[0024]进一步地,如果是向一个探测点发送的探测评估请求,那么只需要根据其探测评估报告调整DNS资源记录就可以。如果同时有多个探测点探测,那么要综合它们的探测评估数据调整DNS资源记录。
[0025]数据优选的域名解析系统,包括探测子系统和域名解析子系统,其中:
[0026]所述探测子系统又包括:
[0027]探测模块,用于接收数据优选模块的探测评估请求,对域名解析子系统的DNS数据进行探测评估,并将形成的探测评估报告发送给域名解析子系统。
[0028]当探测子系统接收到域名解析子系统的探测评估请求时,就分别获取探测评估请求中的域名对应的DNS应用服务器,向这些服务器发送udp、icmp和tcp的RTT探测包,并且获取最小RTT值,将这个时延值作为DNS应用服务器的性能参数。
[0029]所述域名解析子系统又包括:
[0030](I)查询处理模块
[0031]接收客户端的域名解析请求,并将获取的DNS数据返回给客户端;向缓存模块发送DNS数据查询请求并获取DNS数据;向递归查询模块发送递归查询请求并接收查询结果数据;向数据优选模块非阻塞地发送异步通知,通知其对消息中的DNS数据进行优化(如排序筛选)。
[0032]进一步地,所述查询处理模块通过转发获得的DNS数据的方式向数据优选模块发送异步通知,当数据优选模块接收到这样的DNS应答包,对DNS包的ANSWER段的数据进行排序筛选。
[0033](2)递归解析模块
[0034]接收查询处理模块的递归查询请求,向相关权威服务器做迭代查询;将查询获得的DNS数据发送给缓存模块;从缓存模块中获取权威服
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1