一种报文处理方法、装置、设备及存储介质与流程

文档序号:14717891发布日期:2018-06-16 01:59阅读:195来源:国知局
一种报文处理方法、装置、设备及存储介质与流程

本申请涉及通信技术领域,特别是涉及一种报文处理方法、装置、设备及存储介质。



背景技术:

目前,私网的用户设备在获取某一网络服务时,可以通过不同的ISP(Internet Service Provider,网络服务运营商)的链路访问具有该网络服务的外网服务器。

用户设备在获取网络服务时,将携带有域名和域名类型的DNS(Domain Name System,域名系统)请求报文发送给LB(Load Balance,负载均衡)设备,LB设备按照负载均衡的原则,根据调度算法,将DNS请求报文发送给一个ISP的DNS服务器。该ISP的DNS服务器对DNS请求报文中携带的域名进行解析,获得符合DNS请求报文中携带的域名类型的IP(Internet Protocol,网络协议)地址信息,并将获得的IP地址信息携带在DNS应答报文中,通过LB设备发送给用户设备。这样,用户设备可以通过获得的IP地址信息访问外网服务器,获得相应的网络服务。

上述用户设备获取网络服务时,LB设备将DNS请求报文发送给一个ISP的DNS服务器之后,若该ISP的DNS服务器中未记录DNS请求报文携带的域名和域名类型对应的IP地址信息,将导致该ISP的DNS服务器解析域名失败,用户设备无法正常访问外网,获取网络服务。



技术实现要素:

本申请实施例的目的在于提供一种报文处理方法、装置、设备及存储介质,以提高用户设备获取到域名解析成功结果的概率,提高用户体验。具体技术方案如下:

第一方面,本申请实施例公开了一种报文处理方法,应用于LB设备,所述方法包括:

接收用户设备发送的DNS请求报文;所述DNS请求报文包括目标域名和目标域名类型;

从预先存储的域名、域名类型和DNS服务器信息三者间的对应关系中,查找所述目标域名和所述目标域名类型二者对应的目标DNS服务器信息;

将所述DNS请求报文发送给与所述目标DNS服务器信息对应的目标DNS服务器,以使所述目标DNS服务器解析所述DNS请求报文,并反馈DNS应答报文。

第二方面,本申请实施例公开了一种报文处理装置,应用于LB设备,所述装置包括:

接收单元,用于接收用户设备发送的DNS请求报文;所述DNS请求报文包括目标域名和目标域名类型;

查找单元,用于从预先存储的域名、域名类型和DNS服务器信息三者间的对应关系中,查找所述目标域名和所述目标域名类型二者对应的目标DNS服务器信息;

发送单元,用于将所述DNS请求报文发送给与所述目标DNS服务器信息对应的目标DNS服务器,以使所述目标DNS服务器解析所述DNS请求报文,并反馈DNS应答报文。

第三方面,本申请实施例公开了一种LB设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述任一报文处理方法。

第四方面,本申请实施例公开了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述任一报文处理方法。

本申请实施例中,预先存储了域名、域名类型和DNS服务器信息三者间的对应关系。LB设备根据预先存储的域名、域名类型和DNS服务器信息三者间的对应关系,确定出目标域名和目标域名类型二者对应的目标DNS服务器信息,将DNS请求报文发送给与该目标DNS服务器信息对应的目标DNS服务器。该目标DNS服务器中存储有目标域名和目标域名类型二者对应的地址信息。因此,目标DNS服务器解析DNS请求报文携带的目标域名,可以成功获得与目标域名类型对应的地址信息,避免了因某些ISP的DNS服务器中未记录DNS请求报文携带的域名和域名类型二者对应的地址信息,导致该ISP的DNS服务器解析域名失败,用户设备无法正常访问外网的问题,提高了用户设备获取到域名解析成功结果的概率,提高了用户体验。当然,实施本申请的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的报文处理方法的第一种流程示意图;

图2为本申请实施例提供的报一种组网示意图;

图3为本申请实施例提供的报文处理方法的第二种流程示意图;

图4为本申请实施例提供的报文处理装置的一种结构示意图;

图5为本申请实施例提供的LB设备的一种结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了提高用户设备获取域名的成功率,提高用户体验,本申请实施例提供了一种报文处理方法及装置。

参考图1,图1为本申请实施例提供的报文处理方法的第一种流程示意图,应用于LB设备,该方法具体如下。

步骤101:LB设备接收用户设备发送的DNS请求报文。其中,DNS请求报文包括目标域名和目标域名类型。

其中,域名类型可以包括多种,一种域名类型对应一种类型地址信息。例如,域名类型为a对应IPv4(IP version 4,互联网协议第四版)地址,域名类型为aaaa对应IPv6(IP version 6,互联网协议第六版)地址。

