一种域名解析方法及装置制造方法
【专利摘要】本发明公开了一种域名解析方法及装置,本发明在客户端和域名服务器之间设置域名解析装置,该装置识别同一域名解析过程中的多个域名查询请求报文或多个域名查询响应报文后,拦截其中冗余的域名查询请求报文或冗余的域名查询响应报文,透传非冗余的域名查询请求报文给域名服务器或透传非冗余的域名查询响应报文给客户端。这样,本发明提供的方法及装置就可以对冗余的域名查询请求报文或冗余的域名查询响应报文拦截,减轻域名服务器处理压力且节省网络带宽。
【专利说明】一种域名解析方法及装置
【技术领域】
[0001]本发明涉及网际协议(IP)领域,特别涉及一种域名解析方法及装置。
【背景技术】
[0002]域名系统(DNS)是为了解决域名和IP地址信息的对应关系而建立的互联网名称服务系统,是互联网中的基于超文本传输协议(HTTP)的文件传输应用及电子邮件应用等几乎所有互联网应用的基础服务系统,其中,域名就是互联网中各个客户端的主机名称。域名解析过程为:客户端中设置的域名解析器与DNS中的域名服务器交互,由客户端中设定的域名解析器向域名服务器发起域名查询请求报文后,由域名服务器将该域名对应的IP地址信息返回给客户端,该域名对应的IP地址信息可以为一个或多个。
[0003]在客户端设置的域名解析器接受客户端的操作系统管理,供需要使用域名服务的应用程序调用,向域名服务器查询域名对应的IP地址信息并将结果返回给调用它的应用程序。DNS中的域名服务器位于互联网网络中,包括多个且多个等级,负责具体的域名解析,上级的域名服务器由资源管理机构自成网络统一管理,并与运营商网络互联,下级的域名服务器位于运营商网络中,由运营商网络所有者控制管理。
[0004]为了减轻上级域名服务器的负担,加快域名解析处理速度,将最低一级的域名服务器设置为递归服务器,也就是缓存服务器,缓存有其管辖的客户端的域名和IP地址信息的对应关系。在域名解析过程中,距离客户端最近的最低一级的域名服务器,直接与客户端的域名解析器交互域名解析的报文。本申请提及的域名服务器就是最低一级的域名服务器。
[0005]目前,在客户端的域名解析器和域名服务器之间进行域名解析的过程中,一次域名解析的报文交互,客户端的域名解析器可能会发出多个域名查询请求报文,这些报文是同一应用程序的同一次域名解析器调用产生,向同一域名服务器请求同一域名对应的IP地址信息,同一域名服务器将返回多个携带对应的IP地址信息的域名查询响应报文。
[0006]图1为现有技术提供的域名解析方法流程图,其具体步骤为:
[0007]步骤101、客户端的应用程序调用客户端设置的域名解析器,进行域名解析;
[0008]步骤102、客户端设置的域名解析器接受该应用程序的调用后,向域名服务器发送域名查询请求报文,该实例一共发送四次查询请求报文;
[0009]在本步骤中,域名查询请求携带的域名为www.abc.com,由于应用程序或操作系统本身的域名解析行为,需要发出四次域名查询请求报文;步骤103、域名服务器接收到四个域名查询请求报文,分别解析,得到对应各个域名查询请求报文携带的域名对应的IP地址
信息;
[0010]在该步骤中,域名服务器预先缓存有域名和IP地址信息的对应关系,根据对应关系进行解析;
[0011]步骤104、域名服务器针对每个域名查询请求报文,返回对应的域名查询响应报文,携带有解析得到的IP地址信息;[0012]在该步骤中,一共需要返回四个域名查询响应报文。
[0013]从图1可以看出,这四个查询请求报文具有的特点为:由于来自于同一客户端,所以源IP地址信息相同;由于发送的目的都为域名服务器,所以目的IP地址信息相同;所请求的域名相同;所解析的IP地址信息相同;调用的域名解析器的源端口相同;以及由于同一次解析过程而导致的事务标识(Transaction ID)相同。
[0014]正常情况下,这些域名查询请求报文都会到达域名服务器,而域名服务器也会对每个域名查询请求报文回复域名查询响应报文,因此,客户端也会接收到多个域名查询响应报文。一般来说,一个域名查询请求报文和域名查询响应报文的交互就可以完成一次域名解析过程,而且在客户端接收到第一个域名查询响应报文后就会结束本次域名解析过程并关闭客户端的传输层端口,后续其他域名查询响应报文就会丢弃并向域名服务器发送互联网控制报文协议(ICMP)端口不可达消息。这些多余的域名查询请求报文和域名查询响应报文增加了域名服务器的处理压力,也浪费了网络带宽,尤其是在网络空口带宽资源紧张的移动接入环境下更为明显。
【发明内容】
[0015]有鉴于此,本发明提供一种域名解析方法,该方法能够对冗余的域名查询请求报文或冗余的域名查询响应报文拦截,减轻域名服务器处理压力且节省网络带宽。
[0016]本发明还体用一种域名解析装置,该装置能够对冗余的域名查询请求报文或冗余的域名查询响应报文拦截,减轻域名服务器处理压力且节省网络带宽。
[0017]为达到上述目的,本发明实施的技术方案具体是这样实现的:
[0018]一种域名解析方法,在客户端和域名服务器之间设置域名解析装置,该方法还包括:
[0019]域名解析装置识别同一域名解析过程中的由客户端发送的多个域名查询请求报文或由域名服务器发送的多个域名查询响应报文;
[0020]域名解析装置拦截其中冗余的域名查询请求报文或冗余的域名查询响应报文,透传非冗余的域名查询请求报文或非冗余的域名查询响应报文。
[0021]所述识别同一域名解析过程中的由客户端发送的多个域名查询请求报文或由域名服务器发送的多个域名查询响应报文为:在域名解析装置中设置识别规则,根据所设置的识别规则确定所接收的多个域名查询请求报文或多个域名查询响应报文是否来自于同一域名解析过程。
[0022]所设置的识别规则为:判断接收多个报文间隔时间不超过设定的间隔时间,判断多个报文中的域名系统字段Domain Name System的事务标识Transaction ID相同、判断多个域名查询请求报文的源端口号相同、判断多个域名查询响应报文的目的端口号相同、判断多个报文携带的域名和类型相同、和判断多个报文的源或目的IP地址信息相同中的一种或多种组合。
[0023]所述根据所设置的识别规则确定所接收的多个域名查询请求报文或多个域名查询响应报文是否来自于同一域名解析过程为:域名解析装置中维护一个报文状态表,缓存所接收报文的信息,根据所记录报文信息确定是否符合所设定的识别规则,进一步确定所接收的多个域名查询请求报文或多个域名查询响应报文是否来自于同一域名解析过程。[0024]所述拦截规则为:对域名查询请求报文或域名查询响应报文实施拦截,或者对两者都进行拦截;根据报文转发方向进行拦截;判断本次域名解析过程中是否已经对域名查询请求报文应答了域名查询响应报文,如未应答则透传域名查询响应报文给客户端,否则,拦截域名查询响应报文;根据报文的源IP地址和域名服务器IP地址、对客户端或域名服务器参与的报文拦截;以及根据域名对报文拦截中的一种或多种组合。
[0025]一种域名解析装置,包括:识别模块、拦截模块和透传模块,其中,
[0026]识别模块,用于识别同一域名解析过程中的多个域名查询请求报文或多个域名查询响应报文;
[0027]拦截模块,用于根据识别模块的识别结果,拦截其中冗余的域名查询请求报文或冗余的域名查询响应报文;
[0028]透传模块,用于根据识别模块的识别结果,透传非冗余的域名查询请求报文或非冗余的域名查询响应报文。
[0029]所述识别模块包括第一识别模块,用于设置识别规则,根据识别规则,识别同一域名解析过程中的多个域名查询请求报文或多个域名查询响应报文。
[0030]所述拦截模块还包括第一拦截模块,用于设置拦截规则,根据拦截规则对冗余的域名查询请求报文或冗余的域名查询响应报文进行拦截。
[0031]由上述方案可以看出,本发明在客户端和域名服务器之间设置域名解析装置,该装置识别同一域名解析过程中的多个域名查询请求报文或多个域名查询响应报文后,拦截其中冗余的域名查询请求报文或冗余的域名查询响应报文,透传非冗余的域名查询请求报文给域名服务器或透传非冗余的域名查询响应报文给客户端。这样,本发明提供的方法及装置就可以对冗余的域名查询请求报文或冗余的域名查询响应报文拦截,减轻域名服务器处理压力且节省网络带宽。
【专利附图】
【附图说明】
[0032]图1为现有技术提供的域名解析方法流程图;
[0033]图2为本发明实施例提供的域名解析方法流程图;
[0034]图3为本发明实施例提供的域名解析装置结构示意图;
[0035]图4为本发明实施例提供的域名解析方法具体实例流程图。
【具体实施方式】
[0036]为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
[0037]为了使得域名服务器不重复的对同一域名解析过程中的多个域名查询请求报文处理,回复多个相同的域名查询响应报文,减轻域名服务器处理压力且节省网络带宽;或者为了客户端不重复接收同一域名解析过程中多个相同域名查询响应报文,节省网络带宽。本发明在客户端和域名服务器之间设置域名解析装置,该装置识别同一域名解析过程中的多个域名查询请求报文或多个域名查询响应报文后,拦截其中冗余的域名查询请求报文或冗余的域名查询响应报文,透传非冗余的域名查询请求报文给域名服务器或透传非冗余的域名查询响应报文给客户端。[0038]在本发明实施例中,所设置的域名解析装置可以独立存在在网络中,也可以作为功能模块集成在网络中的其他装置中,部署在客户端和域名服务器之间域名查询请求报文或域名查询响应报文经过链路的任意处,如客户端侧的家庭网关、客户端和域名服务器之间的网关、域名服务器侧的网关、客户端内或域名服务器内。
[0039]图2为本发明实施例提供的域名解析方法流程图,在客户端和域名服务器之间设置域名解析装置,其具体步骤为:
[0040]步骤201、域名解析装置识别同一域名解析过程中的多个域名查询请求报文或多个域名查询响应报文;
[0041]步骤202、域名解析装置拦截其中冗余的域名查询请求报文或冗余的域名查询响应报文,透传非冗余的域名查询请求报文或非冗余的域名查询响应报文。
[0042]在本发明实施例中,域名解析装置识别同一域名解析过程中的多个域名查询请求报文或多个域名查询响应报文,具体为:在域名解析装置中设置识别规则,根据所设置的识别规则确定所接收的多个域名查询请求报文或多个域名查询响应报文是否来自于同一域名解析过程。
[0043]所设置的识别规则可以是:判断接收多个报文间隔时间不超过设定的间隔时间,判断多个报文中的域名系统字段(Domain Name System)的事务标识(Transaction ID)相同、判断多个域名查询请求报文的源端口号相同、判断多个域名查询响应报文的目的端口号相同、判断多个报 文携带的域名和类型相同、和判断多个报文的源或目的IP地址信息相同中的一种或多种组合。
[0044]判断接收多个报文间隔时间不超过设定的间隔时间时,间隔时间可以设定为0.5秒,确定多个报文是否在0.5秒内陆续接收到。
[0045]具体地说,域名解析装置中维护一个报文状态表,缓存所接收报文的信息,根据所记录报文信息确定是否符合所设定的识别规则。在该报文状态表中,每一个条目记录同一域名解析过程中所接收报文的信息,每一个条目设置有生存时间,比如初始值设置为500毫秒,生存时间在条目创建后递减,减到O时条目被删除。域名解析装置接收到域名查询请求报文或域名查询响应报文后,如果该报文信息匹配已经记录的条目中的报文信息,则在该条目中的报文计数值中增加1,如果不匹配,则增加一条条目,如表1所示的报文状态表中的两个条目记录。
[0046]表1
[0047]
【权利要求】
1.一种域名解析方法,其特征在于,在客户端和域名服务器之间设置域名解析装置,该方法还包括: 域名解析装置识别同一域名解析过程中的由客户端发送的多个域名查询请求报文或由域名服务器发送的多个域名查询响应报文; 域名解析装置拦截其中冗余的域名查询请求报文或冗余的域名查询响应报文,透传非冗余的域名查询请求报文或非冗余的域名查询响应报文。
2.如权利要求1所述的方法,其特征在于,所述识别同一域名解析过程中的由客户端发送的多个域名查询请求报文或由域名服务器发送的多个域名查询响应报文为:在域名解析装置中设置识别规则,根据所设置的识别规则确定所接收的多个域名查询请求报文或多个域名查询响应报文是否来自于同一域名解析过程。
3.如权利要求2所述的方法,其特征在于,所设置的识别规则为:判断接收多个报文间隔时间不超过设定的间隔时间,判断多个报文中的域名系统字段Domain Name System的事务标识Transaction ID相同、判断多个域名查询请求报文的源端口号相同、判断多个域名查询响应报文的目的端口号相同、判断多个报文携带的域名和类型相同、和判断多个报文的源或目的IP地址信息相同中的一种或多种组合。
4.如权利要求2所述的方法,其特征在于,所述根据所设置的识别规则确定所接收的多个域名查询请求报文或多个域名查询响应报文是否来自于同一域名解析过程为:域名解析装置中维护一个报文状态表,缓存所接收报文的信息,根据所记录报文信息确定是否符合所设定的识别规则,进一步确定所接收的多个域名查询请求报文或多个域名查询响应报文是否来自于同一域名解析过程。
5.如权利要求1所述的方法,其特征在于,所述拦截规则为:对域名查询请求报文或域名查询响应报文实施拦截,或者对两者都进行拦截;根据报文转发方向进行拦截;判断本次域名解析过程中是否已经对域名查询请求报文应答了域名查询响应报文,如未应答则透传域名查询响应报文给客户端,否则,拦截域名查询响应报文;根据报文的源IP地址和域名服务器IP地址、对客户端或域名服务器参与的报文拦截;以及根据域名对报文拦截中的一种或多种组合。
6.一种域名解析装置,其特征在于,包括:识别模块、拦截模块和透传模块,其中, 识别模块,用于识别同一域名解析过程中的由客户端发送的多个域名查询请求报文或由域名服务器发送的多个域名查询响应报文; 拦截模块,用于根据识别模块的识别结果,拦截其中冗余的域名查询请求报文或冗余的域名查询响应报文; 透传模块,用于根据识别模块的识别结果,透传非冗余的域名查询请求报文或非冗余的域名查询响应报文。
7.如权利要求6所述的装置,其特征在于,所述识别模块包括第一识别模块,用于设置识别规则,根据识别规则,识别同一域名解析过程中的多个域名查询请求报文或多个域名查询响应报文。
8.如权利要求6所述的装置,其特征在于,所述拦截模块还包括第一拦截模块,用于设置拦截规则,根据拦截规则对冗余的域名查询请求报文或冗余的域名查询响应报文进行拦截。
【文档编号】H04L29/12GK103973827SQ201310045977
【公开日】2014年8月6日 申请日期:2013年2月5日 优先权日:2013年2月5日
【发明者】樊鹏 申请人:中国移动通信集团公司