一种域名系统DNS二次递归解析的方法技术方案

技术编号:15520804 阅读:435 留言:0更新日期:2017-06-04 10:16
一种域名系统DNS二次递归解析的方法,本地DNS服务器接收到用户主机的域名解析请求后,先检查本地是否缓存解析结果,若有,则直接应答并结束该流程,若无,则本地DNS服务器先进行递归解析,避免用户主机遭受地址污染和域名劫持;只有在其递归解析失败时,才给外部递归解析服务器转发该域名解析请求进行二次解析;本地DNS服务器接收外部递归解析服务器返回的解析结果,并将解析结果发送到用户主机并记录缓存。因外部递归解析服务器存储有缓存记录、且各自网络节点位置不同,不易出现因所查询域名的权威DNS配置出错导致递归失败,使得用户主机无法访问域名。本发明专利技术方法操作步骤简易、便利,不增加硬件,只是更改本地DNS服务器功能,还实现递归解析的备份。

A method of recursive analysis of domain name system DNS two times

A domain name system DNS two recursive analysis method, the local DNS server receives the DNS host request, check whether the local cache of analytical results, if any, is a direct response and the end of the process, if not, then the local DNS server first recursive analysis, to avoid the user host address and domain name from pollution hijacking; only in the failure of its recursive resolution, only to the external server forwards the recursive DNS request two times analysis; analytical results of the local DNS server receives an external server and returns a recursive analysis, the analytical results are sent to user host and record cache. Due to external recursive resolution server stores cached records, and each network node location is different, not prone to error because of the configuration of authoritative DNS query domain leads to recursive failure, so that the user can not access the host domain name. The method of the invention has simple and convenient operation steps, and does not increase hardware, but only changes the functions of the local DNS server, and also realizes the backup of recursive analysis.

【技术实现步骤摘要】
一种域名系统DNS二次递归解析的方法
本专利技术涉及一种域名系统DNS(DomainNameSystem)二次递归解析的方法,属于计算机网络通信的