当用户设备需要访问网络资源时,用户设备向LB设备发送DNS请求报文。LB设备接收用户设备发送的DNS请求报文。

步骤102:LB设备从预先存储的域名、域名类型和DNS服务器信息三者间的对应关系中,查找目标域名和目标域名类型二者对应的目标DNS服务器信息。

其中,目标DNS服务器信息可以包括:目标DNS服务器的IP地址、MAC(Media Access Control,媒体访问控制)地址等信息。

在本申请的一个实施例中,若LB设备从预先存储的域名、域名类型和DNS服务器信息三者间的对应关系中,查找到目标域名和目标域名类型二者对应的多个DNS服务器信息,则LB设备可以从这多个DNS服务器信息选择一个DNS服务器信息作为目标DNS服务器信息。

LB设备在从这多个DNS服务器信息选择一个目标DNS服务器信息时,可以随机的从这多个DNS服务器信息中选择一个DNS服务器信息作为目标DNS服务器信息,也可以依据负载均衡的原则从这多个DNS服务器信息中选择一个DNS服务器信息作为目标DNS服务器信息,本申请实施例对此不进行限定。

步骤103:LB设备将DNS请求报文发送给与目标DNS服务器信息对应的目标DNS服务器。

目标DNS服务器中记录有目标域名、目标域名类型、目标地址信息的对应关系,目标DNS服务器接收到DNS请求报文后,可以成功的解析DNS请求报文,获得目标地址信息,并将目标地址信息携带在DNS应答报文中发送给LB设备。LB设备将DNS应答报文发送给用户设备,保证了用户设备正常访问外网,获取网络资源。

本申请实施例中,预先存储了域名、域名类型和DNS服务器信息三者间的对应关系。LB设备根据预先存储的域名、域名类型和DNS服务器信息三者间的对应关系,确定出目标域名和目标域名类型二者对应的目标DNS服务器信息,将DNS请求报文发送给该目标DNS服务器信息对应的目标DNS服务器。该目标DNS服务器中存储有目标域名和目标域名类型二者对应的地址信息。因此,目标DNS服务器解析DNS请求报文携带的目标域名,可以成功获得与目标域名类型对应的地址信息,避免了因某些ISP的DNS服务器中未记录DNS请求报文携带的域名和域名类型二者对应的地址信息,导致该ISP的DNS服务器解析域名失败,用户设备无法正常访问外网的问题,提高了用户设备获取到域名解析成功结果的概率,提高了用户体验。

在本申请的一个实施例中,为了便于灵活控制目标DNS服务器信息的查找,LB设备中可以设置负载均衡策略。该负载均衡策略包括:域名、域名类型和DNS服务器信息三者间的对应关系。该负载均衡策略中的DNS服务器信息对应的DNS服务器中存储有:该负载均衡策略中的域名、域名类型二者对应的地址信息。其中,地址信息为用户设备要访问的外网服务器的地址信息。

当LB设备开启生成负载均衡策略的功能时,LB设备从负载均衡策略包括的域名、域名类型和DNS服务器信息三者间的对应关系中查找目标域名和目标域名类型二者对应的目标DNS服务器信息。可选的,可以通过开启指令开启该功能。

在本申请的一个实施例中,若LB设备从预先存储的域名、域名类型和DNS服务器信息三者间的对应关系中,即LB设备从负载均衡策略中未查找到目标域名和目标域名类型二者对应的目标DNS服务器信息,为了保证用户设备访问网络资源,可以根据预设的调度算法,从LB设备关联的DNS服务器中确定一个目标DNS服务器。

LB设备关联的DNS服务器为LB设备中记录的DNS服务器信息对应的DNS服务器。负载均衡策略中的DNS服务器信息为LB设备中记录的DNS服务器信息的一部分或全部。

上述调度算法包括但不限于随机算法、源IP哈希算法、源IP源端口哈希算法、加强轮询算法等。

例如,若预设的调度算法为随机算法,则LB设备从LB设备关联的DNS服务器中随机的选择一个DNS服务器作为目标DNS服务器。

若预设的调度算法为源IP哈希算法,则LB设备计算DNS请求报文的源IP地址的哈希值,从预先存储的哈希值与LB设备关联的DNS服务器的对应关系中,确定计算得到的哈希值对应的DNS服务器,将该DNS服务器作为目标DNS服务器。

若预设的调度算法为源IP源端口哈希算法,则LB设备计算DNS请求报文的源IP地址和源端口二者共同的哈希值,从预先存储的哈希值与LB设备关联的DNS服务器的对应关系中,确定计算得到的哈希值对应的DNS服务器,将该DNS服务器作为目标DNS服务器。

若预设的调度算法为加强轮询算法,则LB设备预先为每一LB设备关联的DNS服务器分配了权值比例,按照权值比例从LB设备关联的DNS服务器中确定一个DNS服务器作为目标DNS服务器。例如,LB设备关联有DNS服务器1和DNS服务器2,DNS服务器1的权值比例为1,DNS服务器2的权值比例为2。当LB设备接收到1个DNS请求报文后,将DNS服务器1作为目标DNS服务器,将这1个DNS请求报文发送给DNS服务器1。之后,LB设备接收的2个DNS请求报文,均将DNS服务器2作为目标DNS服务器,均发送给DNS服务器2。

LB设备根据预设的调度算法确定目标DNS服务器后,将DNS请求报文发送给该目标DNS服务器。该目标DNS服务器对DNS请求报文中携带的目标域名进行解析,并将解析结果携带DNS应答报文中发送给LB设备。LB设备将DNS应答报文反馈该用户设备。

在LB设备开启了生成负载均衡策略的功能,但LB设备从负载均衡策略中未查找到目标域名和目标域名类型二者对应的目标DNS服务器信息的情况下,目标DNS服务器解析域名时,可能解析成功,获得了目标地址信息,也可能解析失败,未获得目标地址信息。

若解析失败,则针对DNS请求报文反馈的DNS应答报文中未携带目标地址信息,用户设备无法获得目标地址信息,不能访问网络资源,为了保证用户设备再次访问网络资源能够成功,LB设备根据目标域名和目标域名类型二者间的对应关系,按照预定周期探测其关联的各个DNS服务器,具体如下。

LB设备将DNS应答报文中携带的目标域名和目标域名类型携带在探测DNS请求报文中,发送给LB设备关联的各个DNS服务器。

在本申请的一个实施例中,为了便于探测LB设备关联的各个DNS服务器,LB设备在接收到携带解析失败信息的DNS应答报文后,记录下目标域名和目标域名类型二者间的对应关系。之后,LB设备根据记录的目标域名和目标域名类型二者间的对应关系,按照预定周期探测其关联的各个DNS服务器。

在本申请的一个实施例中,为了节约LB设备的资源及网络资源,在LB设备开启了生成负载均衡策略的功能,但LB设备从负载均衡策略中未查找到目标域名和目标域名类型二者对应的目标DNS服务器信息的情况下,若LB设备接收的DNS应答报文中携带解析成功信息,则不记录目标域名、目标域名类型二者间的对应关系。也就是说,在DNS应答报文中携带解析成功信息时,LB设备则无须根据目标域名和目标域名类型二者间的的对应关系,按照预定周期探测其关联的各个DNS服务器。

LB设备关联的各个DNS服务器接收到探测DNS请求报文后,分别对探测DNS请求报文中携带的目标域名进行解析,并将解析结果携带探测DNS应答报文中反馈给LB设备。这里,若DNS服务器对目标域名进行解析时获得了与目标域名类型对应的目标地址信息,则解析域名成功,探测DNS应答报文中的解析结果包括:解析成功信息,目标域名,目标域名类型,目标地址信息。若DNS服务器对目标域名进行解析时未获得与目标域名类型对应的地址信息,则解析域名失败,探测DNS应答报文中的解析结果包括:解析失败信息,目标域名,目标域名类型。

在本申请实施例中,探测DNS请求报文与DNS请求报文的区别在于,探测DNS请求报文携带有探测标识的DNS请求报文,探测标识可以由用户自定义确定,添加在DNS请求报文的报文头的保留字段中。这样不必增设新的报文,节约了网络资源。另外,当LB设备接收到探测DNS请求报文的应答报文后,即接收到探测DNS应答报文后,LB设备可以从探测DNS应答报文的报文头的保留字段中获取到探测标识,进而根据探测标识确定该报文为探测应答报文,无须将探测DNS应答报文发送给用户设备。此时,LB设备通过周期的发送探测DNS请求报文实现了对DNS服务器的健康性检测,确定DNS服务器中是否存储有目标域名和目标域名类型二者对应的地址信息,提高了用户设备获取到域名解析成功结果的成功率。

若LB设备接收的探测DNS应答报文中存在携带解析成功信息的探测DNS应答报文,则LB设备存储目标域名、目标域名类型和发送携带解析成功信息的探测DNS应答报文的DNS服务器的DNS服务器信息三者间的对应关系。例如,LB设备将目标域名、目标域名类型和发送携带解析成功信息的探测DNS应答报文的DNS服务器的DNS服务器信息三者间的对应关系存储至负载均衡策略中。另外,LB设备停止根据目标域名和目标域名类型二者间的对应关系,按照预定周期探测其关联的各个DNS服务器。

若LB设备接收的探测DNS应答报文中不存在携带解析成功信息的探测DNS应答报文,则LB设备继续根据目标域名和目标域名类型二者间的对应关系,按照预定周期探测其关联的各个DNS服务器。

例如,预设探测标识为TTT。LB设备构建携带域名1、域名类型1的DNS请求报文1,并在DNS请求报文1的报文头的保留字段中添加TTT,获得探测DNS请求报文1。

LB设备向其关联的各个DNS服务器发送探测DNS请求报文1。

之后,LB设备接收到2个DNS服务器针对探测DNS请求报文1反馈的探测DNS应答报文,即接收到2个报文头的保留字段中有TTT的DNS应答报文,分别为DNS服务器1反馈的探测DNS应答报文11、DNS服务器2反馈的探测DNS应答报文12。

若探测DNS应答报文11携带解析成功消息:探测DNS应答报文11中的Reply code(答复码)是No error(0),表示域名解析无错误,探测DNS应答报文12解析失败消息:探测DNS应答报文12中的Reply code是No Such name(3),表示域名不存在,则LB设备存储域名1、域名类型1和DNS服务器1的DNS服务器信息的对应关系。

若探测DNS应答报文11携带解析失败消息:探测DNS应答报文11中的Reply code是No Such name(3),探测DNS应答报文12解析失败消息:探测DNS应答报文12中的Reply code是No Such name(3),则LB设备按照预定周期发送探测DNS请求报文1。

在本申请的一个实施例中,LB设备可以累计记录发送探测DNS请求报文的周期个数。若累计记录的周期个数达到个数阈值,则LB设备可以确定网络中不存在记录有目标域名和目标域名类型二者对应的地址信息的DNS服务器,停止根据目标域名和目标域名类型二者间的对应关系,按照预定周期探测其关联的各个DNS服务器,以节约LB设备资源。

例如,个数阈值为3,预定周期为10分钟,LB设备中记录了域名1与域名类型1间的对应关系。

若10:00时,LB设备将域名1与域名类型1携带探测DNS请求报文1中发送给LB设备关联的各个DNS服务器,对LB设备关联的各个DNS服务器进行探测。若10:00发送探测DNS请求报文后,未接收到携带解析成功信息的探测DNS应答报文,则累计记录的发送探测DNS请求报文1的周期个数为1。

当10:10时,LB设备将域名1与域名类型1携带探测DNS请求报文1中再次发送给LB设备关联的各个DNS服务器,对LB设备关联的各个DNS服务器进行探测。若10:10发送探测DNS请求报文后,未接收到携带解析成功信息的探测DNS应答报文,则累计记录的发送探测DNS请求报文1的周期个数为2。

当10:20时,LB设备将域名1与域名类型1携带探测DNS请求报文1中再次发送给LB设备关联的各个DNS服务器,对LB设备关联的各个DNS服务器进行探测。若10:20发送探测DNS请求报文后,未接收到携带解析成功信息的探测DNS应答报文,则累计记录的发送探测DNS请求报文1的周期个数为3。

此时,LB设备累计记录的发送探测DNS请求报文1的周期个数为3,累计记录的发送探测DNS请求报文1的周期个数达到了个数阈值,停止将域名1与域名类型1携带探测DNS请求报文1中再次发送给LB设备关联的各个DNS服务器,对LB设备关联的各个DNS服务器进行探测。

在本申请的一个实施例中,若LB设备中记录了目标域名和目标域名类型二者间的对应关系,在检测到存在携带解析成功信息的探测DNS应答报文或发送探测DNS请求报文的周期个数达到个数阈值时,则删除记录的目标域名和目标域名类型二者间的对应关系,以节约LB设备的存储空间。

在本申请的一个实施例中,若LB设备未开启生成负载均衡策略的功能,则LB设备根据预设的调度算法,从LB设备关联的DNS服务器中确定一个目标DNS服务器,将DNS请求报文发送给该目标DNS服务器。该目标DNS服务器对DNS请求报文中携带的目标域名进行解析,并将解析结果携带DNS应答报文中发送给LB设备。LB设备将DNS应答报文反馈该用户设备。

下面结合图2所示组网,以及图3所示的报文处理方法的第二种流程示意图对本申请实施例进行详细说明。组网中包括用户设备100、LB设备200、DNS服务器300、DNS服务器301和DNS服务器302。DNS服务器301和DNS服务器302为LB设备200关联的DNS服务器。LB设备200开启了DNS透明代理功能。这里,DNS透明代理为:用户设备不需要知道DNS服务器,只需要将DNS请求报文发送给LB设备,由LB设备确定解析域名的DNS服务器,实现域名解析。

该报文处理方法应用于LB设备200,LB设备200中设置了负载均衡策略以及生成负载均衡策略的功能,当生成负载均衡策略的功能被开启时,LB设备200可以根据DNS应答报文或探测DNS应答报文动态生成负载均衡策略。其中,当LB设备接收到开启指令时开启生成负载均衡策略的功能。

当用户设备100需要访问网络资源时,用户设备100向LB设备200发送DNS请求报文。

步骤01、LB设备200接收用户设备100发送的DNS请求报文。其中,DNS请求报文包括目标域名和目标域名类型。

步骤02、LB设备200检测是否开启生成负载均衡策略的功能。

若否,则执行步骤03。

若是,则执行步骤06。

在本申请的一个实施例中,LB设备200若接收到生成负载均衡策略的功能的开启指令,则开启生成负载均衡策略的功能。LB设备200若接收到用户下发的针对生成负载均衡策略的功能的关闭指令,则关闭生成负载均衡策略的功能。

步骤03、LB设备200根据预设调度算法,从DNS服务器300-302中选择一个DNS服务器作为目标DNS服务器,例如,选择了DNS服务器300,将DNS请求报文发送给DNS服务器300。

步骤04、LB设备200接收DNS服务器300根据DNS请求报文反馈的DNS应答报文。

步骤05、LB设备200将DNS应答报文反馈给用户设备100。

步骤06、若步骤02中检测到开启了生成负载均衡策略的功能,LB设备200从负载均衡策略包括的域名、域名类型和DNS服务器信息三者间的对应关系中,查找目标域名和目标域名类型二者对应的目标DNS服务器信息。

若查找到目标DNS服务器信息,LB设备200根据目标DNS服务器信息确定目标DNS服务器,例如,目标DNS服务器信息为DNS服务器301的DNS服务器信息,则确定目标DNS服务器为DNS服务器301,执行步骤07。

若未查找到目标DNS服务器信息,则LB设备200根据预设调度算法,确定目标DNS服务器,例如,根据预设调度算法,确定目标DNS服务器为DNS服务器301,执行步骤07。

根据目标DNS服务器信息确定目标DNS服务器和根据预设调度算法确定目标DNS服务器可以相同,也可以不同。为了便于理解,这里仅以均确定DNS服务器301为目标DNS服务器为例进行说明。

步骤07、LB设备200将DNS请求报文发送给DNS服务器301。

步骤08、LB设备200接收DNS服务器301根据DNS请求报文反馈的DNS应答报文。

步骤09、若DNS应答报文中携带解析成功信息:Reply code是No error(0),LB设备200将DNS应答报文反馈给用户设备100。

此时,由于DNS服务器成功解析目标域名,获得了与目标域名类型对应的地址信息,为节省LB设备的资源,在接收到携带解析成功信息的DNS应答报文时,LB设备则无须根据DNS应答报文中目标域名和目标域名类型生成负载均衡策略。

步骤10、若DNS应答报文中携带解析失败消息:Reply code是No Suchname(3),LB设备200将DNS应答报文反馈给用户设备100,并记录目标域名和目标域名类型二者间的对应关系,执行步骤11。

在本申请的一个实施例中,为了节约LB设备的存储空间,在记录目标域名和目标域名类型二者间的对应关系之前,LB设备200判断当前本地是否记录有目标域名和目标域名类型二者间的对应关系。

若没有记录,则LB设备200记录目标域名和目标域名类型二者间的对应关系。若记录有,则LB设备200不记录目标域名和目标域名类型二者间的对应关系。

步骤11、LB设备200按照预定周期,将目标域名和目标域名类型携带在探测DNS请求报文中发送给DNS服务器300-302。

在本申请的一个实施例中,可以预先设置两个表,例如表A和表B,其中,表A和表B均用于存储目标域名和目标域名类型二者间的对应关系。表A用于存储未携带在探测DNS请求报文中发送给各个DNS服务器的域名和域名类型的对应关系。LB设备在将表A中记录的目标域名和目标域名类型携带在探测DNS请求报文中发送给DNS服务器之后,若未获取解析成功的探测DNS应答报文,则将该目标域名和目标域名类型二者间的对应关系转移至表B中。之后,LB设备200根据表B中存储的目标域名和目标域名类型二者间的对应关系,按照预定周期,将目标域名和目标域名类型携带在探测DNS请求报文中发送给DNS服务器300-302。

例如,步骤10中,LB设备200将目标域名和目标域名类型二者间的对应关系记录在表A中。当在步骤11中,LB设备200将目标域名和目标域名类型携带在探测DNS请求报文中发送给DNS服务器300-302之后,若未获取到携带解析成功信息的探测DNS应答报文,则将目标域名和目标域名类型二者间的对应关系转移至表B。

LB设备在探测各个DNS服务器时,可以先以表A中存储的对应关系为基础进行探测。若DNS服务器中记录有目标域名和目标域名类型二者对应的目标地址信息,LB设备在首次探测时很大可能就可以获取到解析成功信息的探测DNS应答报文,若首次探测时未获取到解析成功信息的探测DNS应答报文,那么之后探测获取到的可能性就小了很多,先以表A中存储的对应关系为基础进行探测,可以保证LB设备快速的获取到域名、域名类型和DNS服务器信息三者间的对应关系,节约LB设备资源。

步骤12、LB设备200接收各个DNS服务器300-302根据探测DNS请求报文反馈的探测DNS应答报文。

若存在携带解析成功信息的探测DNS应答报文,执行步骤16。

若不存在携带解析成功信息的探测DNS应答报文,返回执行步骤13。

步骤13、LB设备200累计记录发送探测DNS请求报文的周期个数。

步骤14、LB设备检测累计记录的周期个数是否达到个数阈值。

若达到个数阈值,执行步骤15。

若未达到个数阈值,返回执行步骤11。

步骤15、LB设备200删除目标域名和目标域名类型二者间的对应关系。

以步骤10中的例子进行说明,删除表B中记录了目标域名和目标域名类型二者间的对应关系。

步骤16、LB设备200存储目标域名、目标域名类型和发送携带解析成功信息的探测DNS应答报文的DNS服务器的DNS服务器信息三者间的对应关系,并删除记录的目标域名和目标域名类型二者间的对应关系。

以步骤10中的例子进行说明,LB设备200可以将探测DNS应答报文中携带的目标域名和目标域名类型、以及发送携带解析成功信息的探测DNS应答报文的DNS服务器的DNS服务器信息三者间的对应关系存储至负载均衡策略中,删除表A或表B中记录的目标域名和目标域名类型二者间的对应关系。

例如,若针对表B中存储的目标域名和目标域名类型构建的探测DNS请求报文,反馈的探测DNS应答报文携带有解析成功的信息,则将探测DNS应答报文中携带的目标域名、目标域名类型和目标DNS服务器信息存储在负载均衡策略中,并删除表B中的目标域名和目标域名类型二者间的对应关系。

与报文处理方法实施例对应,本申请实施例还提供了一种报文处理装置。参考图4,图4为本申请实施例提供的报文处理装置的一种结构示意图,应用于LB设备,该装置包括:

接收单元401,用于接收用户设备发送的DNS请求报文;DNS请求报文包括目标域名和目标域名类型;

查找单元402,用于从预先存储的域名、域名类型和DNS服务器信息三者间的对应关系中,查找目标域名和目标域名类型二者对应的目标DNS服务器信息;

发送单元403,用于将所述DNS请求报文发送给与所述目标DNS服务器信息对应的目标DNS服务器,以使所述目标DNS服务器解析所述DNS请求报文,并反馈DNS应答报文。

在本申请的一个实施例中,上述报文处理装置还可以包括:确定单元;

确定单元,用于若未查找到目标域名和目标域名类型二者对应的目标DNS服务器信息,根据预设调度算法,确定目标DNS服务器;

发送单元403,还可以用于将DNS请求报文发送给目标DNS服务器。

在本申请的一个实施例中,上述报文处理装置还可以包括:存储单元;

发送单元403,还可以用于若针对DNS请求报文反馈的DNS应答报文携带解析失败信息,按照预定周期,将DNS应答报文中携带的目标域名和目标域名类型携带在探测DNS请求报文中发送给LB设备关联的各个DNS服务器;

接收单元401,还可以用于接收各个DNS服务器根据探测DNS请求报文反馈的探测DNS应答报文;

存储单元,用于若存在携带解析成功信息的探测DNS应答报文,存储目标域名、目标域名类型和发送携带解析成功信息的探测DNS应答报文的DNS服务器的DNS服务器信息三者间的对应关系。

在本申请的一个实施例中,发送单元403,具体可以用于若不存在携带解析成功信息的探测DNS应答报文,则重复执行按照预定周期,将DNS应答报文中携带的目标域名和目标域名类型携带在探测DNS请求报文中发送给LB设备连接的各个DNS服务器的过程,直至存在携带解析成功信息的探测DNS应答报文,或发送探测DNS请求报文的周期个数达到个数阈值。

在本申请的一个实施例中,上述报文处理装置还可以包括:记录单元和删除单元

记录单元,用于记录DNS应答报文中携带的目标域名和目标域名类型二者间的对应关系;

删除单元,用于在检测到存在携带解析成功信息的探测DNS应答报文或发送探测DNS请求报文的周期个数达到个数阈值时,删除记录的目标域名和目标域名类型二者间的对应关系。

应用本申请实施例,预先存储了域名、域名类型和DNS服务器信息三者间的对应关系。LB设备根据预先存储的域名、域名类型和DNS服务器信息三者间的对应关系,确定出目标域名和目标域名类型二者对应的目标DNS服务器信息,将DNS请求报文发送给与该目标DNS服务器信息对应的目标DNS服务器。该目标DNS服务器中存储有目标域名和目标域名类型二者对应的地址信息。因此,目标DNS服务器解析DNS请求报文携带的目标域名,可以成功获得与目标域名类型对应的地址信息,避免了因某些ISP的DNS服务器中未记录DNS请求报文携带的域名和域名类型二者对应的地址信息,导致该ISP的DNS服务器解析域名失败,用户设备无法正常访问外网的问题,提高了用户设备获取到域名解析成功结果的概率,提高了用户体验。

与报文处理方法实施例对应,本申请实施例还提供了一种LB设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使可以上述报文处理方法。

如图5所示的LB设备的一种结构示意图,包括处理器501和机器可读存储介质502,机器可读存储介质502存储有能够被处理器501执行的机器可执行指令。

另外,如图5所示,LB设备还可以包括:通信接口503和通信总线504;其中,处理器501、机器可读存储介质502、通信接口503通过通信总线504完成相互间的通信,通信接口503用于上述LB设备与其他设备之间的通信。

本申请实施例中,机器可执行指令包括:接收指令512、查找指令522和发送指令532;

处理器501被接收指令512促使实现:接收用户设备发送的DNS请求报文;DNS请求报文包括目标域名和目标域名类型;

处理器501被查找指令522促使实现:从预先存储的域名、域名类型和DNS服务器信息三者间的对应关系中,查找目标域名和目标域名类型二者对应的目标DNS服务器信息;

处理器501被发送指令532促使实现:将DNS请求报文发送给与目标DNS服务器信息对应的目标DNS服务器,以使目标DNS服务器解析DNS请求报文,并反馈DNS应答报文。

在本申请的一个实施例中,机器可执行指令还可以包括:确定指令;

处理器501被确定指令促使实现:若未查找到目标域名和目标域名类型二者对应的目标DNS服务器信息,根据预设调度算法,确定目标DNS服务器;

处理器501被发送指令532促使还可以实现:将DNS请求报文发送给目标DNS服务器。

在本申请的一个实施例中,机器可执行指令还可以包括:存储指令;

处理器501被发送指令532促使还可以实现:若针对DNS请求报文反馈的DNS应答报文携带解析失败信息,按照预定周期,将目标域名和目标域名类型携带在探测DNS请求报文中发送给LB设备关联的各个DNS服务器;

处理器501被接收指令512促使还可以实现:接收各个DNS服务器根据探测DNS请求报文反馈的探测DNS应答报文;

处理器501被存储指令促使实现:若存在携带解析成功信息的探测DNS应答报文,存储目标域名、目标域名类型和发送携带解析成功信息的探测DNS应答报文的DNS服务器的DNS服务器信息三者间的对应关系。

在本申请的一个实施例中,处理器501被发送指令532促使具体可以实现:若不存在携带解析成功信息的探测DNS应答报文,则重复执行按照预定周期,将DNS应答报文中携带的目标域名和目标域名类型携带在探测DNS请求报文中发送给LB设备连接的各个DNS服务器的过程,直至存在携带解析成功信息的探测DNS应答报文,或发送探测DNS请求报文的周期个数达到个数阈值。

在本申请的一个实施例中,机器可执行指令还可以包括:记录指令和删除指令;

处理器501被记录指令促使实现:记录DNS应答报文中携带的目标域名和目标域名类型二者间的对应关系;

处理器501被删除指令促使实现:在检测到存在携带解析成功信息的探测DNS应答报文或发送探测DNS请求报文的周期个数达到个数阈值时,删除记录的目标域名和目标域名类型二者间的对应关系。

