一种DNS解析的方法及装置与流程

文档序号:12949300阅读:197来源:国知局
一种DNS解析的方法及装置与流程
本申请涉及通信
技术领域
,特别涉及一种dns解析的方法及装置。
背景技术
:dns(domainnamesystem,域名系统)是因特网上作为域名和ip地址相互映射的一个分布式数据库,能够使用户更方便地访问互联网,而无需记住能够被机器直接读取的ip数串。dns解析是指通过主机名,获得该主机名对应的ip地址的过程。当用户需要访问一个网站时,通常需要输入其域名,比如:www.test.com。主机向其指定的本地dns服务器发送dns请求报文。本地dns服务器先在本地搜索是否有符合条件的域名,如果解析失败,则会向根域名服务器发送dns请求报文。根域名服务器根据域名确定下一级服务器的地址,然后将.com服务器的ip地址反馈至本地dns服务器。本地dns服务器继而向.com服务器发送dns请求报文。重复以上动作进行查询,直到查找到www.test.com的ip地址。本地dns服务器向主机返回dns请求结果后,主机可以根据ip地址访问web(worldwideweb,全球广域网)服务器。在实际应用中,多数公司、机构会在局域网内部署dns服务器,即本地dns服务器,负责处理dns相关业务。为方便局域网中的主机与外网通信,往往还会部署出口设备,由出口设备为局域网中的主机提供nat(networkaddresstranslation,网络地址转换)服务;其中,出口设备可以是具有nat功能的路由器或代理服务器。如果局域网还部署有web服务器,则局域网内的主机和局域网外主机访问该web服务器的方式在dns服务器配置内网地址和外网地址的情况下都是不同的。技术实现要素:有鉴于此,本申请提供一种dns解析的方法及装置,用以降低内网dns部署的成本,提高通信效率。具体地,本申请是通过如下技术方案实现的:一种dns解析的方法,应用于目标局域网的出口设备,包括:接收到目标主机发送的dns请求;读取所述dns请求中携带的待解析域名;以及,确定与所述目标主机对应的网络类型;基于读取到的待解析域名和所述目标主机对应的网络类型查找预设的域名关联表,得到对应的ip地址,并将所述ip地址返回所述目标主机;其中,所述域名关联表中包括域名、网络类型和ip地址的映射关系;所述域名关联表中的域名对应多种网络类型。在所述dns解析的方法中,所述网络类型包括内网类型和外网类型;其中,所述外网类型对应多种运营商类型;所述确定与所述目标主机对应的网络类型,包括:确定所述dns请求的入接口是否为内网接口;如果所述dns请求的入接口为内网接口,确定所述目标主机的网络类型为内网类型;如果所述dns请求的入接口为外网接口,进一步确定所述目标主机的运营商类型。在所述dns解析的方法中,所述网络类型包括内网类型和外网类型;其中,所述外网类型对应多种运营商类型;所述确定与所述目标主机对应的网络类型,包括:确定所述目标主机的运营商类型;如果无法确定所述目标主机的运营商类型,确定所述目标主机的网络类型为内网类型。在所述dns解析的方法中,所述dns请求包括:所述目标主机发往所述出口设备的dns请求;以及,所述目标主机发往其它dns服务器的dns请求。在所述dns解析的方法中,所述方法还包括:如果与所述待解析域名和所述网络类型对应的域名关联表项中ip地址为空值,进一步查找与所述待解析域名对应的域名关联表项中网络类型为空值的域名关联表项,并将该域名关联表项的ip地址返回所述目标主机。一种dns解析的装置,应用于目标局域网的出口设备,包括:接收单元,用于接收到目标主机发送的dns请求;读取单元,用于读取所述dns请求中携带的待解析域名;以及,确定与所述目标主机对应的网络类型;查找单元,用于基于读取到的待解析域名和所述目标主机对应的网络类型查找预设的域名关联表,得到对应的ip地址,并将所述ip地址返回所述目标主机;其中,所述域名关联表中包括域名、网络类型和ip地址的映射关系;所述域名关联表中的域名对应多种网络类型。在所述dns解析的装置中,所述网络类型包括内网类型和外网类型;其中,所述外网类型对应多种运营商类型;所述读取单元,进一步用于:确定所述dns请求的入接口是否为内网接口;如果所述dns请求的入接口为内网接口,确定所述目标主机的网络类型为内网类型;如果所述dns请求的入接口为外网接口,进一步确定所述目标主机的运营商类型。在所述dns解析的装置中,所述网络类型包括内网类型和外网类型;其中,所述外网类型对应多种运营商类型;所述读取单元,进一步用于:确定所述目标主机的运营商类型;如果无法确定所述目标主机的运营商类型,确定所述目标主机的网络类型为内网类型。在所述dns解析的装置中,所述dns请求包括:所述目标主机发往所述出口设备的dns请求;以及,所述目标主机发往其它dns服务器的dns请求。在所述dns解析的装置中,所述查找单元,进一步用于:如果与所述待解析域名和所述网络类型对应的域名关联表项中ip地址为空值,进一步查找与所述待解析域名对应的域名关联表项中网络类型为空值的域名关联表项,并将该域名关联表项的ip地址返回所述目标主机。在本申请实施例中,目标局域网的出口设备接收到目标主机发送的dns请求,读取所述dns请求中携带的待解析域名,以及,确定与所述目标主机对应的网络类型,然后基于读取到的待解析域名和所述目标主机对应的网络类型查找预设的域名关联表,得到对应的ip地址,并将所述ip地址返回所述目标主机;其中,所述域名关联表中包括域名、网络类型和ip地址的映射关系;所述域名关联表中的域名对应多种网络类型;由于本申请中,将dns解析的功能集成在出口设备上,使得目标局域网中无需再配置dns服务器,因此降低了内网dns部署的成本;此外,出口设备可以从域名关联表中查找到与目标主机的网络类型以及待解析域名对应的ip地址,并向目标主机返回所述ip地址;因此,目标主机可以基于所述ip地址选择对应于其网络类型的路线访问web服务器,从而提高了通信效率。附图说明图1是现有技术的一种局域网架构图;图2是现有技术的另一种局域网架构图;图3是本申请示出的一种局域网架构图;图4是本申请示出的一种dns解析的方法的流程图;图5是本申请示出的另一种dns解析的方法的流程图;图6是本申请示出的一种dns解析的装置的实施例框图;图7是本申请示出的一种dns解析的装置的硬件结构图。具体实施方式为了使本
技术领域
的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对现有技术方案和本发明实施例中的技术方案作进一步详细的说明。参见图1,为现有技术的一种局域网架构图,如图1所示,局域网中包括dns服务器、web服务器和计算机a,出口设备为局域网中的设备提供nat服务;其中,dns服务器配置外网地址。计算机b处于外网。计算机a访问web服务器的过程如下:计算机a访问域名www.test.com,发送dns请求至本地的dns服务器。由于dns服务器配置外网地址,dns服务器配备的对应于web服务器的a记录信息(ip地址)为出口设备的ip地址202.1.1.1。dns服务器将出口设备的ip地址返回计算机a。计算机a访问web服务器时,向出口设备发出web请求;该web请求需由出口设备做nat转换后,才能发送至web服务器。计算机b访问web服务器的过程如下:计算机b访问域名www.test.com,发送dns请求至本地的dns服务器(图中未示出)。由于该域名授权202.1.1.1进行权威解析,故上述dns服务器会向202.1.1.1转发dns请求进行递归查询。出口设备接收到上述dns请求后,将该dns请求做nat转换后,转发至处于内网的dns服务器。dns服务器响应于该dns请求,将域名www.test.com对应的ip地址202.1.1.1返回至计算机b。计算机b访问web服务器时,向出口设备发送web请求;该web请求经出口设备做nat转换后,转发至web服务器。参见图2,为现有技术的另一种局域网架构图,如图2所示,局域网中包括dns服务器、web服务器和计算机a,出口设备为局域网中的设备提供nat服务;其中,dns服务器配置内网地址。计算机b和计算机c处于外网。计算机a访问web服务器的过程如下:计算机a访问域名www.test.com,发送dns请求至本地的dns服务器。由于dns服务器配置内网地址,dns服务器配备的对应于web服务器的a记录信息(ip地址)为web服务器的ip地址192.168.3.100。dns服务器将web服务器的ip地址返回计算机a。计算机a访问web服务器时,可以直接向web服务器发送web请求。计算机b访问web服务器的过程如下:计算机b访问域名www.test.com,发送dns请求至本地的dns服务器(图中未示出)。由于该域名授权202.1.1.1进行权威解析,故上述dns服务器会向202.1.1.1转发dns请求进行递归查询。出口设备接收到上述dns请求后,将该dns请求做nat转换后,转发至处于内网的dns服务器。dns服务器响应于该dns请求,将域名www.test.com对应的ip地址192.168.3.100返回至计算机b。出口设备接收到上述ip地址后,通过dnsalg(dnsapplicationlayergateway,dns应用层网关)功能将web服务器的ip地址转换为202.1.1.1。计算机b访问web服务器时,向出口设备发送web请求;该web请求经出口设备做nat转换后,转发至web服务器。可见,在现有技术中,如果内网的dns服务器配置外网地址,内网的主机从dns服务器获得web服务器对应的ip地址后,在访问web服务器时需将web请求发送至出口设备,经出口设备nat转换后才能发送至web服务器;如果内网的dns服务器配置内网地址,dns服务器响应于外网的主机发出的web服务器的ip地址需经出口设备natalg转换后才能发送至外网的主机;上述问题会导致通信效率低下;此外,分属于不同运营商的外网主机从出口设备获得相同对应于web服务器的ip地址,由于该ip地址可能并非由外网主机所属的运营商管理,则在后续访问web服务器的过程中,外网主机通过访问该ip地址来访问web服务器时,可能选择其它运营商的路线,从而产生较大的延时,造成通信效率下降;另外,在现有技术中,dns服务器仅处理目的地址为本地的dns请求,而对目的地址不是本地的dns请求只做转发处理;如果局域网内的web服务器的域名未在公网注册,而局域网内网的主机默认的dns服务器被人工修改后,主机发出的dns请求会被出口设备转发至局域网外,导致域名无法被解析。有鉴于此,本申请实施例的技术方案,将dns解析的功能集成在出口设备,使得目标局域网中无需再配置dns服务器,从而降低内网dns部署的成本;出口设备接收到dns请求后,不仅处理目的地址为本地的dns请求,还处理目的地址不是本地的dns请求,避免了域名无法被解析的情况;此外,出口设备预设的域名关联表中,一个域名可以对应多种网络类型,每种网络类型又分别对应ip地址,因此,出口设备可以根据发送dns请求的主机的网络类型返回对应的ip地址,使得主机可以根据最合适的路线访问web服务器,提高了通信效率。参照图3,为本申请示出的一种局域网架构图,如图3所示,局域网内不再部署dns服务器,而将dns解析功能集成在出口设备上。出口设备根据预设的域名关联表向发送dns请求的主机返回与主机的网络类型对应的ip地址时,无需再对该ip地址进行natalg转换,也不会向内网中的主机返回出口设备的ip地址。参见图4,为本申请示出的一种dns解析的方法的流程图,所述方法应用于目标局域网的出口设备,该方法包括以下步骤:步骤401:接收到目标主机发送的dns请求。步骤402:读取所述dns请求中携带的待解析域名;以及,确定与所述目标主机对应的网络类型。步骤403:基于读取到的待解析域名和所述目标主机对应的网络类型查找预设的域名关联表,得到对应的ip地址,并将所述ip地址返回所述目标主机;其中,所述域名关联表中包括域名、网络类型和ip地址的映射关系;所述域名关联表中的域名对应多种网络类型。其中,上述出口设备可以包括具有nat功能,并集成了dns解析功能的路由器或代理服务器。上述出口设备预设了域名关联表,该域名关联表中记录了目标局域网内的web服务器的域名对应的分属于不同网络类型的ip地址。其中,网络类型可以包括内网类型和外网类型对应的多种运营商类型。如下表1为示出的一种域名关联表:域名网络类型ip地址www.test.com电信202.1.1.2www.test.com联通205.10.10.2www.test.com内网192.168.1.100表1上述域名关联表中的a记录信息可以是人工预配置,也可以是上述出口设备从外网中的dns服务器学习得来。另外,上述出口设备可以预配置ip地址表,该ip地址表包括运营商类型与各运营商管理的ip地址的映射关系;上述出口设备可以基于该ip地址表确定发送dns请求的主机的运营商类型。在本申请实施例中,目标主机在访问目标局域网内的web服务器时,发出dns请求。上述出口设备接收到目标主机发送的dns请求,上述dns请求包括:上述目标主机发往上述出口设备的dns请求;以及,上述目标主机发往其它dns服务器的dns请求。上述出口设备对接收到的dns请求都进行处理,防止因web服务器的域名未在公网注册,而目标局域网内的主机默认的dns服务器不是上述出口设备,导致上述dns请求经上述出口设备转发至公网以后,无法被解析的情况。在本申请实施例中,上述出口设备可以读取上述dns请求中携带的待解析域名;以及,确定与上述目标主机对应的网络类型。其中,上述出口设备在确定与上述目标主机对应的网络类型之前,可以先将上述待解析域名在上述域名关联表中进行查找,确定上述域名关联表能否匹配上述待解析域名,在能匹配的情况下做进一步的处理。在示出的一种实施方式中,上述出口设备在确定与上述目标主机对应的网络类型时,可以首先匹配上述dns请求的入接口,确定上述入接口是否为内网接口。参见图5,为本申请示出的另一种dns解析的方法的流程图,如图5示出的方法中,采用了该实施方式来确定上述目标主机对应的网络类型。一方面,如果上述入接口为内网接口,则可以确定上述目标主机的网络类型为内网类型。另一方面,如果上述入接口为外网接口,则可以确定上述目标主机的网络类型为外网类型,需进一步确定上述目标主机的运营商类型。具体地,上述出口设备可以将上述dns请求的源ip在预设的ip地址表中进行匹配,并在匹配到ip地址表项后,确定上述目标主机的网络类型为匹配到的ip地址表项中的运营商类型。在示出的另一种实施方式中,上述出口设备在确定与上述目标主机对应的网络类型时,可以直接将上述dns请求的源ip在预设的ip地址表中进行匹配,确定上述目标主机的运营商类型。一方面,如果匹配到对应的ip地址表项,则可以确定上述目标主机的网络类型为上述ip地址表项中的运营商类型。另一方面,如果无法匹配到对应的ip地址表项,即无法确定上述目标主机的运营商类型,则可以确定上述目标主机的网络类型为内网类型。上述出口设备在确定上述目标主机的网络类型后,可以基于该网络类型为上述目标主机选择上述待解析域名解析出的ip地址,从而使得上述目标主机在访问web服务器时可以选择最合适的路线。在本申请实施例中,上述出口设备可以基于读取到的待解析域名和上述目标主机对应的网络类型查找预设的域名关联表,得到对应的ip地址,并将上述ip地址返回上述目标主机。具体地,上述出口设备可以首先将上述dns请求中的待解析域名在上述域名关联表中进行查找,获得上述待解析域名解析出的全部ip地址。上述出口设备可以进一步在上述ip地址中查找对应于上述网络类型的ip地址,最终获得与上述待解析域名和上述网络类型对应的ip地址,然后将该ip地址返回上述目标主机。上述目标主机获得上述ip地址后,可以选择最适合的路线访问web服务器。在本申请实施例中,在配置上述域名关联表时,网络管理员或上述出口设备获得上述待解析域名解析出的ip地址后,将上述ip地址填入上述域名关联表,并可以基于上述ip地址表确定上述ip地址所属的运营商,继而建立ip地址与各运营商类型的映射关系。由于本地的ip地址表中各运营商管理的ip地址可能未及时更新,此时,上述待解析域名解析出的ip地址基于上述ip地址表可能无法确定所属的运营商。在这种情况下,上述域名关联表中,部分运营商类型对应的ip地址为空值。如下表1为示出的另一种域名关联表:域名网络类型ip地址www.test.com电信www.test.com联通205.10.10.2www.test.com内网192.168.1.100www.test.com202.1.1.2表2进一步地,上述出口设备在确定上述目标主机的运营商类型后,根据上述待解析域名和上述目标主机的运营商类型在上述域名关联表中可能无法查找到对应的ip地址。在这种情况下,上述出口设备可以进一步查找与上述待解析域名对应的域名关联表项中网络类型为空值的域名关联表项,然后将查找到的该域名关联表项中仅对应于上述待解析域名的ip地址返回上述目标主机。上述目标主机根据该ip地址访问web服务器时,仍有可能选择其所属运营商管理的路线。综上所述,在本申请实施例中,出口设备集成了dns解析和nat转换两种功能,使得局域网内无需再部署dns服务器,节省了局域网内dns部署与维护的成本;上述出口设备接收到目标主机发送的dns请求,读取上述dns请求中携带的待解析域名,以及,确定与上述目标主机对应的网络类型,然后基于读取到的待解析域名和上述目标主机对应的网络类型查找预设的域名关联表,得到对应的ip地址,并将上述ip地址返回上述目标主机;由于上述出口设备基于上述目标主机的网络类型返回待解析域名解析出的ip地址,局域网内的主机不会接收到外网地址,局域网外的主机可以直接获得其所属的运营商管理的ip地址;上述目标主机通过上述ip地址访问web服务器时,可以选择最佳路线,提高了通信效率;此外,上述出口设备在处理dns请求报文时,不仅处理上述目标主机发送至本地的dns请求,也处理上述目标主机发往其它dns服务器的dns请求,避免了解析异常的情况。与前述dns解析的方法的实施例相对应,本申请还提供了dns解析的装置的实施例。参见图6,为本申请示出的一种dns解析的装置的实施例框图:如图6所示,该dns解析的装置60包括:接收单元610,用于接收到目标主机发送的dns请求。读取单元620,用于读取所述dns请求中携带的待解析域名;以及,确定与所述目标主机对应的网络类型。查找单元630,用于基于读取到的待解析域名和所述目标主机对应的网络类型查找预设的域名关联表,得到对应的ip地址,并将所述ip地址返回所述目标主机;其中,所述域名关联表中包括域名、网络类型和ip地址的映射关系;所述域名关联表中的域名对应多种网络类型。在本例中,所述网络类型包括内网类型和外网类型;其中,所述外网类型对应多种运营商类型;所述读取单元620,进一步用于:确定所述dns请求的入接口是否为内网接口;如果所述dns请求的入接口为内网接口,确定所述目标主机的网络类型为内网类型;如果所述dns请求的入接口为外网接口,进一步确定所述目标主机的运营商类型。在本例中,所述网络类型包括内网类型和外网类型;其中,所述外网类型对应多种运营商类型;所述读取单元620,进一步用于:确定所述目标主机的运营商类型;如果无法确定所述目标主机的运营商类型,确定所述目标主机的网络类型为内网类型。在本例中,所述dns请求包括:所述目标主机发往所述出口设备的dns请求;以及,所述目标主机发往其它dns服务器的dns请求。在本例中,所述查找单元630,进一步用于:如果与所述待解析域名和所述网络类型对应的域名关联表项中ip地址为空值,进一步查找与所述待解析域名对应的域名关联表项中网络类型为空值的域名关联表项,并将该域名关联表项的ip地址返回所述目标主机。本申请dns解析的装置的实施例可以应用在目标局域网的出口设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在出口设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,为本申请dns解析的装置所在出口设备的一种硬件结构图,除了图7所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的出口设备通常根据该dns解析的装置的实际功能,还可以包括其他硬件,对此不再赘述。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1