技术介绍
域名(DomainName)是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时指地理位置)。域名是由一串用点分隔的字符作为其名字而组成的,这串用点分隔的字符中,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。域名系统DNS(DomainNameSystem)是因特网上作为域名和IP地址(IPaddress)相互映射的一个分布式数据库,它保存有一张域名和与其相对应的IP地址的表格,用于解析消息中的域名,以使用户更方便地访问互联网,而不用去背记能够被机器直接读取而人非常不易记忆的IP地址字符串。通过输入域名,经由DNS系统翻译给出该主机名所对应的IP地址的过程叫做域名解析(或主机名解析),执行域名解析的网络主机被称为DNS服务器。通过DNS域名系统的域名解析过程,用户就可以对站点或资源进行访问。域名解析过程是:当一台机器a向其DNS服务器A发出域名解析请求时,如果DNS服务器A能够解析,则将解析结果发给机器a,否则,DNS服务器A将向其上级DNS服务器B发出解析请求,如果DNS服务器B能够解析,则将解析结果发给机器a,如果DNS服务器B也无法解析,则将请求发给其再上一级DNS服务器C,如此下去,直至解析到结果为止。目前,DNS提供的域名解析方式主要包括下述三种:1、转发优先:本地DNS服务器接收到来自用户主机的域名解析请求后,将该请求转发给指定的递归解析服务器,由该服务器进行解析,并将解析结果返回给本地DNS服务器,本地DNS服务器再将结果返回给用户主机。若该指定的DNS服务器不可达,则由本地DNS服务器进行递归查询,把解析结果返回给用户主机。2,仅限转发:本地DNS服务器接收到来自用户主机的域名解析请求后,将该请求转发给指定的递归解析服务器,由该服务器进行解析,并将解析结果返回给本地DNS服务器,本地DNS服务器再将结果返回给用户主机。若该指定的递归解析服务器不可达,给本地DNS服务器返回解析失败的信息;本地DNS服务器不会再进行递归查询,而是直接将解析失败信息返回给用户主机。3,仅限递归:本地DNS服务器接收到来自用户主机的域名解析请求后,由本地DNS服务器直接进行递归解析,并将递归解析结果返回给用户主机。不论是否解析成功,都不把请求转发给其他递归解析服务器去解析。上述转发优先和仅限转发的两种解析方式,由于其完全信任指定的递归解析服务器的解析结果,一旦指定的递归解析服务器受到污染,用户主机就会得到被污染的地址或者遭到域名劫持。此外,本地DNS服务器只对递归解析服务器的解析结果进行转发,不能对结果进行优化,例如,用户主机所归属线路是联通,而递归解析服务器的解析结果是电信的IP地址,本地DNS服务器就会将该电信的IP地址发送到用户主机,用户主机只能进行跨运营商的网络访问,造成访问路径的迂回,增加了访问延时和丢包风险,严重影响用户的网络访问体验。因此,在设备条件允许的情况下,通常推荐采用递归的方式对域名进行解析,不仅能够避免地址污染,还能针对解析结果进行优化。但是,上述的仅限递归方式又因为其只进行递归,所以当被查询域名的权威DNS配置出现问题、安全防护策略配置不当等情况时,本地DNS服务器无法通过递归解析获取解析结果,就会导致即使该域名所在的主机正常工作,但是由于该域名无法被解析,用户还是不能正常访问该域名主机或资源。
技术实现思路
有鉴于此,本专利技术的目的是提供一种递归优先的域名系统DNS二次递归解析的方法,该方法是首先由本地DNS服务器检查本地是否已经缓存有解析结果,若有,则直接应答并结束解析流程,若无,则优先进行递归解析,避免用户主机受到地址污染、域名劫持等的影响;只有在递归失败的情况下,本地DNS服务器才会将域名解析请求转发到预先配置的外部递归解析服务器列表上继续进行二次解析。由于外部递归解析服务器上存储有缓存记录、且各自网络节点位置不同,因此能够完成正常解析操作,不会出现因被查询域名的权威DNS配置出错而导致递归失败,用户主机就无法访问域名的情况。为了达到上述目的,本专利技术提供了一种域名系统DNS(DomainNameSystem)二次递归解析的方法,其特征在于:首先在本地DNS服务器配置外部递归解析服务器列表;本地DNS服务器接收到用户主机的域名解析请求后,检查本地是否已经缓存有解析结果,若有,则直接应答并结束该域名解析流程;若无,则进行递归解析;若其递归解析失败,再将该域名解析请求顺序转发到外部递归解析服务器列表中的一台或多台外部递归解析服务器进行二次解析;本地DNS服务器接收外部递归解析服务器返回的解析结果,由本地DNS服务器将解析结果发送到用户主机,本地DNS服务器将解析结果缓存,以备后续查询时能够快速应答;所述方法包括下述操作步骤:步骤1,本地DNS服务器配置外部递归解析服务器的操作顺序列表;步骤2,用户主机向本地DNS服务器发送域名解析请求;步骤3,本地DNS服务器接收到该域名解析请求后,检查本地是否已经缓存有解析结果,若有,则直接应答并结束该域名解析流程;如无,则进行递归查询;步骤4,本地DNS服务器判断其执行的递归查询是否成功,若为查询成功,则将接收到的查询结果返回给用户主机,并缓存解析结果,结束该域名解析流程;若为查询失败,即没有找到该域名所对应的IP地址,则执行后续步骤5;步骤5,本地DNS服务器将该域名解析请求转发到所配置的外部递归解析服务器列表中的第一台外部递归解析服务器,由该第一台外部递归解析服务器执行域名解析;步骤6,本地DNS服务器接收并判断外部递归解析服务器的解析结果,若解析成功,执行后续步骤7;若解析失败,本地DNS服务器就将域名解析请求按照设定操作顺序转发给下一台外部递归解析服务器进行递归解析;直到其中某一台外部递归解析服务器解析成功,或者所有外部递归解析服务器都解析失败时,才将其递归解析结果返回给本地DNS服务器;步骤7,本地DNS服务器将递归解析服务器的解析结果返回给用户主机,并缓存解析结果。本专利技术是一种域名系统DNS二次递归解析方法,它的优点是:本专利技术方法优先在本地DNS服务器对用户主机的域名解析请求进行解析,只有在本地DNS服务器没有相应缓存、且递归解析失败时,再转发至预先配置的一台或多台外部递归解析服务器进行解析,避免了现有的转发优先和仅限转发两种方式存在的DNS污染的风险,能够避免用户主机遭受域名劫持。本专利技术方法可以优化解析结果,避免用户主机需要跨运营商网络进行访问时,造成的访问时延。本专利技术方法是在本地DNS服务器没有相应缓存、且递归解析失败时,才将访问请求转发到外部递归解析服务器进行解析,也改变了现有技术中的仅限递归解析方式,避免因要解析的域名的权威DNS配置错误、安全防护策略配置不当等情况时,从而导致本地DNS服务器递归查询失败,用户主机无法正常访问网络域名的情况。此外,本专利技术方法操作步骤简单、容易、便利,且不需要增加额外硬件,只需更改本地DNS服务器的配置与功能即可。再者,本专利技术实现了递归解析的解本文档来自技高网
...
一种域名系统DNS二次递归解析的方法

