CN110830606A - 解决异常dns缓存的方法、装置及计算机可读存储介质 - Google Patents
解决异常dns缓存的方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110830606A CN110830606A CN201911055983.8A CN201911055983A CN110830606A CN 110830606 A CN110830606 A CN 110830606A CN 201911055983 A CN201911055983 A CN 201911055983A CN 110830606 A CN110830606 A CN 110830606A
- Authority
- CN
- China
- Prior art keywords
- dns
- address
- cache
- terminal
- website
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
Abstract
本发明提供解决异常DNS缓存的方法、装置及计算机可读存储介质,该方法包括:基于缓存表中网站域名对应的IP地址,访问所述IP地址对应的网站服务器失败时,重构DNS应答报文;向本地局域网内终端/DNS服务器发送所述DNS应答报文,以指示所述网站域名与所述IP地址之间的对应关系异常。由此,局域网内的终端接收到其它终端通告的域名、IP地址对应关系异常指示后,能够根据该指示及时更新相应的对应关系,从而能够解决当网站服务器发生故障时,保存了故障网站服务器地址的用户终端将不能正常访问网站服务器,要等待DNS缓存时间刷新后重新解析域名才能正常使用,在这段时间内用户无法上网的问题。
Description
技术领域
本发明涉及DNS技术领域,具体涉及解决异常DNS缓存的方法、装置及计算机可读存储介质。
背景技术
DNS(Domain Name System,域名系统)提供域名到IP地址的转换,即将URL(Uniform Resource Locator,统一资源定位符)域名解析为IP地址。用户终端在访问网络时只需输入对应网络的域名,不用输入IP地址,方便用户记忆。
考虑到负载容量和容灾需要,现有的网络中大部分服务器会部署多个网站服务器用于备份和负载均衡,这多个网站服务器共用一个域名,但有其各自的IP地址。用户终端向DNS服务器发送DNS请求报文,DNS服务器通过算法将多个网站服务器中的一个网站服务器对应的IP地址封装到DNS应答报文中,回复给用户终端,用户终端根据上述DNS应答报文生成一个DNS缓存表,缓存表中保存上述IP地址,在缓存表的有效期内,用户终端访问网络时不需要重复发送DNS请求报文。
这种方式在一定程度上可以减轻DNS服务器的处理负担,但若是缓存表中的IP地址对应的网站服务器产生故障,保存了故障网站服务器地址的用户终端将不能正常访问网站服务器,要等待DNS缓存时间刷新后重新解析域名才能正常使用,在这段时间内用户无法上网,异常时间取决于用户终端的缓存周期。
发明内容
本申请提供解决异常DNS缓存的方法、装置及计算机可读存储介质,用以解决当网站服务器发生故障时,保存了故障网站服务器地址的用户终端将不能正常访问网站服务器,要等待DNS缓存时间刷新后重新解析域名才能正常使用,在这段时间内用户无法上网的问题。
第一方面,本申请提供一种解决异常DNS缓存的方法,该方法包括:
基于缓存表中网站域名对应的IP地址,访问所述IP地址对应的网站服务器失败时,重构DNS应答报文;
向本地局域网内终端/DNS服务器发送所述DNS应答报文,以指示所述网站域名与所述IP地址之间的对应关系异常。
可选地,向本地局域网内终端发送的所述DNS应答报文中携带对所述对应关系的缓存时间变更信息的第二指示项。
可选地,所述第二指示项用于指示收到所述DNS应答报文的其它终端将自己缓存表的所述对应关系的缓存时间缩短指定比例或将所述对应关系清除。
可选地,所述第二指示项用于指示收到所述DNS应答报文的其它终端将自己缓存表的所述对应关系的缓存时间缩短当前缓存时间的指定比例;在发送重构的DNS应答报文后,还包括:
向DNS服务器发送域名解析请求;
获取所述DNS服务器重新分配的所述网站域名对应的IP地址,利用重新分配的IP地址访问对应的网站服务器;
根据访问结果确定所述对应关系异常时,再次重构携带第二指示项的DNS应答报文,所述第二指示项用于指示将所述对应关系清除;
向本地局域网内终端发送所述再次重构的DNS应答报文。
可选地,根据访问结果确定所述对应关系异常,包括:
确定访问失败且重新分配的所述IP地址与所述对应关系中的IP地址一致,或者访问成功且确定重新分配的IP地址与所述对应关系中的IP地址不一致时,确定所述对应关系异常。
可选地,重构DNS应答报文,包括:
在标准DNS应答报文的标志字段中设置查询种类信息项的预留位,写入所述第一指示项/第三指示项的信息;
在标准DNS应答报文的回答区域字段中生存周期TTL字段信息项,写入所述第二指示项;
其中,向本地局域网内终端发送的所述DNS应答报文中携带指示向终端通告异常的所述第一指示项的信息;向DNS服务器发送的所述DNS应答报文中携带指示向DNS服务器通告异常的所述第三指示项的信息。
第二方面,本申请提供一种解决异常DNS缓存的方法,该方法包括:
接收终端发送的DNS应答报文;
根据所述DNS应答报文的指示,确定缓存表中网站域名与对应的IP地址之间的对应关系异常。
可选地,该方法应用于终端,确定缓存表中网站域名与对应的IP地址之间的对应关系异常时,还包括:
根据所述DNS应答报文携带对所述对应关系的缓存时间变更信息的第二指示项,确定缓存时间变更信息;
按照确定的缓存时间变更信息变更所述对应关系所在缓存表的缓存时间。
可选地,变更所述对应关系所在缓存表的缓存时间,包括:
根据所述第二指示项,将缓存表中所述对应关系的缓存时间缩短指定比例或将所述对应关系清除。
可选地,根据所述第二指示项将缓存表中所述对应关系的缓存时间缩短指定比例后,还包括:
接收本地局域网内终端发送的再次重构的携带指示将所述对应关系清除的第二指示项的DNS应答报文,将缓存表中的所述对应关系清除。
可选地,所述DNS应答报文中包括在标准DNS应答报文的标志字段中设置查询种类信息项的预留位,写入的指示向终端通告异常的第一指示项,及在标准DNS应答报文的回答区域字段中生存周期TTL字段信息项,写入的所述第二指示项。
可选地,该方法应用于DNS服务器,确定所述网站域名与所述IP地址之间的对应关系异常时,还确定所述网站服务器异常,标识所述网站服务器的状态为不信任状态,包括:
标识所述IP地址对应的网站服务器为信任状态;
探测所述网站服务器是否异常,若是,标识所述网站服务器的状态为不信任状态,否则,标识所述网站服务器的状态为永远信任状态。
可选地,所述DNS应答报文中包括在标准DNS应答报文的标志字段中设置查询种类信息项的预留位,写入的指示向DNS服务器通告异常的第三指示项。
第三方面,本申请提供一种解决异常DNS缓存的装置,包括:至少一个处理单元和至少一个存储单元;
其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行下列过程:
基于缓存表中网站域名对应的IP地址,访问所述IP地址对应的网站服务器失败时,重构DNS应答报文;
向本地局域网内终端/DNS服务器发送所述DNS应答报文,以指示所述网站域名与所述IP地址之间的对应关系异常。
第四方面,本申请提供一种解决异常DNS缓存的装置,包括:至少一个处理单元和至少一个存储单元;
其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行下列过程:
接收终端发送的DNS应答报文;
根据所述DNS应答报文的指示,确定缓存表中网站域名与对应的IP地址之间的对应关系异常。
第五方面,本申请还提供一种计算机存储介质,其上存储有计算机程序,该程序被处理单元执行时实现第一和二方面所述方法的步骤。
另外,第二方面至第五方面中任一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
利用本发明提供的解决异常DNS缓存的方法、装置及计算机可读存储介质,具有以下有益效果:
本发明提供的解决异常DNS缓存的方法、装置及计算机可读存储介质,可以在网站服务器发生故障时,通过重构DNS应答报文,向本地局域网内终端/DNS服务器发送所述DNS应答报文,以指示所述网站域名与所述IP地址之间的对应关系异常,并通过将终端缓存表中对应关系的缓存时间缩短指定比例或将所述对应关系清除,以缩短终端访问异常网站服务器的时间,并且可以在DNS服务器上增加对所述异常网站服务器的信任状态表,避免DNS服务器将异常网站服务器的IP地址解析给终端。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种DNS协议报文格式示意图;
图2为本发明实施例提供的一种DNS协议报文中Flags标志字段的具体结构示意图;
图3为本发明实施例提供的一种DNS协议报文中Answers回答区域字段结构示意图;
图4为本发明实施例提供的一种解决异常DNS缓存的方法示意图;
图5为本发明实施例提供的一种解析DNS缓存的装置示意图;
图6为本发明实施例提供的一种解决异常DNS缓存的方法示意图;
图7为本发明实施例提供的一种重构DNS协议报文中Answers回答区域字段结构示意图;
图8为本发明实施例提供的一种解决异常DNS缓存的方法示意图;
图9为本发明实施例提供的一种重构DNS协议报文中Answers回答区域字段结构示意图;
图10为本发明实施例提供的一种解决异常DNS缓存的方法示意图;
图11为本发明实施例提供的一种解决异常DNS缓存的方法示意图;
图12为本发明实施例提供的一种解决异常DNS缓存的结构示意图;
图13为本发明实施例提供的一种解决异常DNS缓存的装置示意图;
图14为本发明实施例提供的一种解决异常DNS缓存的装置示意图;
图15为本发明实施例提供的一种解决异常DNS缓存的装置示意图;
图16为本发明实施例提供的一种解决异常DNS缓存的装置示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本发明实施例描述的应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。其中,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
DNS技术可以将网站域名解析成IP地址,终端在访问网络时,只需要输入对应网络的域名就可以访问网络。终端通过缓存表中DNS服务器解析网站域名得到的网站服务器对应的IP地址,访问对应的网站服务器,如果该网站服务器产生故障,终端将不能正常访问网站服务器,要等待到达缓存表时间时更新缓存表,访问该网站域名下的新的网站服务器,在这段时间内由于网站服务器异常用户无法上网。
终端缓存表中的缓存时间为零时,向DNS服务器发送DNS请求报文,DNS服务器重新分配网站服务器,通过DNS应答报文将重新分配的网站服务器的IP地址发送给终端。
上述DNS请求报文和DNS应答报文均为DNS协议报文,目前DNS使用用户数据报协议(User Datagram Protocol,UDP)目的端口号53进行DNS协议报文传输,DNS协议报文格式如图1所示,图中0-31表示DNS协议报文中各标志字段所占的比特数。
DNS协议报文中Flags标志字段的具体结构如图2所示,该标志字段中OR为1个比特,若OR为1则表示所述DNS协议报文是标准DNS应答报文,若OR为0则表示所述DNS协议报文是标准DNS请求报文;
OPCODE为4个比特,用来设置所述DNS协议报文查询的种类,在DNS应答请求报文时会携带相同的值,其中,0表示标准查询,1表示反向查询,2表示服务器状态查询,3-15保留暂时未使用。
Answers回答区域字段结构如图3所示,其中Name域名表示该DNS协议报文为标准DNS应答报文或标准DNS请求报文时携带的域名;Type类型为2个字节,表示资源记录的类型;Class查询类为2个字节,表示RDATA的类型;Time to live(TTL)字段为4个字节无符号整数,表示缓存表可以缓存的时间,其中0代表只能被传输,但是不能被缓存,TTL字段可以指示终端缓存表的缓存时间;资源数据长度Data Length:表示Data的字节大小;Data表示标准DNS应答报文中携带终端访问域名对应的IP地址。
鉴于上述问题,本申请基于目前标准DNS协议报文,提供解决异常DNS缓存的方法,终端通过缓存表中网站域名对应的IP地址访问对应的网站服务器失败时,重构DNS应答报文,并向本地局域网内终端/DNS服务器发送所述DNS应答报文,以指示网站域名与IP地址之间的对应关系异常,这样,局域网内的终端收到指示后,可以缩短所述缓存表的所述对应关系的缓存时间/所述DNS服务器确定所述网站服务器是否异常,进而解决现有技术中终端要等待缓存表再次更新后,才能重新解析域名的问题。
如图4所示,本申请提供的一种解决异常DNS缓存的方法,包括:
步骤S401,基于缓存表中网站域名对应的IP地址,访问所述IP地址对应的网站服务器失败时,重构DNS应答报文;
如前所述,在标准DNS应答报文的标志字段中设置查询种类信息项OPCODE,具有3~15的预留位,向本地局域网内终端发送的所述DNS应答报文中通过该预留位写入指示向终端通告异常的所述第一指示项的信息,向DNS服务器发送的所述DNS应答报文中指示向DNS服务器通告异常的所述第三指示项的信息;
在标准DNS应答报文的Answer回答区域字段中生存周期TTL字段信息项,写入对所述对应关系的缓存时间变更信息的第二指示项。
相对于上述标准DNS应答报文,重构的DNS应答报文中携带上述第一指示项,作为一种可选的实施方式,重构的应答报文将Flags字段中OPCODE字段的3-15中任意一项作为第一指示项,具体将任意一项设置为终端状态变更,用于指示所述DNS应答报文向本地局域网内终端发送,指示所述对应关系异常。
作为一种可选地实施方式,向本地局域网内终端发送的DNS应答报文中,还携带上述第二指示项,具体将Answer回答区域字段中的TTL字段作为第二指示项,设置为当TTL字段取0时,指示终端将缓存表中所述对应关系的缓存时间缩短的指定比例为零,也即执行将所述对应关系清除动作,当TTL字段取1时,指示终端将缓存表中当前剩余的缓存时间缩短指定比例,其中,当TTL字段取1时,所述指定比例为大于零的比例。在本申请实施例中,指定比例可以但不限于为1/2,当然也可以为1/3、1/4或者其他数值。
向本地局域网内终端发送重构的DNS应答报文时,包括变更以太网头部信息,具体将源MAC地址(Source Media Access Control Address,SMAC)设置为终端自身MAC地址,目的MAC地址填充为广播MAC:FF:FF:FF:FF。
向DNS服务器发送的重构DNS应答报文中,携带指示向DNS服务器通告异常的所述第三指示项的信息,作为一种可选地实施方式,将Flags标志字段中OPCODE字段的3-15中除作为第一指示项外的任意一项作为第三指示项;
步骤S402,向本地局域网内终端/DNS服务器发送所述DNS应答报文,以指示所述网站域名与所述IP地址之间的对应关系异常。
作为一种可选地实施方式,向本地局域网内终端发送DNS应答报文,DNS应答报文中携带指示向终端通告异常的所述第一指示项的信息和对所述对应关系的缓存时间变更信息的第二指示项,以指示终端变更缓存表缓存时间,其中指示本地局域网内终端变更缓存表缓存时间,包括指示终端将缓存表的缓存时间缩短指定比例或将所述对应关系清除。
其中,本地局域网内其他终端根据接收到重构的DNS应答报文中的网站域名和对应的IP地址,与终端缓存表内的网站域名和对应的IP地址进行对比,若终端缓存表内的网站域名和对应的IP地址与重构的DNS应答报文中的网站域名和对应的IP地址一致时,变更缓存表缓存时间,否则不做处理。
上述本地局域网内其他终端为本地局域网内未访问网站服务器出现异常的终端。
进一步地,在本地局域网内,任一终端基于缓存表中网站域名对应的IP地址,通过该IP地址访问对应的网站服务器失败时,重构DNS应答报文的终端将缓存表的对应关系清除后,向DNS服务器发送域名解析请求;
所述DNS服务器接收到上述域名解析请求后,重新分配网站服务器的IP地址发送给终端;
根据重新分配网站服务器的IP地址重新访问所述网站,若根据访问结果确定所述缓存表中的IP地址对应的网站服务器异常时,再次重构携带第一指示项和第二指示项的DNS应答报文,所述第二指示项用于指示终端将缓存表中所述对应关系清除;
向本地局域网内终端发送所述再次重构的DNS应答报文;
所述再次重构的DNS应答报文指示本地局域网内终端将缓存表中所述对应关系清除。
所述访问结果异常,包括确定访问失败且重新分配的IP地址与所述缓存表中的IP地址一致,或者访问成功且确定重新分配的IP地址与所述缓存表中的IP地址不一致时,确定网站域名与IP地址之间的对应关系异常。
作为另一种可选的实施方式,向DNS服务器发送所述DNS应答报文,以指示所述DNS服务器确定所述网站服务器是否异常。下面结合具体实施例详细介绍上述两种方式。
实施例一
本申请提出的一种解决异常DNS缓存的方法,应用于本地局域网内的任一终端,如图6所示,包括:
步骤S601,基于缓存表中网站域名对应的IP地址,访问所述IP地址对应的网站服务器失败时,重构DNS应答报文;
所述重构DNS应答报文,携带指示向终端通告异常的第一指示项的信息及缓存时间变更的第二指示项的信息;
所述重构的应答报文将Flags标志字段中OPCODE字段的预留位3作为所述第一指示项,具体将所述预留位3设置为终端状态变更项,并将Answer回答区域字段中的TTL字段作为第二指示项,设置TTL字段为0,重构后的Answers回答区域字段结构如图7所示。
步骤S602,向本地局域网内终端发送DNS应答报文,收到DNS应答报文的终端确定缓存表中网站域名对应的IP地址与所述DNS应答报文中携带的网站域名对应的IP地址是否一致;
在本步骤中,将重构后的DNS应答报文广播给本地局域网内的终端,本地局域网内终端根据接收到重构的DNS应答报文中的网站域名和对应的IP地址,与终端缓存表内的网站域名和对应的IP地址进行对比,确定本地缓存表中网站域名对应的IP地址与所述DNS应答报文中携带的网站域名对应的IP地址是否一致;
说明一点,发送DNS应答报文的终端自身,除了指示其他终端进行时间变更,自身也需要根据TTL字段的指示将缓存表中的所述对应关系清除,或者,访问所述IP地址对应的网站服务器失败时直接删除所述对应关系,之后收到自身发送的DNS应答报文后不再作响应。
步骤S603,确定一致的终端根据DNS应答报文中的第二指示项将缓存表中对应关系清除。
若其他终端确定缓存表内的网站域名和对应的IP地址与重构的DNS应答报文中的网站域名和对应的IP地址一致时,该终端将缓存表中所述对应关系清除,否则不做处理。
下面结合具体的示例对上述一种解决异常DNS缓存的方法进行详细介绍。
如图5所示,网站A部署有两个网站服务器,分别为网站服务器501和网站服务器502,当然网站A中也可以部署更多的网站服务器,局域网M和局域网N中有6个终端503~508同时访问网站A,其中503~505属于局域网M,506~508属于局域网N,经过DNS服务器509域名解析后,终端503、504、506和507从DNS服务器得到的网站A的IP地址为网站服务器501的IP地址,终端505和508从DNS服务器得到的网站A的IP地址为网站服务器502的IP地址。各终端上存储对应的DNS缓存表如表1所示,表1仅示出各终端DNS缓存表中域名、IP地址和缓存时间对应的表项,其他项均未示出;
表1
其中,各终端缓存表内的缓存时间均不相同,终端503、504、506和507缓存表中缓存网站A对应的域名,及网站服务器501对应的IP地址,终端503、504、506和507的缓存时间分别为U、V、X和Y;终端505和508缓存表中缓存网站A对应的域名,及网站服务器502对应的IP地址,终端505和508的缓存时间分别为W和Z。
若网站A中的网站服务器501发生故障,此时终端503和506通过缓存表中网站域名对应的IP地址访问对应的网站服务器失败,终端503和506同时重构DNS应答报文,所述重构的应答报文将Flags标志字段中OPCODE字段3作为所述第一指示项,具体设置为终端状态变更项,并将Answer应答区域字段中的TTL字段作为第二指示项,设置TTL字段为0。
将重构后的DNS应答报文广播给本地局域网内的其他终端。
可选地,本实施例中,终端503向本局域网M内的终端504和505广播重构后的DNS应答报文,终端504和505根据接收到所述重构的DNS应答报文中的网站域名和对应的IP地址,与终端缓存表内的网站域名和对应的IP地址进行对比。
终端505检测到所述缓存表内网站服务器IP地址与DNS应答报文中网站服务器IP地址不同,不做动作;终端504检测到所述缓存表内网站服务器IP地址与DNS应答报文中网站服务器IP地址相同,根据重构后的DNS应答报文中第二指示项,将缓存表中所述对应关系清除,也即将缓存时间置为0。
同理,局域网N中的终端接收到所述DNS应答报文后根据上述方法变更所述缓存表的缓存时间,此时各终端上存储对应的DNS缓存表如表2所示:
表2
终端 | 域名 | IP地址 | 缓存时间TTL字段 |
503 | 网站A对应的域名 | 服务器501 | 0 |
504 | 网站A对应的域名 | 服务器501 | 0 |
505 | 网站A对应的域名 | 服务器502 | W |
506 | 网站A对应的域名 | 服务器501 | 0 |
507 | 网站A对应的域名 | 服务器501 | 0 |
508 | 网站A对应的域名 | 服务器502 | Z |
实施例二
本申请提出的一种解决异常DNS缓存的方法,应用于本地局域网内的任一终端,如图8所示,包括:
步骤S801,基于缓存表中网站域名对应的IP地址,访问所述IP地址对应的网站服务器失败时,重构DNS应答报文;
所述重构DNS应答报文,携带指示向终端通告异常的第一指示项的信息及缓存时间变更的第二指示项的信息;
所述重构的应答报文将Flags标志字段中OPCODE字段的预留位3作为所述第一指示项,具体将所述预留位3设置为终端状态变更项,并将Answer回答区域字段中的TTL字段作为第二指示项,设置TTL字段为1,即指示将所述缓存表的所述对应关系的缓存时间缩短为当前的1/2,重构后的Answers回答区域字段结构如图9所示。
步骤S802,向本地局域网内终端发送DNS应答报文,收到DNS应答报文的终端确定缓存表中网站域名对应的IP地址与所述DNS应答报文中携带的网站域名对应的IP地址是否一致;
在本步骤中,将重构后的DNS应答报文广播给本地局域网内的终端,本地局域网内终端根据接收到重构的DNS应答报文中的网站域名和对应的IP地址,与终端缓存表内的网站域名和对应的IP地址进行对比,确定本地缓存表中网站域名对应的IP地址与所述DNS应答报文中携带的网站域名对应的IP地址是否一致;
收到DNS应答报文的其它终端,将所述缓存表的所述对应关系的缓存时间缩短为当前的指定比例,发送DNS应答报文的终端将所述对应关系清除。
步骤S803,确定缓存表中网站域名对应的IP地址与所述DNS应答报文中携带的IP地址一致的终端,将所述缓存表的所述对应关系的缓存时间缩短为当前的1/2;
若终端缓存表内的网站域名和对应的IP地址与重构的DNS应答报文中的网站域名和对应的IP地址一致时,指示所述缓存表的所述对应关系的缓存时间缩短为当前的1/2,否则不做处理。
下面结合具体实施例一中表1的示例对上述一种解决异常DNS缓存的方法进行详细介绍。
若网站A中的网站服务器501发生故障,此时终端503和506通过缓存表中网站域名对应的IP地址对应的网站服务器链接网站失败,终端503和506同时重构DNS应答报文,所述重构的应答报文将Flags标志字段中OPCODE字段的3作为所述第一指示项,具体设置为终端状态变更项,并将Answer应答区域字段中的TTL字段作为第二指示项,设置TTL字段为1。
将重构后的DNS应答报文广播给本地局域网内的终端。
本实施例中,终端503向本局域网M内的终端504和505广播重构后的DNS应答报文,终端504和505根据接收到所述重构的DNS应答报文中的网站域名和对应的IP地址,与终端缓存表内的网站域名和对应的IP地址进行对比。
终端505检测到所述缓存表中网站域名对应的IP地址与DNS应答报文中网站域名和对应的IP地址不同,不做动作;终端504检测到所述缓存表中网站域名对应的IP地址与DNS应答报文中网站域名和对应的IP地址相同,根据重构后的DNS应答报文中第二指示项,将所述缓存表的所述对应关系的缓存时间缩短为当前的1/2。
同理,局域网N中的终端接收到所述DNS应答报文后根据上述方法将所述缓存表的所述对应关系的缓存时间缩短为当前的指定比例,此时各终端上存储对应的DNS缓存表如表3所示:
表3
其中,终端503和506重构DNS应答报文,直接将对应关系清除,也即将缓存时间置零,终端504和507将所述缓存表的所述对应关系的缓存时间缩短为当前的1/2,这样既可以缩短终端无法上网的时间,同时避免终端503或506误报。
本地局域网内终端在接收到多条重构的DNS应答报文时,按照上述方法缩短缓存表内的缓存时间,该局域网内通过IP地址对应的网站服务器访问失败的终端数越多,本地局域网的终端缓存表内的缓存时间越短。
实施例三
本申请提出的一种解决异常DNS缓存的方法,应用于本地局域网内的任一终端,如图10所示,包括:
步骤S1001,基于缓存表中网站域名对应的IP地址,访问所述IP地址对应的网站服务器失败时,重构DNS应答报文;
若本地局域网内终端基于缓存表中网站域名对应的IP地址访问对应的网站服务器失败时,认为所述网站服务器异常,此时所述终端重构DNS应答报文,并携带向终端通告异常的第一指示项的信息及DNS缓存时间变更信息的第二指示项的信息;
所述重构的应答报文将Flags标志字段中OPCODE字段的预留位3作为所述第一指示项,具体将所述预留位3设置为终端状态变更项,并将Answer回答区域字段中的TTL字段作为第二指示项,设置TTL字段为1,即指示收到重构DNS应答报文的终端将所述缓存表的所述对应关系的缓存时间缩短为当前的1/2;
将终端DNS缓存表内所述网站域名与IP地址对应关系标记为异常表项。
步骤S1002,将终端缓存表中对应关系清除,并向本地局域网内其他终端发送所述DNS应答报文,以指示收到重构DNS应答报文的其他终端将所述缓存表的所述对应关系的缓存时间缩短为当前的1/2;
收到重构DNS应答报文的其他终端,根据接收到所述重构的DNS应答报文中的网站域名和对应的IP地址,与终端缓存表内的网站域名和对应的IP地址进行对比,若检测到所述缓存表内网站域名和对应的IP地址与DNS应答报文中网站域名对应的IP地址不同,则不做动作;若检测到所述缓存表内网站域名和对应的IP地址与DNS应答报文中网站域名对应的IP地址相同,根据重构后的DNS应答报文中第二指示项,将所述缓存表的所述对应关系的缓存时间缩短为当前的1/2;
步骤S1003,发送重构DNS应答报文的终端向DNS服务器发送对所述网站域名的域名解析DNS请求;
步骤S1004,发送域名解析请求的终端获取DNS服务器再次解析网站域名得到的网站服务器对应的IP地址,确定所述IP地址与缓存表内IP地址相同时,执行步骤S1005,否则执行步骤S1006;
DNS服务器接收到所述域名解析DNS请求后,进行域名解析响应,得到所述网站域名对应的IP地址,将其携带在标准的DNS应答报文中发送给所述终端;
说明一点,在本步骤中,域名解析响应得到的IP地址可能是发送DNS请求的终端缓存表中存储的网站服务器的IP地址,也可能是为网站所部署的其它网站服务器的IP地址,具体的解析过程可以是现有的任意域名解析技术,在此不再赘述。
步骤S1005,利用分配的IP地址再次访问网站服务器,若访问对应的网站服务器失败,执行步骤S1007,若访问成功,说明存在误报,则不作处理,结束流程;
确定访问失败且IP地址与所述缓存表中的IP地址一致时,确定所述缓存表中网站域名与IP地址之间的对应关系异常,说明重构的DNS应答报文没有误报;
确定访问成功且IP地址与所述缓存表中的IP地址一致时,确定所述缓存表中网站域名与IP地址之间的对应关系正常,此时认为终端发送的重构DNS应答报文为终端误报。
步骤S1006,利用重新分配的IP地址访问对应的网站服务器,若访问成功执行步骤S1007,否则结束;
在本步骤中,若访问成功且确定重新分配的IP地址与所述缓存表中的IP地址不一致时,确定所述缓存表中的IP地址对应的网站服务器异常;若访问失败且确定重新分配的IP地址与所述缓存表中的IP地址不一致时,等到达缓存表更新时间再次请求重新分配网站服务器的IP地址;
步骤S1007,再次重构携带第一指示项和第二指示项的DNS应答报文,所述第二指示项用于指示终端将缓存表中对应关系清除;
在本步骤中,若确定访问失败且IP地址与所述缓存表中的IP地址一致时,或者,若确定访问成功且IP地址与所述缓存表中的IP地址不一致时,确定所述缓存表中网站域名与所述IP地址之间的对应关系异常,则终端再次重构携带第一指示项和第二指示项的DNS应答报文,且该DNS应答报文中,将TTL字段置零。
步骤S1008,向本地局域网内终端发送所述再次重构的DNS应答报文。
接收到再次重构的DNS应答报文的本地局域网内终端,根据所述再次重构的DNS应答报文中的网站域名和对应的IP地址,与终端缓存表内网站域名和对应的IP地址进行对比,若检测到所述缓存表内网站域名和对应的IP地址与DNS应答报文中网站域名和对应的IP地址不同,则不做动作;若检测到所述缓存表内网站域名和对应的IP地址与DNS应答报文中网站域名和对应的IP地址相同,根据重构后的DNS应答报文中第二指示项,将缓存表中对应关系清除。
实施例四
本申请提出的一种解决异常DNS缓存的方法,应用于DNS服务器,如图11所示,还包括:
步骤S1101,基于缓存表中网站域名对应的IP地址,访问所述IP地址对应的网站服务器失败时,重构DNS应答报文并发送给DNS服务器;
步骤S1102,DNS服务器接收重构的DNS应答报文;
步骤S1103,检测到DNS应答报文中携带指示向DNS服务器通告异常的所述第三指示项的信息,确定网站服务器是否异常;
将Flags字段中OPCODE字段的3-15中的预留位4作为所述第三指示项,所述第三指示项指示所述终端向DNS服务器通告异常;
DNS服务器接收到所述DNS应答报文后,标识针对所述网站服务器信任状态表,分别为信任状态、不信任状态和永久信任状态;
检测到所述DNS应答报文中携带第三指示项时,将重构DNS应答报文中携带的IP地址对应的网站服务器设置为信任状态;
在信任状态下,DNS接收与所述DNS应答报文中IP地址相同的DNS应答报文后,不做处理,且接收到其他终端的解析请求报文后,将除所述信任状态的网站服务器以外的其他网站服务器的IP地址发送给终端。
步骤S1104,确定网站服务器异常,标识网站服务器的状态为不信任状态。
探测所述网站服务器是否异常,若是,标识所述网站服务器的状态为不信任状态,否则,标识所述网站服务器的状态为永远信任状态。
不信任状态下的网站服务器,其IP地址不会在标准DNS应答中发送给终端。
如图12所示,一种解决异常DNS缓存的结构示意图,网站A部署有两个网站服务器,分别为网站服务器1201和网站服务器1202,当然网站A中也可以部署更多的网站服务器,局域网中有3个终端1203~1205同时访问网站A,经过DNS服务器1206解析后,终端1203和1204解析DNS服务器的IP地址为网站服务器1201,终端1205暂时未访问网站A。
各终端上存储对应的DNS缓存表如表4所示,表4仅示出各终端DNS缓存表中域名、IP地址和缓存时间对应的表项,其他项均未示出;
表4
其中,各终端缓存表内的缓存时间均不相同,终端1203和1204缓存表中缓存网站A对应的域名,及网站服务器1201对应的IP地址,终端1203和1204的缓存时间分别为U和V。
若终端基于缓存表中网站域名对应的IP地址,通过所述IP地址对应的网站服务器链接网站失败时,重构DNS应答报文,所述重构的应答报文将Flags标志字段中OPCODE字段4作为所述第三指示项,具体设置为服务器DNS通告项。
检测到DNS应答报文中携带向DNS服务器通告异常的第三指示项后,将所述网站服务器的信任状态表项改为信任状态。
所述信任状态表如表5所示:
表5
终端 | 域名 | IP地址 | 信任状态 |
1203 | 网站A对应的域名 | 服务器1201 | 信任 |
1204 | 网站A对应的域名 | 服务器1201 | 永远信任 |
未检测到所述网站服务器异常的终端,其状态信任表仍标识为永远信任。
探测所述网站服务器是否异常,若是,标识所述网站服务器的状态为不信任状态,否则,标识所述网站服务器的状态为永远信任状态。
若网站服务器正常,所述信任状态表如表6所示:
表6
终端 | 域名 | IP地址 | 信任状态 |
1203 | 网站A对应的域名 | 服务器1201 | 永远信任 |
1204 | 网站A对应的域名 | 服务器1201 | 永远信任 |
所述终端1203和1204缓存表中对应关系清除后,重新解析为网站服务器1202对应的IP地址,若终端1205访问网站A,DNS服务器将所述网站服务器1202对应的IP地址发送给1205,所述终端缓存状态表如表7所示:
表7
以上对本发明中一种解决异常DNS缓存的方法进行说明,以下对执行上述解决异常DNS缓存的装置进行说明。
请参阅图13本发明实施例提供的一种解决异常DNS缓存的装置,包括:
重构模块1301,用于基于缓存表中网站域名对应的IP地址,访问所述IP地址对应的网站服务器失败时,重构DNS应答报文;
指示模块1302,用于向本地局域网内终端/DNS服务器发送所述DNS应答报文,以指示所述网站域名与所述IP地址之间的对应关系异常。
可选地,所述指示模块1302用于向本地局域网内终端发送的所述DNS应答报文中携带对所述对应关系的缓存时间变更信息的第二指示项。
可选地,所述指示模块1302用于指示收到所述DNS应答报文的其它终端将自己缓存表的所述对应关系的当前缓存时间缩短指定比例或将所述对应关系清除。
可选地,所述指示模块1302用于指示收到所述DNS应答报文的其它终端将自己缓存表的所述对应关系的当前缓存时间缩短指定比例;在发送重构的DNS应答报文后,还包括:
向DNS服务器发送域名解析请求;
获取所述DNS服务器重新分配的所述网站域名对应的IP地址,利用重新分配的IP地址访问对应的网站服务器;
根据访问结果确定所述对应关系异常时,再次重构携带第二指示项的DNS应答报文,所述第二指示项用于指示将所述对应关系清除;
向本地局域网内终端发送所述再次重构的DNS应答报文。
可选地,所述指示模块1302用于根据访问结果确定所述对应关系异常,包括:
确定访问失败且重新分配的所述IP地址与所述对应关系中的IP地址一致,或者访问成功且确定重新分配的IP地址与所述对应关系中的IP地址不一致时,确定所述对应关系异常。
可选地,所述指示模块1302用于,重构DNS应答报文,具体用于:
在标准DNS应答报文的标志字段中设置查询种类信息项的预留位,写入所述第一指示项/第三指示项的信息;
在标准DNS应答报文的回答区域字段中生存周期TTL信息项,写入所述第二指示项;
其中,向本地局域网内终端发送的所述DNS应答报文中携带指示向终端通告异常的所述第一指示项的信息;向DNS服务器发送的所述DNS应答报文中携带指示向DNS服务器通告异常的所述第三指示项的信息。
请参阅图14本发明实施例提供的一种解决异常DNS缓存的装置,包括:
接收模块1401,用于接收终端发送的DNS应答报文;
确定模块1402,用于根据所述DNS应答报文的指示,确定缓存表中网站域名与对应的IP地址之间的对应关系是否异常。
可选地,该方法应用于终端,所述确定模块1402用于确定缓存表中网站域名与对应的IP地址之间的对应关系异常时,还用于:
根据所述DNS应答报文携带对所述对应关系的缓存时间变更信息的第二指示项,确定缓存时间变更信息;
按照确定的缓存时间变更信息变更所述对应关系所在缓存表的缓存时间。
可选地,所述确定模块1402用于变更所述对应关系所在缓存表的缓存时间,具体包括:
根据所述第二指示项,将缓存表中所述对应关系的当前缓存时间缩短指定比例或将所述对应关系清除。
可选地,所述确定模块1402用于根据所述第二指示项将缓存表中所述对应关系的当前缓存时间缩短指定比例后,还用于:
接收本地局域网内终端发送的再次重构的携带指示将所述对应关系清除的第二指示项的DNS应答报文,将缓存表中的所述对应关系清除。
可选地,所述DNS应答报文中包括在标准DNS应答报文的标志字段中设置查询种类信息项的预留位,写入的指示向终端通告异常的第一指示项,及在标准DNS应答报文的回答区域字段中生存周期TTL信息项,写入的所述第二指示项。
可选地,该方法应用于DNS服务器,所述确定模块1402确定所述网站域名与所述IP地址之间的对应关系异常时,还确定所述网站服务器异常,标识所述网站服务器的状态为不信任状态,包括:
标识所述IP地址对应的网站服务器为信任状态;
探测所述网站服务器是否异常,若是,标识所述网站服务器的状态为不信任状态,否则,标识所述网站服务器的状态为永远信任状态。
可选地,所述DNS应答报文中包括在标准DNS应答报文的标志字段中设置查询种类信息项的预留位,写入的指示向DNS服务器通告异常的第三指示项。
上面从模块化功能实体的角度对本申请实施例中的一种解决异常DNS缓存的装置进行了描述,下面从硬件处理的角度对本申请实施例中的装置进行描述。
请参阅图15,本申请实施例中一种解决异常DNS缓存的装置,包括:至少一个处理单元1501和至少一个存储单元1502,以及总线系统1509;
其中,所述存储单元1502存储有程序代码,当所述程序代码被所述处理单元1501执行时,使得所述处理单元1501执行下列过程:
基于缓存表中网站域名对应的IP地址,访问所述IP地址对应的网站服务器失败时,重构DNS应答报文;
向本地局域网内终端/DNS服务器发送所述DNS应答报文,以指示所述网站域名与所述IP地址之间的对应关系异常。
图15是本公开实施例提供的一种解决异常DNS缓存的装置示意图,该设备1500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理单元(英文全称:central processing units,英文简称:CPU)1501(例如,一个或一个以上处理器)和存储单元1502,一个或一个以上存储应用程序1504或数据1505的存储介质1503(例如一个或一个以上海量存储设备)。其中,存储单元1502和存储介质1503可以是短暂存储或持久存储。存储在存储介质1503的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对信息处理装置中的一系列指令操作。更进一步地,处理单元1501可以设置为与存储介质1503通信,在设备1500上执行存储介质1503中的一系列指令操作。
设备1500还可以包括一个或一个以上有线或无线网络接口1507,一个或一个以上输入输出接口1508,和/或,一个或一个以上操作系统1506,例如Windows Server,Mac OSX,Unix,Linux,FreeBSD等。
可选地,所述处理单元用于向本地局域网内终端发送的所述DNS应答报文中携带对所述对应关系的缓存时间变更信息的第二指示项。
可选地,所述第二指示项用于指示收到所述DNS应答报文的其它终端将自己缓存表的所述对应关系的当前缓存时间缩短指定比例或将所述对应关系清除。
可选地,所述第二指示项用于指示收到所述DNS应答报文的其它终端将自己缓存表的所述对应关系的当前缓存时间缩短指定比例;在发送重构的DNS应答报文后,还包括:
向DNS服务器发送域名解析请求;
获取所述DNS服务器重新分配的所述网站域名对应的IP地址,利用重新分配的IP地址访问对应的网站服务器;
根据访问结果确定所述对应关系异常时,再次重构携带第二指示项的DNS应答报文,所述第二指示项用于指示将所述对应关系清除;
向本地局域网内终端发送所述再次重构的DNS应答报文。
可选地,所述处理单元用于根据访问结果确定所述对应关系异常,包括:
确定访问失败且重新分配的所述IP地址与所述对应关系中的IP地址一致,或者确定访问成功且重新分配的IP地址与所述对应关系中的IP地址不一致时,确定所述对应关系异常。
可选地,所述处理单元用于重构DNS应答报文,包括:
在标准DNS应答报文的标志字段中设置查询种类信息项的预留位,写入所述第一指示项/第三指示项的信息;
在标准DNS应答报文的回答区域字段中生存周期TTL字段信息项,写入所述第二指示项;
其中,向本地局域网内终端发送的所述DNS应答报文中携带指示向终端通告异常的所述第一指示项的信息;向DNS服务器发送的所述DNS应答报文中携带指示向DNS服务器通告异常的所述第三指示项的信息。
请参阅图16,本申请实施例中一种解决异常DNS缓存的装置,包括:至少一个处理单元1601和至少一个存储单元1602,以及总线系统1609;
其中,所述存储单元1602存储有程序代码,当所述程序代码被所述处理单元1601执行时,使得所述处理单元1601执行下列过程:
接收终端发送的DNS应答报文;
根据所述DNS应答报文的指示,确定缓存表中网站域名与对应的IP地址之间的对应关系异常。
图16是本公开实施例提供的一种解决异常DNS缓存的装置示意图,该设备1600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理单元(英文全称:central processing units,英文简称:CPU)1601(例如,一个或一个以上处理器)和存储单元1602,一个或一个以上存储应用程序1604或数据1605的存储介质1603(例如一个或一个以上海量存储设备)。其中,存储单元1602和存储介质1603可以是短暂存储或持久存储。存储在存储介质1603的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对信息处理装置中的一系列指令操作。更进一步地,处理单元1601可以设置为与存储介质1603通信,在设备1600上执行存储介质1603中的一系列指令操作。
设备1600还可以包括一个或一个以上有线或无线网络接口1607,一个或一个以上输入输出接口1608,和/或,一个或一个以上操作系统1606,例如Windows Server,Mac OSX,Unix,Linux,FreeBSD等。
可选地,该方法应用于终端,所述处理单元用于确定缓存表中网站域名与对应的IP地址之间的对应关系异常时,还包括:
根据所述DNS应答报文携带对所述对应关系的缓存时间变更信息的第二指示项,确定缓存时间变更信息;
按照确定的缓存时间变更信息变更所述对应关系所在缓存表的缓存时间。
可选地,所述处理单元用于变更所述对应关系所在缓存表的缓存时间,包括:
根据所述第二指示项,将缓存表中所述对应关系的当前缓存时间缩短指定比例或将所述对应关系清除。
可选地,所述处理单元用于根据所述第二指示项将缓存表中所述对应关系的当前缓存时间缩短指定比例后,还包括:
接收本地局域网内终端发送的再次重构的携带指示将所述对应关系清除的第二指示项的DNS应答报文,将缓存表中的所述对应关系清除。
可选地,所述DNS应答报文中包括在标准DNS应答报文的标志字段中设置查询种类信息项的预留位,写入的指示向终端通告异常的第一指示项,及在标准DNS应答报文的回答区域字段中生存周期TTL字段信息项,写入的所述第二指示项。
可选地,该方法应用于DNS服务器,所述处理单元用于确定所述网站域名与所述IP地址之间的对应关系异常时,还确定所述网站服务器异常,标识所述网站服务器的状态为不信任状态,包括:
标识所述IP地址对应的网站服务器为信任状态;
探测所述网站服务器是否异常,若是,标识所述网站服务器的状态为不信任状态,否则,标识所述网站服务器的状态为永远信任状态。
可选地,所述DNS应答报文中包括在标准DNS应答报文的标志字段中设置查询种类信息项的预留位,写入的指示向DNS服务器通告异常的第三指示项。
本发明实施例还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述实施例提供的解决异常DNS缓存的方法。
本公开实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序包括程序指令,当所述程序指令被电子设备执行时,使所述电子设备执行上述实施例提供的解决异常DNS缓存的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
以上对本申请所提供的技术方案进行了详细介绍,本申请中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (16)
1.一种解决异常DNS缓存的方法,其特征在于,该方法包括:
基于缓存表中网站域名对应的IP地址,访问所述IP地址对应的网站服务器失败时,重构DNS应答报文;
向本地局域网内终端/DNS服务器发送所述DNS应答报文,以指示所述网站域名与所述IP地址之间的对应关系异常。
2.根据权利要求1所述的方法,其特征在于,向本地局域网内终端发送的所述DNS应答报文中携带对所述对应关系的缓存时间变更信息的第二指示项。
3.根据权利要求2所述的方法,其特征在于,所述第二指示项用于指示收到所述DNS应答报文的其它终端将自己缓存表的所述对应关系的缓存时间缩短指定比例或将所述对应关系清除。
4.根据权利要求2所述的方法,其特征在于,所述第二指示项用于指示收到所述DNS应答报文的其它终端将自己缓存表的所述对应关系的缓存时间缩短当前缓存时间的指定比例;在发送重构的DNS应答报文后,还包括:
向DNS服务器发送域名解析请求;
获取所述DNS服务器重新分配的所述网站域名对应的IP地址,利用重新分配的IP地址访问对应的网站服务器;
根据访问结果确定所述对应关系异常时,再次重构携带第二指示项的DNS应答报文,所述第二指示项用于指示将所述对应关系清除;
向本地局域网内终端发送所述再次重构的DNS应答报文。
5.根据权利要求4所述的方法,其特征在于,根据访问结果确定所述对应关系异常,包括:
确定访问失败且重新分配的所述IP地址与所述对应关系中的IP地址一致,或者访问成功且确定重新分配的IP地址与所述对应关系中的IP地址不一致时,确定所述对应关系异常。
6.根据权利要求1~5任一所述的方法,其特征在于,重构DNS应答报文,包括:
在标准DNS应答报文的标志字段中设置查询种类信息项的预留位,写入所述第一指示项/第三指示项的信息;
在标准DNS应答报文的回答区域字段中生存周期TTL信息项,写入所述第二指示项;
其中,向本地局域网内终端发送的所述DNS应答报文中携带指示向终端通告异常的所述第一指示项的信息;向DNS服务器发送的所述DNS应答报文中携带指示向DNS服务器通告异常的所述第三指示项的信息。
7.一种解决异常DNS缓存的方法,其特征在于,该方法包括:
接收终端发送的DNS应答报文;
根据所述DNS应答报文的指示,确定缓存表中网站域名与对应的IP地址之间的对应关系异常。
8.根据权利要求7所述的方法,其特征在于,该方法应用于终端,确定缓存表中网站域名与对应的IP地址之间的对应关系异常时,还包括:
根据所述DNS应答报文携带对所述对应关系的缓存时间变更信息的第二指示项,确定缓存时间变更信息;
按照确定的缓存时间变更信息变更所述对应关系所在缓存表的缓存时间。
9.根据权利要求8所述的方法,其特征在于,变更所述对应关系所在缓存表的缓存时间,包括:
根据所述第二指示项,将缓存表中所述对应关系的缓存时间缩短指定比例或将所述对应关系清除。
10.根据权利要求9所述的方法,其特征在于,根据所述第二指示项将缓存表中所述对应关系的缓存时间缩短指定比例后,还包括:
接收本地局域网内终端发送的再次重构的携带指示将所述对应关系清除的第二指示项的DNS应答报文,将缓存表中的所述对应关系清除。
11.根据权利要求8~10任一所述的方法,其特征在于,所述DNS应答报文中包括在标准DNS应答报文的标志字段中设置查询种类信息项的预留位,写入的指示向终端通告异常的第一指示项,及在标准DNS应答报文的回答区域字段中生存周期TTL信息项,写入的所述第二指示项。
12.根据权利要求7所述的方法,其特征在于,该方法应用于DNS服务器,确定所述网站域名与所述IP地址之间的对应关系异常时,还确定所述网站服务器异常,标识所述网站服务器的状态为不信任状态,包括:
标识所述IP地址对应的网站服务器为信任状态;
探测所述网站服务器是否异常,若是,标识所述网站服务器的状态为不信任状态,否则,标识所述网站服务器的状态为永远信任状态。
13.根据权利要求12所述的方法,其特征在于,所述DNS应答报文中包括在标准DNS应答报文的标志字段中设置查询种类信息项的预留位,写入的指示向DNS服务器通告异常的第三指示项。
14.一种解决异常DNS缓存的装置,其特征在于,包括:至少一个处理单元和至少一个存储单元;
其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行下列过程:
基于缓存表中网站域名对应的IP地址,访问所述IP地址对应的网站服务器失败时,重构DNS应答报文;
向本地局域网内终端/DNS服务器发送所述DNS应答报文,以指示所述网站域名与所述IP地址之间的对应关系异常。
15.一种解决异常DNS缓存的装置,其特征在于,包括:至少一个处理单元和至少一个存储单元;
其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行下列过程:
接收终端发送的DNS应答报文;
根据所述DNS应答报文的指示,确定缓存表中网站域名与对应的IP地址之间的对应关系异常。
16.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当其在计算机上运行时,使得计算机执行如权利要求1至13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911055983.8A CN110830606A (zh) | 2019-10-31 | 2019-10-31 | 解决异常dns缓存的方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911055983.8A CN110830606A (zh) | 2019-10-31 | 2019-10-31 | 解决异常dns缓存的方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110830606A true CN110830606A (zh) | 2020-02-21 |
Family
ID=69552022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911055983.8A Pending CN110830606A (zh) | 2019-10-31 | 2019-10-31 | 解决异常dns缓存的方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110830606A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111385293A (zh) * | 2020-03-04 | 2020-07-07 | 腾讯科技(深圳)有限公司 | 一种网络风险检测方法和装置 |
CN112532766A (zh) * | 2020-12-16 | 2021-03-19 | 上海牙木通讯技术有限公司 | Dns应答结果的缓存方法、dns服务器及计算机可读存储介质 |
CN112738295A (zh) * | 2021-01-07 | 2021-04-30 | 中国工商银行股份有限公司 | Ip地址异常处理方法、装置、计算机系统和存储介质 |
CN113572657A (zh) * | 2021-07-23 | 2021-10-29 | 中信银行股份有限公司 | 一种系统链路连通性补偿方法及系统 |
CN114124888A (zh) * | 2020-08-25 | 2022-03-01 | 中国移动通信有限公司研究院 | 一种域名解析方法及装置 |
WO2022121902A1 (zh) * | 2020-12-09 | 2022-06-16 | 维沃移动通信有限公司 | 边缘应用服务器迁移、dns缓存刷新或清空方法及装置 |
CN114884974A (zh) * | 2022-04-08 | 2022-08-09 | 海南车智易通信息技术有限公司 | 一种数据复用方法、系统及计算设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007007960A1 (en) * | 2005-07-08 | 2007-01-18 | Kt Corporation | A malignant bot confrontation method and its system |
CN105141712A (zh) * | 2015-08-24 | 2015-12-09 | 深圳市宏电技术股份有限公司 | 一种离线域名解析方法及装置 |
CN108702397A (zh) * | 2017-08-08 | 2018-10-23 | 深圳前海达闼云端智能科技有限公司 | 一种获取并收集客户端本地dns服务器的方法以及系统 |
CN109729190A (zh) * | 2019-03-15 | 2019-05-07 | 深圳前海微众银行股份有限公司 | 网络访问方法、系统、设备及计算机可读存储介质 |
CN110224996A (zh) * | 2019-05-20 | 2019-09-10 | 深圳壹账通智能科技有限公司 | 应用程序的网络访问方法、装置、计算机设备和存储介质 |
-
2019
- 2019-10-31 CN CN201911055983.8A patent/CN110830606A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007007960A1 (en) * | 2005-07-08 | 2007-01-18 | Kt Corporation | A malignant bot confrontation method and its system |
CN105141712A (zh) * | 2015-08-24 | 2015-12-09 | 深圳市宏电技术股份有限公司 | 一种离线域名解析方法及装置 |
CN108702397A (zh) * | 2017-08-08 | 2018-10-23 | 深圳前海达闼云端智能科技有限公司 | 一种获取并收集客户端本地dns服务器的方法以及系统 |
CN109729190A (zh) * | 2019-03-15 | 2019-05-07 | 深圳前海微众银行股份有限公司 | 网络访问方法、系统、设备及计算机可读存储介质 |
CN110224996A (zh) * | 2019-05-20 | 2019-09-10 | 深圳壹账通智能科技有限公司 | 应用程序的网络访问方法、装置、计算机设备和存储介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111385293A (zh) * | 2020-03-04 | 2020-07-07 | 腾讯科技(深圳)有限公司 | 一种网络风险检测方法和装置 |
CN114124888A (zh) * | 2020-08-25 | 2022-03-01 | 中国移动通信有限公司研究院 | 一种域名解析方法及装置 |
WO2022121902A1 (zh) * | 2020-12-09 | 2022-06-16 | 维沃移动通信有限公司 | 边缘应用服务器迁移、dns缓存刷新或清空方法及装置 |
CN112532766A (zh) * | 2020-12-16 | 2021-03-19 | 上海牙木通讯技术有限公司 | Dns应答结果的缓存方法、dns服务器及计算机可读存储介质 |
CN112532766B (zh) * | 2020-12-16 | 2022-10-28 | 牙木科技股份有限公司 | Dns应答结果的缓存方法、dns服务器及计算机可读存储介质 |
CN112738295A (zh) * | 2021-01-07 | 2021-04-30 | 中国工商银行股份有限公司 | Ip地址异常处理方法、装置、计算机系统和存储介质 |
CN113572657A (zh) * | 2021-07-23 | 2021-10-29 | 中信银行股份有限公司 | 一种系统链路连通性补偿方法及系统 |
CN114884974A (zh) * | 2022-04-08 | 2022-08-09 | 海南车智易通信息技术有限公司 | 一种数据复用方法、系统及计算设备 |
CN114884974B (zh) * | 2022-04-08 | 2024-02-23 | 海南车智易通信息技术有限公司 | 一种数据复用方法、系统及计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110830606A (zh) | 解决异常dns缓存的方法、装置及计算机可读存储介质 | |
CN108449282B (zh) | 一种负载均衡方法及其装置 | |
US9847907B2 (en) | Distributed caching cluster management | |
CN111182089B (zh) | 容器集群系统和访问大数据组件的方法、装置及服务器 | |
CN111651329B (zh) | 针对应用的健康检查方法和装置、计算机系统和存储介质 | |
US9390156B2 (en) | Distributed directory environment using clustered LDAP servers | |
CN109151025B (zh) | 基于url的负载均衡方法、装置、计算机存储介质及设备 | |
CN113141405B (zh) | 服务访问方法、中间件系统、电子设备和存储介质 | |
CN109729189B (zh) | 用于配置域名的方法和装置 | |
CN112380072A (zh) | 多数据中心访问方法及系统 | |
CN107172214A (zh) | 一种具有负载均衡的服务节点发现方法及装置 | |
CN113923008B (zh) | 一种恶意网站拦截方法、装置、设备及存储介质 | |
CN115333993B (zh) | 容器环境下自定义容器组路由的方法、设备及存储介质 | |
CN106790521B (zh) | 采用基于ftp的节点设备进行分布式组网的系统及方法 | |
CN116647552A (zh) | 异构微服务集群中服务处理方法及系统、终端及存储介质 | |
CN113347239B (zh) | 通信请求处理方法、装置、系统、电子设备及存储介质 | |
CN115480877A (zh) | 多集群环境下应用服务的对外暴露方法和装置 | |
CN111865751B (zh) | 集中式网关部署方法、装置、集中式网关及电子设备 | |
US20060007910A1 (en) | Mapping of network configuration data to network interfaces | |
US10298539B2 (en) | Passive delegations and records | |
CN114338279A (zh) | 一种终端访问方法、装置和服务器 | |
CN113242299A (zh) | 多数据中心的容灾系统、方法、计算机设备及介质 | |
CN111130941A (zh) | 一种网络错误检测方法以及装置 | |
CN114008599A (zh) | 具有自动故障转移的远程控制平面 | |
CN107615734B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200221 |
|
RJ01 | Rejection of invention patent application after publication |