应用本申请实施例,预先存储了域名、域名类型和DNS服务器信息三者间的对应关系。LB设备根据预先存储的域名、域名类型和DNS服务器信息三者间的对应关系,确定出目标域名和目标域名类型二者对应的目标DNS服务器信息,将DNS请求报文发送给与该目标DNS服务器信息对应的目标DNS服务器。该目标DNS服务器中存储有目标域名和目标域名类型二者对应的地址信息。因此,目标DNS服务器解析DNS请求报文携带的目标域名,可以成功获得与目标域名类型对应的地址信息,避免了因某些ISP的DNS服务器中未记录DNS请求报文携带的域名和域名类型二者对应的地址信息,导致该ISP的DNS服务器解析域名失败,用户设备无法正常访问外网的问题,提高了用户设备获取到域名解析成功结果的概率,提高了用户体验。

上述通信总线504可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。该通信总线504可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

机器可读存储介质502可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。另外,机器可读存储介质502还可以是至少一个位于远离前述处理器的存储装置。

处理器501可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

与报文处理方法实施例对应,本申请实施例还提供了一种机器可读存储介质,存储有机器可执行指令,机器可执行指令促使处理器实现上述报文处理方法。

其中,机器可执行指令包括:接收指令、查找指令和发送指令;

在被处理器调用和执行时,接收指令促使处理器实现:接收用户设备发送的DNS请求报文;DNS请求报文包括目标域名和目标域名类型;

在被处理器调用和执行时,查找指令促使处理器实现:从预先存储的域名、域名类型和DNS服务器信息三者间的对应关系中,查找目标域名和目标域名类型二者对应的目标DNS服务器信息;

在被处理器调用和执行时,发送指令促使处理器实现:将DNS请求报文发送给与目标DNS服务器信息对应的目标DNS服务器,以使目标DNS服务器解析DNS请求报文,并反馈DNS应答报文。

在本申请的一个实施例中,机器可执行指令还可以包括:确定指令;

在被处理器调用和执行时,确定指令促使处理器实现:若未查找到目标域名和目标域名类型二者对应的目标DNS服务器信息,根据预设调度算法,确定目标DNS服务器;

在被处理器调用和执行时,发送指令促使处理器还可以实现:将DNS请求报文发送给目标DNS服务器。

在本申请的一个实施例中,机器可执行指令还可以包括:存储指令;

在被处理器调用和执行时,发送指令促使处理器还可以实现:若针对DNS请求报文反馈的DNS应答报文携带解析失败信息,按照预定周期,将目标域名和目标域名类型携带在探测DNS请求报文中发送给LB设备关联的各个DNS服务器;

在被处理器调用和执行时,接收指令促使处理器还可以实现:接收各个DNS服务器根据探测DNS请求报文反馈的探测DNS应答报文;

在被处理器调用和执行时,存储指令促使处理器实现:若存在携带解析成功信息的探测DNS应答报文,存储目标域名、目标域名类型和发送携带解析成功信息的探测DNS应答报文的DNS服务器的DNS服务器信息三者间的对应关系。

在本申请的一个实施例中,在被处理器调用和执行时,发送指令促使处理器具体可以实现:若不存在携带解析成功信息的探测DNS应答报文,则重复执行按照预定周期,将DNS应答报文中携带的目标域名和目标域名类型携带在探测DNS请求报文中发送给LB设备连接的各个DNS服务器的过程,直至存在携带解析成功信息的探测DNS应答报文,或发送探测DNS请求报文的周期个数达到个数阈值。

在本申请的一个实施例中,机器可执行指令还可以包括:记录指令和删除指令;

在被处理器调用和执行时,记录指令促使处理器实现:记录DNS应答报文中携带的目标域名和目标域名类型二者间的对应关系;

在被处理器调用和执行时,删除指令促使处理器实现:在检测到存在携带解析成功信息的探测DNS应答报文或发送探测DNS请求报文的周期个数达到个数阈值时,删除记录的目标域名和目标域名类型二者间的对应关系。

应用本申请实施例,预先存储了域名、域名类型和DNS服务器信息三者间的对应关系。LB设备根据预先存储的域名、域名类型和DNS服务器信息三者间的对应关系,确定出目标域名和目标域名类型二者对应的目标DNS服务器信息,将DNS请求报文发送给与该目标DNS服务器信息对应的目标DNS服务器。该目标DNS服务器中存储有目标域名和目标域名类型二者对应的地址信息。因此,目标DNS服务器解析DNS请求报文携带的目标域名,可以成功获得与目标域名类型对应的地址信息,避免了因某些ISP的DNS服务器中未记录DNS请求报文携带的域名和域名类型二者对应的地址信息,导致该ISP的DNS服务器解析域名失败,用户设备无法正常访问外网的问题,提高了用户设备获取到域名解析成功结果的概率,提高了用户体验。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于报文处理装置、LB设备、机器可读存储介质实施例而言,由于其基本相似于报文处理方法实施例,所以描述的比较简单,相关之处参见报文处理方法实施例的部分说明即可。

以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1