【技术保护点】
一种域名系统DNS(Domain Name System)二次递归解析的方法,其特征在于:首先在本地DNS服务器配置外部递归解析服务器列表;本地DNS服务器接收到用户主机的域名解析请求后,检查本地是否已经缓存有解析结果,若有,则直接应答并结束该域名解析流程;若无,则进行递归解析;若其递归解析失败,再将该域名解析请求顺序转发到外部递归解析服务器列表中的一台或多台外部递归解析服务器进行二次解析;本地DNS服务器接收外部递归解析服务器返回的解析结果,将解析结果发送到用户主机并缓存解析结果,以备后续查询时能够快速应答;所述方法包括下述操作步骤:步骤1,本地DNS服务器配置外部递归解析服务器的操作顺序列表;步骤2,用户主机向本地DNS服务器发送域名解析请求;步骤3,本地DNS服务器接收到该域名解析请求后,检查本地是否已经缓存有解析结果,若有,则直接应答并结束该域名解析流程;如无,则进行递归查询;步骤4,本地DNS服务器判断其执行的递归查询是否成功,若为查询成功,则将接收到的查询结果返回给用户主机,并缓存解析结果,结束该域名解析流程;若为查询失败,即没有找到该域名所对应的IP地址,则执行后续步骤5;步骤5,本地DNS服务器将该域名解析请求转发到所配置的外部递归解析服务器列表中的第一台外部递归解析服务器,由该第一台外部递归解析服务器执行域名解析;步骤6,本地DNS服务器接收并判断外部递归解析服务器的解析结果,若解析成功,执行后续步骤7;若解析失败,本地DNS服务器就将域名解析请求按照设定操作顺序转发给下一台外部递归解析服务器进行递归解析;直到其中某一台外部递归解析服务器解析成功,或者所有外部递归解析服务器都解析失败时,才将其递归解析结果返回给本地DNS服务器;步骤7,本地DNS服务器将递归解析服务器的解析结果返回给用户主机,并缓存解析结果。...

【技术特征摘要】
1.一种域名系统DNS(DomainNameSystem)二次递归解析的方法,其特征在于:首先在本地DNS服务器配置外部递归解析服务器列表;本地DNS服务器接收到用户主机的域名解析请求后,检查本地是否已经缓存有解析结果,若有,则直接应答并结束该域名解析流程;若无,则进行递归解析;若其递归解析失败,再将该域名解析请求顺序转发到外部递归解析服务器列表中的一台或多台外部递归解析服务器进行二次解析;本地DNS服务器接收外部递归解析服务器返回的解析结果,将解析结果发送到用户主机并缓存解析结果,以备后续查询时能够快速应答;所述方法包括下述操作步骤:步骤1,本地DNS服务器配置外部递归解析服务器的操作顺序列表;步骤2,用户主机向本地DNS服务器发送域名解析请求;步骤3,本地DNS服务器接收到该域名解析请求后,检查本地是否已经缓存有解析结果,若有,则直接应答并结束该域名解析流程;如无,则进行递归查询;步骤4,本地DNS服务器判断其执行的递归查询是否成功,若为查询成功,则将接收到的查询结果返回给用户主机,并缓存解析结果,结束该域名解析流程;若为查询失败,即没有找到该域名所对应的IP地址,则执行后续步骤5;步骤5,本地DNS服务器将该域名解析请求转发到所配置的外部递归解析服务器列表中的第一台外部递归解析...

【专利技术属性】
技术研发人员:王鹏翁源王道佳
申请(专利权)人:北京网瑞达科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1