CN111901449B - 一种优化域名访问的方法及装置 - Google Patents

一种优化域名访问的方法及装置 Download PDF

Info

Publication number
CN111901449B
CN111901449B CN202010626273.2A CN202010626273A CN111901449B CN 111901449 B CN111901449 B CN 111901449B CN 202010626273 A CN202010626273 A CN 202010626273A CN 111901449 B CN111901449 B CN 111901449B
Authority
CN
China
Prior art keywords
dns
cache
domain name
server
enhanced
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010626273.2A
Other languages
English (en)
Other versions
CN111901449A (zh
Inventor
张军
胡方伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Subao Network Technology Co ltd
Original Assignee
Sichuan Subao Network Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan Subao Network Technology Co ltd filed Critical Sichuan Subao Network Technology Co ltd
Priority to CN202010626273.2A priority Critical patent/CN111901449B/zh
Publication of CN111901449A publication Critical patent/CN111901449A/zh
Application granted granted Critical
Publication of CN111901449B publication Critical patent/CN111901449B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种优化域名访问的方法及装置,当CPE代理服务器中没有用户需要的缓存条目时,CPE代理服务器将DNS请求消息转发至上级增强DNS服务器,并当增强DNS服务器本地没有缓存条目,增强DNS服务器转发所述DNS请求至上级DNS服务器;基于增强DNS服务器接收所述上级DNS服务器的DNS响应报文,并根据DNS响应报文保存增强缓存条目,更新DNS响应报文的TTL参数,将更新TTL参数后的DNS响应报文转发至请求用户。本发明通过增强DNS服务器,有效地降低了整系统的DNS请求和响应消息数量。当代理服务器的数量有数以千计时,可以成百倍地降低整系统的DNS消息的处理负荷,尤其是对于低处理能力的代理服务器作用重大,所有访问过的条目不再发送请求消息,无需解决缓存失效的问题。

Description

一种优化域名访问的方法及装置
技术领域
本发明涉及网络通信技术领域,特别涉及一种优化域名访问的方法及装置。
背景技术
目前,DNS(Domain Name System的缩写)是互联网核心协议之一,简单而言就是把域名解析到对应的IP地址。如果没有DNS,那么我们所有的访问都需要知道目标服务器的IP地址,IPv4的地址有4字节,而IPv6的地址有16字节,这绝对是一个不可能完成的挑战。
为了提升DNS查询的性能,一般通过缓存(Cache)DNS查询结果的方式,无论是浏览器、操作系统还是本地的DNS服务器都支持缓存。这种缓存方式不仅提高了查询性能,同时降低了上游DNS服务器的负载,如图3所示是一个典型的DNS查询过程。
在企业办公中,由于服务器动态部署、动态负载均衡的原因,域名对应的IP地址会发生动态变化,因此,为了防止域名和IP地址的对应关系发生错误,DNS查询结果的有效时间一般不会很长,比如:600秒,超过这个时间,缓存就无效了。典型的chrome浏览器的缓存时间一般设置为60秒,操作系统也一般设置为60秒,也有DNS缓存的时间设置为15秒。这种TTL值设置得比较短的行为导致网络中的设备频繁的进行DNS更新,加重网络设备处理DNS服务的负担,而对于低性能的网络设备而言,这些问题更加突出,为此,本发明提出了一种域名访问优化的方法,以减轻低端网络设备的负担。
发明内容
本发明提供一种优化域名访问的方法及装置,用以解决上述的情况。
一种优化域名访问的方法,其特征在于,包括:
用户主机向CPE代理服务器发送DNS请求消息,当CPE代理服务器中没有用户需要的缓存条目时,CPE代理服务器将DNS请求消息转发至上级增强DNS服务器,由增强DNS服务器从CEP代理服务器中接收的来自用户的DNS请求消息,并当增强DNS服务器本地没有缓存条目,增强DNS服务器转发所述DNS请求至上级DNS服务器;
基于所述增强DNS服务器接收所述上级DNS服务器的DNS响应报文,并根据所述DNS响应报文保存增强缓存条目,更新所述DNS响应报文的TTL参数,其中,增强DNS服务器是CPE代理服务器的一种功能;
将更新TTL参数后的DNS响应报文转发至请求用户。
作为本发明的一种实施例,所述增强后的缓存条目包括:DNS请求者的域名、DNS请求者IP地址,DNS响应报文中的TTL值。
作为本发明的一种实施例,所述方法还包括:
在收到DNS请求消息时,若本地缓存条目中已经有对应的DNS响应时,增加该DNS请求的缓存条目;其中,
所述缓存条目包括解析并增强更新后所述DNS响应报文的TTL的值。
作为本发明的一种实施例,所述方法包括:
在没有接收到上级DNS服务器的DNS响应报文时,主动或周期发送DNS CacheUpdate消息给DNS请求者;
在收到上级DNS服务器的DNS响应报文时,若所述DNS响应报文中的域名和IP地址的对应关系与本地DNS缓存不一致,发送DNS Cache Update消息给DNS请求者;其中,
所述DNS Cache Update消息的内容与DNS响应报文的格式一致。
作为本发明的一种实施例,所述接收DNS请求消息,并转发至上级DNS服务器还包括:
判断本地是否存在域名的缓存条目,在本地是不存在域名的缓存条目时,转发至上级DNS服务器;其中,
所述缓存条目通过以下步骤获取:
步骤1:根据所述缓存条目和DNS请求消息,构建所述本地缓存条目和DNS请求消息的关联函数G:
Figure GDA0003649361580000031
其中,所述q表示所述缓存条目的内容集;所述N表示请求特征数量;所述L表示缓存条目中内容的类型数;所述A(b)表示距离函数,所述b表示所述DNS请求消息的请求特征;所述β表示域名参数;
步骤2:根据所述DNS请求消息,构建所述域名的存在性预测模型H:
Figure GDA0003649361580000032
其中,所述bi表示第i个所述DNS请求消息的请求特征;所述Bj表示第j个域名特征;
步骤3:根据所述关联函数和存在性预测模型,通过回归法进行计算,判断本地是否存在域名的缓存条目:
Figure GDA0003649361580000041
其中,所述G(qi)表示第l个所述缓存条目内容和DNS请求消息的关联值;所述
Figure GDA0003649361580000042
表示域名存在性结果的均值;
当F≥1时,表示本地存在域名的缓存条目;
当F<1时,表示本地不存在域名的缓存条目。
一种优化域名访问的装置,其特征在于,包括:
响应模块:用户主机向CPE代理服务器发送DNS请求消息,当CPE代理服务器中没有用户需要的缓存条目时,CPE代理服务器将DNS请求消息转发至上级增强DNS请求消息,由增强DNS服务器从CEP代理服务器中接收的来自用户的DNS请求消息,并当增强DNS服务器本地没有缓存条目,增强DNS服务器转发所述DNS请求至上级DNS服务器;
接收模块:基于所述增强DNS请求消息接收所述上级DNS服务器的DNS响应报文,并根据所述DNS响应报文保存增强缓存条目,更新所述DNS响应报文的TTL参数,其中,增强DNS服务器是CPE代理服务器的一种功能;
转发模块:用于将更新TTL参数后的DNS响应报文转发至请求用户。
作为本发明的一种实施例,所述接收模块还包括:
增强单元:用于增强缓存条目;其中,
所述增强后的缓存条目包括:DNS请求者的域名、DNS请求者IP地址,DNS响应报文中的TTL值。
作为本发明的一种实施例,所述接收模块还包括:
解析单元:用于在收到DNS请求消息时,若本地缓存条目中已经有对应的DNS响应时,增加该DNS请求的缓存条目;其中,
所述缓存条目包括解析并增强更新后所述DNS响应报文的TTL的值。
作为本发明的一种实施例,所述转发模块包括:
第一发送子单元:用于在没有接收到上级DNS服务器的DNS响应报文时,主动或者周期发送DNS Cache Update消息给DNS请求者;
第二发送单元:用于在收到上级DNS服务器的DNS响应报文时,若所述DNS响应报文中的域名和IP地址的对应关系与本地DNS缓存不一致,发送DNS Cache Update消息给DNS请求者;其中,
所述DNS Cache Update消息的内容与DNS响应报文的格式一致。
作为本发明的一种实施例,所述响应模块还用于判断本地是否存在域名的缓存条目,在本地是不存在域名的缓存条目时,转发至上级DNS服务器;其中,
所述缓存条目通过以下步骤获取:
步骤1:根据所述缓存条目和DNS请求消息,构建所述本地缓存条目和DNS请求消息的关联函数G:
Figure GDA0003649361580000051
其中,所述q表示所述缓存条目的内容集;所述N表示请求特征数量;所述L表示缓存条目中内容的类型数;所述A(b)表示距离函数,所述b表示所述DNS请求消息的请求特征;所述β表示域名参数;
步骤2:根据所述DNS请求消息,构建所述域名的存在性预测模型H:
Figure GDA0003649361580000061
其中,所述bi表示第i个所述DNS请求消息的请求特征;所述Bj表示第j个域名特征;
步骤3:根据所述关联函数和存在性预测模型,通过回归法进行计算,判断本地是否存在域名的缓存条目:
Figure GDA0003649361580000062
其中,所述G(qi)表示第l个所述缓存条目内容和DNS请求消息的关联值;所述
Figure GDA0003649361580000063
表示域名存在性结果的均值;
当F≥1时,表示本地存在域名的缓存条目;
当F<1时,表示本地不存在域名的缓存条目。
本发明的有益效果在于:本发明通过上级DNS服务器的响应消息,补充了域名地址。通过CPE的增强DNS服务,有效地降低了整系统的DNS请求和响应消息数量。当代理服务器的数量有数以千计时,可以成百倍地降低整系统的DNS消息的处理负荷,尤其是对于低处理能力的代理服务器作用重大,所有访问过的条目不再发送请求消息,直接能从本地找到域名,无需解决缓存失效的问题。同时提升了整个系统的DNS响应时间,可以从几十甚至上百ms(毫秒)缩短到几个ms(毫秒)以内。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中优化域名访问的方法的方法流程图;
图2为本发明实施例中优化域名访问的装置的装置组成图;
图3为本发明实施例中现有技术DNS缓存处理示意图;
图4为本发明实施例中增强DNS缓存示意图;
图5为本发明实施例中增强DNS的过程示意图;
图6为本发明实施例中DNS请求处理过程示意图;
图7为本发明实施例中DNS响应处理过程示意图;
图8为本发明实施例中超时处理示意图;
图9为本发明实施例中无缓存DNS请求处理过程示意图;
图10为本发明实施例中有缓存DNS请求处理流程图;
图11为本发明实施例中DNS缓存更新流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明中的服务器中:增强DNS服务器是CPE代理服务器的一种功能,附图4和附图5为本发明中增强DNS服务器的结构。增强DNS服务器是本地预设的增强服务。CPE1代表第二CPE代理服务器,CPE2代表第一CPE代理服务器,DNS Cache Update是DNS缓存更新的缓存条目;
如附图1所示,本发明的一种优化域名访问的方法的方法流程图,包括:
步骤100:接收DNS请求消息,并转发至上级DNS服务器;DNS请求的是用户的请求,DNS上级服务器是本地的上级服务器,DNS在在接收到请求消息时,会根据请求的消息自动生成响应信息。在一个实施例中本发明的用户主机需要访问某域名网站(比如:www.baidu.com),由于本地没有对应域名的IP地址,用户主机会向CPE代理服务器发送DNS请求;而CPE代理服务器也没有用户需要的缓存条目,即,没有对应域名的IP地址;CPE代理服务器将DNS请求消息通过增强DNS服务器处理;在判断本地没有或有用户需要的缓存条目,进而确定获取域名的途径。如附图6所示,增强DNS缓存模块,即增强DNS服务器收到了DNS请求,如果DNS请求对应的条目存在,则更新增强缓存记录,把DNS请求者的IP增加到记录中,并使用缓存数据,返回DNS响应消息;如果缓存不存在,则向上级DNS服务器转发DNS请求消息。
步骤101:接收上级DNS服务器的DNS响应报文,并根据所述DNS响应报文保存增强缓存条目,更新所述DNS响应报文的TTL参数;如附图10所示,本发明更新的缓存条目是增强DNS服务器的缓存条目信息,即本地的缓存条目,在更新之后,在请求者列表中增加增强DNS服务器中的IP地址。使用发送缓存的DNS响应消息向增强DNS服务器发送DNS响应消息;CPE代理服务器收到增强DNS服务器的DNS响应消息,缴存该消息,并转发给请求用户。
如附图9所示,根据所述DNS响应报文保存增强缓存条目,并更新所述的DNS响应报文的TTL参数;本发明中增强DNS服务器在接收到DNS响应时,还会解析TTL的值,比如:300S,更新TTL值为28800S(8小时),缓存更新后的响应消息。
步骤102:将更新TTL参数后的DNS响应报文转发至请求用户。记录增强DNS缓存条目信息,这些信息包含:DNS请求域名、请求者第二CPE代理服务器的IP地址、TTL原始值信息,并把缓存的DNS响应消息发送给第一CPE代理服务器;代理服务器收到DNS响应时,缴存该消息,并转发给请求用户。
本发明的有益效果在于:本发明通过上级DNS服务器的响应消息,补充了域名地址。通过CPE的增强DNS服务,有效地降低了整系统的DNS请求和响应消息数量。当代理服务器的数量有数以千计时,可以成百倍地降低整系统的DNS消息的处理负荷,尤其是对于低处理能力的代理服务器作用重大,所有访问过的条目不再发送请求消息,直接能从本地找到域名,无需解决缓存失效的问题。同时提升了整个系统的DNS响应时间,可以从几十甚至上百ms(毫秒)缩短到几个ms(毫秒)以内。
实施例2:
作为本发明的一种实施例,所述增强后的缓存条目包括:DNS请求的域名、DNS请求者IP地址,DNS响应报文中的TTL值;本发明是优化域名的方法,增强后的缓存条目中DNS请求的域名,即目标域名是本发明的目的域名,本发明中DNS请求者IP地址与DNS请求的域名相对应,TTL值决定了更新缓存的时间。
在本发明中:增强DNS服务器是用户在CPE代理服务器中预设的一种功能;
所述CPE代理服务器用于将所述DNS请求消息通过增强DNS服务器缓存更新,还用于将所述DNS响应转发至请求用户;代理服务器是客户的本地服务器,本地是否存在域名也需要CPE代理服务器确定,CPE代理服务器的载体为电脑手机等等。
CPE代理服务器包括第一CPE代理服务器和第二CPE代理服务器;其中,
所述第一CPE代理服务器用于在首次接收DNS请求时,连通增强上级DNS服务器;在一个实施例中:用户主机需要访问某域名网站(比如:www.baidu.com),由于本地没有对应域名的IP地址,主机会向CPE1发送DNS请求;
CPE1收到DNS请求消息,本地没有用户需要的缓存条目,转发该请求给上级增强DNS服务器;
增强DNS服务器收到CPE1的DNS请求消息,如果本地没有缓存条目,则转发该请求给本服务器的上级DNS服务器;
增强DNS服务器收到上级服务器的DNS响应消息,解析TTL的值,比如:300S,更新TTL值为28800S(8小时),缓存更新后的响应消息。记录增强DNS缓存条目信息,这些信息包含:DNS请求域名、请求者CPE1的IP地址、TTL原始值信息,并把缓存的DNS响应消息发送给CPE1;
CPE1收到DNS响应消息,缴存该消息,并转发给请求用户。
所述第二CPE代理服务器用于再次接收DNS请求时,在本地获取目标域名。在一个实施例中:用户主机需要访问某域名网站(比如:www.baidu.com),由于本地没有对应域名的IP地址,主机会向CPE2发送DNS请求;
CPE2收到DNS请求消息,本地没有用户需要的缓存条目,转发该请求给上级增强DNS服务器;
增强DNS服务器收到CPE2的DNS请求消息,本地存在该域名的缓存条目,则更新增强DNS缓存条目信息,在请求者列表中增加的IP地址。使用发送缓存的DNS响应消息向CPE2发送DNS响应消息;
CPE收到DNS响应消息,缴存该消息,并转发给请求用户。
第一CPE代理服务器和第二CPE代理服务器分别对接增强DNS服务器不存在域名的缓存条目,以及上级DNS服务器更新缓存条目后,存在域名的缓存条目两种情况。
上述技术方案的有益效果在于:将域名获取的情况进行划分,当代理服务器的数量有数以千计时,可以成百倍地降低整系统的DNS消息的处理负荷,尤其是对于低处理能力的代理服务器作用重大,所有访问过的条目不再发送请求消息,无需解决缓存失效的问题。
实施例3:
作为本发明的一种实施例,在收到DNS请求消息时,若本地缓存条目中已经有对应的DNS响应时,增加该DNS请求的增强缓存条目;其中,
所述增强缓存条目包括解析并增强更新所述DNS响应的TTL的值。
本发明阐述了在本地无DNS缓存信息,无域名地址,则记录响应消息中的原始TTL值,并更新DNS响应消息的TTL字段,缓存更新后的DNS响应消息。并记录增强缓存条目,增强缓存条目包含的信息有:域名信息,请求者IP和原始的TTL值。
如附图7所示,本发明在本地已经存在缓存信息的情况下,还包括在缓存信息与DNS响应消息除TTL值外全部一致,无需处理;信息与DNS响应消息除TTL值外存在差异,则更新DNS响应缓存信息,调用缓存更新模块,DNS响应消息和DNS响应都属于DNS响应报文。在一个实施例中:本发明用于在DNS响应消息变化触发DNS缓存更新
本实施例结合图11详细说明TTL失效更新流程:
增强DNS服务器在增强DNS缓存条目的TTL超时前,比如在1/2的TTL时间时,向上级DNS服务器发送该缓存条目的DNS请求;
增强DNS服务器收到上级DNS的响应消息,将该DNS响应消息与缓存的DNS消息进行对比,判断除TTL之外的字段:
如果没有变化,则不作任何处理,用例结束。
如果内容发生变化,则使用DNS响应消息中的内容更新缓存条目(TTL除外)。
增强DNS服务器向获取增强DNS缓存条目中该域名对应的CPE IP列表,并向每个CPE发送DNS Cache Update消息。
CPE收到DNS Cache Update消息,更新缓存。
实施例4:
作为本发明的一种实施例,如附图11所示,本发明还包括:
在没有接收到上级DNS服务器的DNS响应报文时,主动或周期发送DNS CacheUpdate消息给DNS请求者;
在收到上级DNS服务器的DNS响应报文时,若所述DNS响应报文中的域名和IP地址的对应关系与本地DNS缓存不一致,发送DNS Cache Update消息给DNS请求者;其中,
所述DNS Cache Update消息的内容与DNS响应报文的格式一致。本发明根据更新后增强DNS服务的缓存条目,获取更新后的增强DNS服务器的缓存条目中域名对应的CPE IP列表,并向所述CPE代理服务器发送DNS Cache Update消息。DNS Cache Update消息内容与DNS响应报文的格式一致。本发明在在没有接收到上级DNS服务器的响应消息时,主动或者周期性发送DNS Cache Update消息给DNS请求者。
如附图8所示,原始TTL超时前,即,在所述增强DNS服务器在缓存更新所述TTL的时间内,向上级DNS服务器发送DNS请求消息。缓存更新模块获取域名对应的增强缓存条目,并对每个请求者发送DNS Cache Update消息,该DNS Cache Update消息的内容与缓存的DNS响应消息内容完全一致。
在所述CPE代理服务器收到DNS Cache Update消息,更新缓存;
由于DNS Cache Update消息可能由于各种原因丢失,而导致CPE未收到该更新消息而发生错误。因此,存在周期性同步或由于管理需要而强制进行DNS缓存更新的流程,更新流程如下:
增强DNS服务器获取增强DNS缓存条目中某域名所对应的CPE IP列表和DNS响应缓存信息,并向每个CPE发送DNS Cache Update消息。
CPE代理服务器收到DNS Cache Update消息,更新缓存。
在一个实施例中:本发明包含一种DNS响应消息强制更新流程;
由于DNS Cache Update消息可能由于各种原因丢失,而导致CPE未收到该更新消息而发生错误。因此,存在周期性同步或由于管理需要而强制进行DNS缓存更新的流程,更新流程如下:
增强DNS服务器获取增强DNS缓存条目中某域名所对应的CPE IP列表和DNS响应缓存信息,并向每个CPE发送DNS Cache Update消息;
CPE收到DNS Cache Update消息,更新缓存。
实施例5:
作为本发明的一种实施例,所述接收DNS请求消息,并转发至上级DNS服务器还包括:
判断本地是否存在域名的缓存条目,在本地是不存在域名的缓存条目时,转发至上级DNS服务器;其中,
所述缓存条目通过以下步骤获取:
步骤1:根据所述缓存条目和DNS请求消息,构建所述本地缓存条目和DNS请求消息的关联函数G:
Figure GDA0003649361580000141
其中,所述q表示所述缓存条目的内容集;所述N表示请求特征数量;所述L表示缓存条目中内容的类型数;所述A(b)表示距离函数,所述b表示所述DNS请求消息的请求特征;所述β表示域名参数;
步骤2:根据所述DNS请求消息,构建所述域名的存在性预测模型H:
Figure GDA0003649361580000142
其中,所述bi表示第i个所述DNS请求消息的请求特征;所述Bj表示第j个域名特征;
步骤3:根据所述关联函数和存在性预测模型,通过回归法进行计算,判断本地是否存在域名的缓存条目:
Figure GDA0003649361580000151
其中,所述G(qi)表示第l个所述缓存条目内容和DNS请求消息的关联值;所述
Figure GDA0003649361580000152
表示域名存在性结果的均值;
当F≥1时,表示本地存在域名的缓存条目;
当F<1时,表示本地不存在域名的缓存条目。
上述技术方案的原理和有益效果在于在于:本发明在判断本地,增强DNS服务器中是不是存在域名的缓存条目,即,是不是存在域名时,首先通过构建关联函数将DNS请求信息和缓存条目结合起来,然后单独根据DNS请求信息预测增强DNS服务器之内是不是存在域名,因此,本发明通过DNS请求信息基于域名特征,即现有技术中的域名特征来构建预测模型,在增强DNS服务器中预测是不是存在域名,最后通过线性回归算法,结合关联函数和存在性预测模型实现对增强DNS服务器是不是存在域名的缓存条目进行判断。
实施例6:
如附图2所示,一种优化域名访问的装置,包括:
响应模块:用于接收DNS请求消息,并转发至上级DNS服务器应;
DNS请求的是用户的请求,上级服务器是本地的上级服务器,在一个实施例中本发明的用户主机需要访问某域名网站(比如:www.baidu.com),由于本地没有对应域名的IP地址,用户主机会向CPE代理服务器发送DNS请求;而CPE代理服务器也没有用户需要的缓存条目,即,没有对应域名的IP地址;CPE代理服务器将DNS请求消息通过增强DNS服务器处理;在判断本地没有或有用户需要的缓存条目,进而确定获取域名的途径。如附图6所示,增强DNS缓存模块,即增强DNS服务器收到了DNS请求,如果DNS请求对应的条目存在,则更新增强缓存记录,把DNS请求者的IP增加到记录中,并使用缓存数据,返回DNS响应消息;如果缓存不存在,则向上级DNS服务器转发DNS请求消息。
接收模块:用于根接收上级DNS服务器的DNS响应报文,并根据所述DNS响应报文保存增强缓存条目,更新所述DNS响应报文的TTL参数;如附图10所示,本发明更新的缓存条目是增强DNS服务器的缓存条目信息,即本地的缓存条目,在更新之后,在请求者列表中增加增强DNS服务器中的IP地址。使用发送缓存的DNS响应消息向增强DNS服务器发送DNS响应消息;CPE代理服务器收到增强DNS服务器的DNS响应消息,缴存该消息,并转发给请求用户。
如附图9所示,根据所述DNS响应报文保存增强缓存条目,并更新所述的DNS响应报文的TTL参数;本发明中增强DNS服务器在接收到DNS响应时,还会解析TTL的值,比如:300S,更新TTL值为28800S(8小时),缓存更新后的响应消息。
转发模块:用于更新TTL参数后的DNS响应报文转发至请求用户。记录增强DNS缓存条目信息,这些信息包含:DNS请求域名、请求者第二CPE代理服务器的IP地址、TTL原始值信息,并把缓存的DNS响应消息发送给第一CPE代理服务器;代理服务器收到DNS响应时,缴存该消息,并转发给请求用户。
记录增强DNS缓存条目信息,这些信息包含:DNS请求域名、请求者第二CPE代理服务器的IP地址、TTL原始值信息,并把缓存的DNS响应消息发送给第一CPE代理服务器;代理服务器收到DNS响应时,缴存该消息,并转发给请求用户。
本发明的有益效果在于:本发明通过上级DNS服务器的响应消息,补充了域名地址。通过CPE的增强DNS服务,有效地降低了整系统的DNS请求和响应消息数量。当代理服务器的数量有数以千计时,可以成百倍地降低整系统的DNS消息的处理负荷,尤其是对于低处理能力的代理服务器作用重大,所有访问过的条目不再发送请求消息,直接能从本地找到域名,无需解决缓存失效的问题。同时提升了整个系统的DNS响应时间,可以从几十甚至上百ms(毫秒)缩短到几个ms(毫秒)以内。
实施例7:
作为本发明的一种实施例,所述接收模块还包括:
增强单元:用于增强缓存条目;其中,
所述增强后的缓存条目包括:DNS请求者的域名、DNS请求者IP地址,DNS响应报文中的TTL值。本发明是优化域名的方法,增强后的缓存条目中DNS请求的域名,即目标域名是本发明的目的域名,本发明中DNS请求者IP地址与DNS请求的域名相对应,TTL值决定了更新缓存的时间。
在本发明中:增强DNS服务器是用户在CPE代理服务器中的有一种功能;其中,
所述CPE代理服务器用于将所述DNS请求消息通过增强DNS服务器缓存更新,还用于将所述DNS响应转发至请求用户;代理服务器是客户的本地服务器,本地是否存在域名也需要CPE代理服务器决定。
CPE代理服务器包括第一CPE代理服务器和第二CPE代理服务器;其中,
所述第一CPE代理服务器用于在首次接收DNS请求时,连通增强上级DNS服务器;
所述第二CPE代理服务器用于再次接收DNS请求时,在本地获取目标域名。
第一CPE代理服务器和第二CPE代理服务器分别对接增强DNS服务器不存在域名的缓存条目,以及上级DNS服务器更新缓存条目后,存在域名的缓存条目两种情况。
上述技术方案的有益效果在于:将域名获取的情况进行划分,当代理服务器的数量有数以千计时,可以成百倍地降低整系统的DNS消息的处理负荷,尤其是对于低处理能力的代理服务器作用重大,所有访问过的条目不再发送请求消息,无需解决缓存失效的问题。
实施例8:
作为本发明的一种实施例,所述接收模块还包括:
解析单元:用于在收到DNS请求消息时,若本地缓存条目中已经对应的DNS响应时,增加该DNS请求的增强缓存条目;其中,
所述增强缓存条目包括解析并增强更新所述DNS响应的TTL的值。
本发明阐述了在本地无DNS缓存信息,则记录响应消息中的原始TTL值,并更新DNS响应消息的TTL字段,缓存更新后的DNS响应消息。并记录增强缓存条目,增强缓存条目包含的信息有:域名信息,请求者IP和原始的TTL值。
如附图7所示,本发明在本地已经存在缓存信息的情况下,还包括在缓存信息与DNS响应消息除TTL值外全部一致,无需处理;信息与DNS响应消息除TTL值外存在差异,则更新DNS响应缓存信息,调用缓存更新模块。
实施例9:
作为本发明的一种实施例,所述转发模块包括:
第一发送子单元:用于在没有接收到上级DNS服务器的响应消息时,主动或者周期发送DNS Cache Update消息给DNS请求者;
第二发送单元:用于在收到上级DNS服务器的响应消息时,DNS消息中的域名和IP地址的对应关系与本地DNS缓存不一致,发送DNS Cache Update消息给DNS请求者;其中,
所述DNS Cache Update消息内容与DNS响应报文的格式一致。
通过DNS响应更新所述增强DNS服务器的缓存条目;根据更新后的所述增强DNS服务器的缓存条目,获取更新后的增强DNS服务器的缓存条目中域名对应的CPE IP列表,并向所述CPE代理服务器发送DNS Cache Update消息。DNS Cache Update消息内容与DNS响应报文的格式一致。本发明在在没有接收到上级DNS服务器的响应消息时,主动或者周期性发送DNS Cache Update消息给DNS请求者。
如附图8所示,原始TTL超时前,即,在所述增强DNS服务器在缓存更新所述TTL的时间内,向上级DNS服务器发送DNS请求消息。缓存更新模块获取域名对应的增强缓存条目,并对每个请求者发送DNS Cache Update消息,该DNS Cache Update消息的内容与缓存的DNS响应消息内容完全一致。
根据更新后的所述增强DNS服务器的缓存条目,获取更新后的增强DNS服务器的缓存条目中域名对应的CPE IP列表,并向所述CPE代理服务器发送DNS Cache Update消息。
在所述CPE代理服务器收到DNS Cache Update消息,更新缓存;
由于DNS Cache Update消息可能由于各种原因丢失,而导致CPE未收到该更新消息而发生错误。因此,存在周期性同步或由于管理需要而强制进行DNS缓存更新的流程,更新流程如下:
增强DNS服务器获取增强DNS缓存条目中某域名所对应的CPE IP列表和DNS响应缓存信息,并向每个CPE发送DNS Cache Update消息。
实施例10:
作为本发明的一种实施例,所述响应模块还用于判断本地是否存在域名的缓存条目,在本地是不存在域名的缓存条目时,转发至上级DNS服务器;其中,
所述缓存条目通过以下步骤获取:
步骤1:根据所述缓存条目和DNS请求消息,构建所述本地缓存条目和DNS请求消息的关联函数G:
Figure GDA0003649361580000201
其中,所述q表示所述缓存条目的内容集;所述N表示请求特征数量;所述L表示缓存条目中内容的类型数;所述A(b)表示距离函数,所述b表示所述DNS请求消息的请求特征;所述β表示域名参数;
步骤2:根据所述DNS请求消息,构建所述域名的存在性预测模型H:
Figure GDA0003649361580000202
其中,所述bi表示第i个所述DNS请求消息的请求特征;所述Bj表示第j个域名特征;
步骤3:根据所述关联函数和存在性预测模型,通过回归法进行计算,判断本地是否存在域名的缓存条目:
Figure GDA0003649361580000211
其中,所述G(qi)表示第l个所述缓存条目内容和DNS请求消息的关联值;所述
Figure GDA0003649361580000212
表示域名存在性结果的均值;
当F≥1时,表示本地存在域名的缓存条目;
当F<1时,表示本地不存在域名的缓存条目。
上述技术方案的原理和有益效果在于在于:本发明在判断增强DNS服务器中是不是存在域名的缓存条目,即,是不是存在域名时,首先通过构建关联函数将DNS请求信息和缓存条目结合起来,然后单独根据DNS请求信息预测增强DNS服务器之内是不是存在域名,因此,本发明通过DNS请求信息基于域名特征,即现有技术中的域名特征来构建预测模型,在增强DNS服务器中预测是不是存在域名,最后通过线性回归算法,结合关联函数和存在性预测模型实现对增强DNS服务器是不是存在域名的缓存条目进行判断。
在一个实施例中:如图5所示。
本发明的的增强DNS缓存模块,即增强DNS服务,包括:缓存DNS响应消息,记录增强缓存条目。
本发明的增强缓存模块的DNS请求消息处理过程如图4所示。增强DNS缓存模块收到了DNS请求,如果DNS请求对应的条目存在,则更新增强缓存记录,把DNS请求者的IP增加到记录中,并使用缓存数据,返回DNS响应消息;如果缓存不存在,则向上级DNS服务器转发DNS请求消息。
本发明的增强缓存模块收到DNS响应消息的处理流程如图5所示:
如果本地无DNS缓存信息,则记录响应消息中的原始TTL值,并更新DNS响应消息的TTL字段,缓存更新后的DNS响应消息。并记录增强缓存条目,增强缓存条目包含的信息有:域名信息,请求者IP和原始的TTL值。
如果本地已经存在缓存信息,且缓存信息与DNS响应消息除TTL值外全部一致,无需处理。
如果本地已经存在缓存信息,且信息与DNS响应消息除TTL值外存在差异,则更新DNS响应缓存信息,调用缓存更新模块。
所述的缓存更新模块包括:原始TTL超时前,向上级DNS服务器发送DNS请求消息。缓存更新模块获取域名对应的增强缓存条目,并对每个请求者发送DNS Cache Update消息,该DNS Cache Update消息的内容与缓存的DNS响应消息内容完全一致,如图6所示为缓存更新模块处理过程。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (8)

1.一种优化域名访问的方法,其特征在于,包括:
用户主机向CPE代理服务器发送DNS请求消息,当CPE代理服务器中没有用户需要的缓存条目时,CPE代理服务器将DNS请求消息转发至上级增强DNS服务器,由增强DNS服务器从CEP代理服务器中接收的来自用户的DNS请求消息,并当增强DNS服务器本地没有缓存条目,增强DNS服务器转发所述DNS请求至上级DNS服务器;
基于所述增强DNS服务器接收所述上级DNS服务器的DNS响应报文,并根据所述DNS响应报文保存增强缓存条目,更新所述DNS响应报文的TTL参数,其中,增强DNS服务器是CPE代理服务器的一种功能;
将更新TTL参数后的DNS响应报文转发至请求用户;
增强DNS服务器转发所述DNS请求至上级DNS服务器还包括:
判断本地是否存在域名的缓存条目,在本地是不存在域名的缓存条目时,转发至上级DNS服务器;其中,
所述缓存条目通过以下步骤获取:
步骤1:根据所述缓存条目和DNS请求消息,构建所述本地缓存条目和DNS请求消息的关联函数G:
Figure FDA0003649361570000011
其中,所述q表示所述缓存条目的内容集;所述N表示请求特征数量;所述L表示缓存条目中内容的类型数;所述A(b)表示距离函数,所述b表示所述DNS请求消息的请求特征;所述β表示域名参数;
步骤2:根据所述DNS请求消息,构建所述域名的存在性预测模型H:
Figure FDA0003649361570000021
其中,所述bi表示第i个所述DNS请求消息的请求特征;所述Bj表示第j个域名特征;
步骤3:根据所述关联函数和存在性预测模型,通过回归法进行计算,判断本地是否存在域名的缓存条目:
Figure FDA0003649361570000022
其中,所述G(qi)表示第l个所述缓存条目内容和DNS请求消息的关联值;所述
Figure FDA0003649361570000023
表示域名存在性结果的均值;
当F≥1时,表示本地存在域名的缓存条目;
当F<1时,表示本地不存在域名的缓存条目。
2.根据权利要求1所述的一种优化域名访问的方法,其特征在于,所述增强后的缓存条目包括:DNS请求者的域名、DNS请求者IP地址,DNS响应报文中的TTL值。
3.根据权利要求1所述的一种优化域名访问的方法,其特征在于,所述方法还包括:
在收到DNS请求消息时,若本地缓存条目中已经有对应的DNS响应时,增加该DNS请求的缓存条目;其中,
所述缓存条目包括解析并增强更新后所述DNS响应报文的TTL的值。
4.根据权利要求1所述的一种优化域名访问的方法,其特征在于,所述方法还包括:
在没有接收到上级DNS服务器的DNS响应报文时,主动或周期发送DNS Cache Update消息给DNS请求者;
在收到上级DNS服务器的DNS响应报文时,若所述DNS响应报文中的域名和IP地址的对应关系与本地DNS缓存不一致,发送DNS Cache Update消息给DNS请求者;其中,
所述DNS Cache Update消息的内容与DNS响应报文的格式一致。
5.一种优化域名访问的装置,其特征在于,包括:
响应模块:用户主机向CPE代理服务器发送DNS请求消息,当CPE代理服务器中没有用户需要的缓存条目时,CPE代理服务器将DNS请求消息转发至上级增强DNS请求消息,由增强DNS服务器从CEP代理服务器中接收的来自用户的DNS请求消息,并当增强DNS服务器本地没有缓存条目,增强DNS服务器转发所述DNS请求至上级DNS服务器;
接收模块:基于所述增强DNS请求消息接收所述上级DNS服务器的DNS响应报文,并根据所述DNS响应报文保存增强缓存条目,更新所述DNS响应报文的TTL参数,其中,增强DNS服务器是CPE代理服务器的一种功能;
转发模块:用于将更新TTL参数后的DNS响应报文转发至请求用户;
所述响应模块,还包括:
判断本地是否存在域名的缓存条目,在本地是不存在域名的缓存条目时,转发至上级DNS服务器;其中,
所述缓存条目通过以下步骤获取:
步骤1:根据所述缓存条目和DNS请求消息,构建所述本地缓存条目和DNS请求消息的关联函数G:
Figure FDA0003649361570000041
其中,所述q表示所述缓存条目的内容集;所述N表示请求特征数量;所述L表示缓存条目中内容的类型数;所述A(b)表示距离函数,所述b表示所述DNS请求消息的请求特征;所述β表示域名参数;
步骤2:根据所述DNS请求消息,构建所述域名的存在性预测模型H:
Figure FDA0003649361570000042
其中,所述bi表示第i个所述DNS请求消息的请求特征;所述Bj表示第j个域名特征;
步骤3:根据所述关联函数和存在性预测模型,通过回归法进行计算,判断本地是否存在域名的缓存条目:
Figure FDA0003649361570000043
其中,所述G(qi)表示第l个所述缓存条目内容和DNS请求消息的关联值;所述
Figure FDA0003649361570000044
表示域名存在性结果的均值;
当F≥1时,表示本地存在域名的缓存条目;
当F<1时,表示本地不存在域名的缓存条目。
6.根据权利要求5所述的一种优化域名访问的装置,其特征在于,所述接收模块还包括:
增强单元:用于增强缓存条目;其中,
所述增强后的缓存条目包括:DNS请求者的域名、DNS请求者IP地址,DNS响应报文中的TTL值。
7.根据权利要求5所述的一种优化域名访问的装置,其特征在于,所述接收模块还包括:
解析单元:用于在收到DNS请求消息时,若本地缓存条目中已经有对应的DNS响应时,增加该DNS请求的缓存条目;其中,
所述缓存条目包括解析并增强更新后所述DNS响应报文的TTL的值。
8.根据权利要求5所述的一种优化域名访问的装置,其特征在于,所述转发模块包括:
第一发送子单元:用于在没有接收到上级DNS服务器的DNS响应报文时,主动或者周期发送DNS Cache Update消息给DNS请求者;
第二发送单元:用于在收到上级DNS服务器的DNS响应报文时,若所述DNS响应报文中的域名和IP地址的对应关系与本地DNS缓存不一致,发送DNS Cache Update消息给DNS请求者;其中,
所述DNS Cache Update消息的内容与DNS响应报文的格式一致。
CN202010626273.2A 2020-07-01 2020-07-01 一种优化域名访问的方法及装置 Active CN111901449B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010626273.2A CN111901449B (zh) 2020-07-01 2020-07-01 一种优化域名访问的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010626273.2A CN111901449B (zh) 2020-07-01 2020-07-01 一种优化域名访问的方法及装置

Publications (2)

Publication Number Publication Date
CN111901449A CN111901449A (zh) 2020-11-06
CN111901449B true CN111901449B (zh) 2022-07-22

Family

ID=73192865

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010626273.2A Active CN111901449B (zh) 2020-07-01 2020-07-01 一种优化域名访问的方法及装置

Country Status (1)

Country Link
CN (1) CN111901449B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338604B (zh) * 2021-12-31 2024-04-12 北京奇艺世纪科技有限公司 一种dns配置更新方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1863143A (zh) * 2005-08-09 2006-11-15 华为技术有限公司 一种实现Web Server访问的方法、系统和装置
CN103380607A (zh) * 2011-12-08 2013-10-30 华为技术有限公司 Dns客户端地址、rr ttl更新的方法、装置及系统
WO2014039656A2 (en) * 2012-09-06 2014-03-13 Amazon Technologies, Inc. Risk aware domain name service
CN103905576A (zh) * 2012-12-28 2014-07-02 华为技术有限公司 本地存活的增强方法及终端
CN105472057A (zh) * 2015-11-23 2016-04-06 中国石油天然气股份有限公司华北油田分公司 一种针对dns中不存在域名查询的处理方法
CN106331212A (zh) * 2016-08-25 2017-01-11 北京润通丰华科技有限公司 一种基于dns缓存驻留的域名解析方法及系统
CN107070988A (zh) * 2017-03-06 2017-08-18 北京安博通科技股份有限公司 报文处理方法及装置
CN109040328A (zh) * 2017-06-12 2018-12-18 中兴通讯股份有限公司 请求发送方法及装置、家庭网关、存储介质、处理器
CN109309673A (zh) * 2018-09-18 2019-02-05 南京方恒信息技术有限公司 一种基于神经网络的dns隐蔽信道检测方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040215665A1 (en) * 2002-01-09 2004-10-28 Edgar David A. System, method, and computer program product for providing accelerated and secure wireless data transmission over the internet
US10742591B2 (en) * 2011-07-06 2020-08-11 Akamai Technologies Inc. System for domain reputation scoring

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1863143A (zh) * 2005-08-09 2006-11-15 华为技术有限公司 一种实现Web Server访问的方法、系统和装置
CN103380607A (zh) * 2011-12-08 2013-10-30 华为技术有限公司 Dns客户端地址、rr ttl更新的方法、装置及系统
WO2014039656A2 (en) * 2012-09-06 2014-03-13 Amazon Technologies, Inc. Risk aware domain name service
CN103905576A (zh) * 2012-12-28 2014-07-02 华为技术有限公司 本地存活的增强方法及终端
CN105472057A (zh) * 2015-11-23 2016-04-06 中国石油天然气股份有限公司华北油田分公司 一种针对dns中不存在域名查询的处理方法
CN106331212A (zh) * 2016-08-25 2017-01-11 北京润通丰华科技有限公司 一种基于dns缓存驻留的域名解析方法及系统
CN107070988A (zh) * 2017-03-06 2017-08-18 北京安博通科技股份有限公司 报文处理方法及装置
CN109040328A (zh) * 2017-06-12 2018-12-18 中兴通讯股份有限公司 请求发送方法及装置、家庭网关、存储介质、处理器
CN109309673A (zh) * 2018-09-18 2019-02-05 南京方恒信息技术有限公司 一种基于神经网络的dns隐蔽信道检测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Detailed Investigation and Analysis of Using Machine Learning Techniques for Intrusion Detection;Preeti Mishra;《IEEE》;20180615;全文 *
面向映射系统的关键技术研究;宋海瑞;《中国优秀硕士学位论文全文数据库》;20131130(第11期);全文 *

Also Published As

Publication number Publication date
CN111901449A (zh) 2020-11-06

Similar Documents

Publication Publication Date Title
US11909639B2 (en) Request routing based on class
US11811657B2 (en) Updating routing information based on client location
EP3567881B1 (en) Request routing and updating routing information utilizing client location information
JP2001524778A (ja) エンハンスドドメインネームサービス
CN108632397B (zh) 对网络连接的控制方法和系统
CN111901449B (zh) 一种优化域名访问的方法及装置
CN113055503B (zh) IPv6网页链接处理方法、装置、设备及可读存储介质
US20090106387A1 (en) Cidr based caching at application layer
CN118018516A (zh) 一种域名映射获取方法、获取装置以及域名解析系统
CN117478635A (zh) 一种dns预缓存防止错误缓存的系统及方法
CN112929429A (zh) 请求处理方法、装置和设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant