一种报文转发方法及装置与流程

文档序号:16309401发布日期:2018-12-19 05:13阅读:172来源:国知局
一种报文转发方法及装置与流程

本申请涉及通信技术领域,特别是涉及一种报文转发方法及装置。

背景技术

随着通信技术的快速发展,通信网络已成为人们工作、生活中不可缺少的一部分。在通信网络中,默认网关为用户配置网络、进行网络维护提供了极大方便,为此对链路可靠性出了较高要求。

因此,用户在通信网络中转发报文时,如何为用户提供高可靠性的链路成为需要解决的问题。



技术实现要素:

本申请实施例的目的在于提供一种报文转发方法及装置,以在转发报文时能够提供高可靠性的链路。具体技术方案如下:

第一方面,本申请实施例提供了一种报文转发方法,应用于虚拟路由器冗余协议vrrp组网中的第一成员设备,所述vrrp组网还包括与所述第一成员设备组成所述vrrp组网的第二成员设备,所述第一成员设备、第二成员设备属于相同vrrp备份组,所述方法包括:

接收所述第二成员设备通过会话备份链路发送的会话表项,其中,所述会话备份链路为用于传输所述第一成员设备和第二成员设备之间会话表项的链路;

在检测到所述第二成员设备出现故障时,设置所述第一成员设备为vrrp备份组的主设备;

在接收到报文后,在所述第一成员设备自身生成的会话表项和所述第二成员设备发送的会话表项中,确定与接收到的报文匹配的会话表项;

根据所确定的会话表项,转发接收到的报文。

第二方面,本申请实施例提供了一种报文转发装置,应用于vrrp组网中的第一成员设备,所述vrrp组网还包括与所述第一成员设备组成所述vrrp组网的第二成员设备,所述第一成员设备、第二成员设备属于相同vrrp备份组,所述装置包括:

表项接收模块,用于接收所述第二成员设备通过会话备份链路发送的会话表项,其中,所述会话备份链路为用于传输所述第一成员设备和第二成员设备之间会话表项的链路;

设备设置模块,用于在检测到所述第二成员设备出现故障时,设置所述第一成员设备为vrrp备份组的主设备;

表项确定模块,用于在接收到报文后,在所述第一成员设备自身生成的会话表项和所述第二成员设备发送的会话表项中,确定与接收到的报文匹配的会话表项;

报文转发模块,用于根据所确定的会话表项,转发接收到的报文。

第三方面,本申请实施例提供了一种电子设备,所述电子设备作为vrrp组网中的第一成员设备,所述vrrp组网还包括与所述第一成员设备组成所述vrrp组网的第二成员设备,所述第一成员设备、第二成员设备属于相同vrrp备份组,所述第一成员设备包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现本申请实施例所述的报文转发方法步骤。

第四方面,本申请实施例提供了一种机器可读存储介质,所述机器可读存储介质为vrrp组网中第一成员设备中的机器可读存储介质,所述vrrp组网还包括与所述第一成员设备组成所述vrrp组网的第二成员设备,所述第一成员设备、第二成员设备属于相同vrrp备份组,所述机器可读存储介质存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现本申请实施例所述的报文转发方法步骤。

由以上可见,本申请实施例提供的方案中,第一成员设备和第二成员设备属于相同vrrp(virtualrouterredundancyprotocol,虚拟路由器冗余协议)备份组,第一成员设备通过会话备份链路接收、备份在第二成员设备即主设备上产生的会话表项,因此,当第二成员设备出现故障时,第一成员设备能够检测到第二成员设备出现故障。这种情况下,第一成员设备设置自身为vrrp备份组的主设备,由第一成员设备转发报文。由于第一成员设备已经备份第二成员设备的会话表项,因此,在转发报文时,即使网络内的第二成员设备出现故障,依然能够通过第一成员设备转发报文,实现转发报文时的无缝连接,从而提供高可靠性的链路。

另外,第一成员设备与第二成员设备之间是通过会话备份链路来发送会话表项的,因此,两台成员设备之间可以快速完成会话表项的备份,从而有利于提高转发报文的成功概率。

附图说明

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

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

图2为本申请实施例提供的第二种报文转发方法的流程示意图;

图3为本申请实施例提供的第三种报文转发方法的流程示意图;

图4为本申请实施例提供的第一种组网结构示意图;

图5为本申请实施例提供的第二种组网结构示意图;

图6为本申请实施例提供的一种报文转发装置的结构示意图;

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

具体实施方式

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

由于现有技术中用户在通信网络中转发报文时,需要为用户提供高可靠性的链路。另外,当上述通信网络为vrrp组网时,由于vrrp组网内的成员设备各自独立的根据接收到的报文创建报文对应的会话表项,因此,当vrrp组网中的一台成员设备出现故障后由其他成员设备负责转发报文时,由于其他成员设备中不存在上述出现故障的成员设备已创建的会话表项,从而在接收到报文后,因无法查找到会话表项而导致报文被丢弃,出现断网的情况。鉴于上述情况,本申请实施例提供了一种报文转发方法及装置。

本申请的一个实施例中,提供了一种报文转发方法,应用于vrrp组网中的第一成员设备,vrrp组网还包括与第一成员设备组成vrrp组网的第二成员设备,第一成员设备、第二成员设备属于相同vrrp备份组,上述方法包括:

接收第二成员设备通过会话备份链路发送的会话表项,其中,会话备份链路为用于传输第一成员设备和第二成员设备之间会话表项的链路;

在检测到第二成员设备出现故障时,设置第一成员设备为vrrp备份组的主设备;

在接收到报文后,在第一成员设备自身生成的会话表项和第二成员设备发送的会话表项中,确定与接收到的报文匹配的会话表项;

根据所确定的会话表项,转发接收到的报文。

由以上可见,本实施例提供的方案中,第一成员设备和第二成员设备属于相同vrrp备份组,第一成员设备通过会话备份链路接收、备份在第二成员设备上产生的会话表项,因此,当第二成员设备出现故障时,第一成员设备能够检测到第二成员设备出现故障,这种情况下,第一成员设备设置自身为vrrp备份组的主设备,由第一成员设备转发报文。由于第一成员设备已经备份第二成员设备的会话表项,因此,在转发报文时,即使网络内的第二成员设备出现故障,依然能够通过第一成员设备转发报文,实现转发报文时的无缝连接,从而提供高可靠性的链路。

另外,第一成员设备与第二成员设备之间是通过会话备份链路来发送会话表项的,也就是,通过会话备份链路实现会话表项备份的。因此,

一方面,vrrp组网中的第二成员设备出现故障后由第一成员设备负责转发报文时,由于第一成员设备中已备份有第二成员设备通过会话备份链路发送的会话表项,因此,第一成员设备不会由于无法查找到会话表项而导致报文被丢弃;

另一方面,通过会话备份链路发送会话表项时,两台成员设备之间可以快速完成会话表项的备份,从而有利于提高转发报文的成功概率;

再一方面,由于会话备份链路是专门用于在第一成员设备与第二成员设备之间发送会话表项的,因此,在第一成员设备和第二成员设备之间传输会话表项时,不会与其他业务争抢资源,从而能够快速实现会话表项备份,有利于提高网络的稳定性,并且有利于提供报文转发的流畅性。

下面通过具体实施例对本申请实施例提供的报文转发方法进行详细说明。

图1为本申请实施例提供的第一种报文转发方法的流程示意图,该方法应用于vrrp组网中的第一成员设备,上述vrrp组网还包括与第一成员设备组成vrrp组网的第二成员设备,第一成员设备、第二成员设备属于相同vrrp备份组。

其中,vrrp备份组是指,将组网中的一组路由器(包括一个master即活动路由器和若干个backup即备份路由器)组织成一个虚拟路由器,称之为一个备份组。

在一个vrrp备份组中,一般由一台成员设备作为主设备,其他成员设备作为备设备。在vrrp备份组中只有主设备才能用于转发报文,备设备处于监听状态,不转发报文。

再者,同一成员设备可以属于不同的vrrp备份组。例如,包含第一成员设备和第二成员设备的两个vrrp备份组,一个vrrp备份组可以为:第一成员设备为主设备、第二成员设备为备设备的备份组,另一个vrrp备份组可以为:第一成员设备为备设备、第二成员设备为主设备的备份组。

由于进行报文转发时,可能需要转发的是上行报文,也可能需要转发的是下行报文,为此,第一成员设备、第二成员设备所属的相同vrrp备份组可以存在针对上行报文的上行备份组和针对下行报文的下行备份组。

具体的,上述方法包括:

s101:接收第二成员设备通过会话备份链路发送的会话表项。

其中,会话备份链路为用于传输第一成员设备和第二成员设备之间会话表项的链路。

第二成员设备在上述vrrp备份组中为主设备时,负责转发报文,在第二成员设备接收到报文后转发报文时,若第二成员设备本地未存储所接收到报文对应的会话表项,第二成员设备会根据接收到的报文,创建所接收到报文对应的会话表项,然后根据所创建的会话表项转发报文。另外,由于第二成员设备已创建上述所接收到报文对应的会话表项,因此,当第二成员设备接收到上述报文的反向报文时,可以根据上述所创建的会话表项转发反向报文。

再者,为保证第二成员设备出现故障后由第一成员设备负责转发报文时,不会因为缺少会话表项而丢弃报文,第二成员设备转发所接收的报文后,可以通过会话备份链路将所创建的会话表项发送至第一成员设备,由第一成员设备对第二成员设备所创建的会话表项进行备份。

s102:在检测到第二成员设备出现故障时,设置第一成员设备为vrrp备份组的主设备。

第二成员设备作为上述vrrp备份组中的主设备,在未出现故障的情况下负责转发报文,这时第一成员设备作为该vrrp备份组中的备设备处于监听状态,不转发报文,例如,可以监听主设备是否在正常工作,具体可以通过vrrp报文判断主设备的状态是否正常。

具体的,第一成员设备检测第二成员设备是否出现故障时,可以通过检测上述会话备份链路是否被断开来检测第二成员设备是否出现故障。例如,检测到会话备份链路断开时,可以判定第二成员设备出现故障。

由于vrrp组网中的每一成员设备在转发报文时,存在上行链路和下行链路,因此,第二成员设备作为上述vrrp备份组的主设备负责转发报文的过程中,若第二成员设备的上行链路或者下行链路出现变化,均可以认为是第二成员设备出现的故障。

又由于从前面的描述可知,第一成员设备、第二成员设备所属的相同vrrp备份组可以包括:上行备份组和下行备份组,鉴于此,本申请的一个实施例中,第一成员设备在检测到第二成员设备出现故障时,设置第一成员设备为vrrp备份组的主设备,可以通过以下方式实现:

第一成员设备获得监测信息,并在上述监测信息表征第二成员设备中用于转发报文的上行链路和/或下行链路发生变化时,设置第一成员设备为上行备份组和下行备份组的主设备。

其中,上述监测信息表征第二成员设备中用于转发报文的上行链路和/或下行链路是否发生变化。

成员设备可以通过软件模块实现vrrp,上述软件模块可以称为:vrrp应用模块,又由于vrrp备份组包括上行备份组和下行备份组,所以可以认为上述vrrp应用模块管理上述上行备份组和下行备份组两个备份组。

基于此,上述监测信息可以是由用于对信息进行监测的软件模块(以下称为:监测模块)获得的。为保证第二成员设备出现故障后,上行备份组和下行备份组中的主设备均从第二成员设备切换至第一成员设备,还可以设置一用于进行信息联动的软件模块(以下称为track模块)。

在应用过程中,可以通过一状态信息建立track模块与监测模块之间的关联,上述状态信息可以称为track项,表示监测模块的监测结果是否存在异常。另外,还可以通过上述track项建立track模块与上述vrrp应用模块之间的关联。

由于建立了上述关联,当监测模块的监测结果发生变化,上述track项会发生变化,track模块感知到track项发生变化后,可以及时通知上述vrrp应用模块做出响应。由于上述vrrp应用模块对应于上行备份组和下行备份组,因此,可以实现上述两个备份组的联动变化。

具体的,上述监测模块所监测的信息可以包括:第二成员设备上行链路的下一跳地址是否可达、第二成员设备下行链路的下一跳地址是否可达等等。

假设,上述监测模块检测到第二成员设备上行链路的下一跳地址不可达,则监测模块可以确定第二成员设备的上行链路出现故障,进一步可以认为第二成员设备出现故障。监测模块生成表征第二成员设备出现故障的状态信息,并将上述状态信息作为监测结果发送至track模块。track模块将上述状态信息作为一track项发送至vrrp应用模块。vrrp应用模块根据接收到的track项获知第二成员设备出现故障,对上行备份组和下行备份组进行更新,将第一成员设备由备设备切换为主设备。

s103:在接收到报文后,在第一成员设备自身生成的会话表项和第二成员设备发送的会话表项中,确定与接收到的报文匹配的会话表项。

从s101可知,第二成员设备会将其创建的会话表项发送至第一成员设备,并且第一成员设备作为上述vrrp备份组的主设备时,负责转发报文的过程中会也根据接收到的报文创建会话表项,因此,第一成员设备本地会存储有第一成员设备自身创建的会话表项和第二成员设备发送的会话表项。基于此,在第一成员设备接收到报文后,可以根据第一成员设备本地存储的会话表项,确定与接收到的报文匹配的会话表项。

s104:根据所确定的会话表项,转发接收到的报文。

在上述s103确定第一成员设备本地存储有与接收到的报文匹配的会话表项时,s104可以直接根据第一成员设备本地存储的上述匹配的会话表项转发接收到的报文。在上述s103确定第一成员设备本地未存储有与接收到的报文匹配的会话表项时,s104第一成员设备可以根据接收到的报文,创建所接收到报文对应的会话表项,并根据所创建的会话表项转发所接收到的报文。

为保证第二成员设备解除故障后,再次成为vrrp备份组的主设备负责转发报文时,不会因为第二成员设备本地缺少会话表项而导致报文被丢弃。本申请的一个实施例中,在检测到第二成员设备解除故障后,通过会话备份链路将新创建的会话表项发送至第二成员设备,其中,上述新创建的会话表项为:第二成员设备处于故障状态期间第一成员设备创建的会话表项。这样第二成员设备接收到第一成员设备发送的会话表项后,可以在第二成员设备本地存储接收到的会话表项。

另外,随着时间的推移,第二成员设备需要对所创建的会话表项进行老化处理,为保证第一成员设备和第二成员设备中存储的会话表项一致,本申请的一个实施例中,第二成员设备还可以通过上述会话备份链路向第一成员设备发送会话老化通知,第一成员设备获得第二成员设备通过会话备份链路发送的会话老化通知后,判断会话老化通知指示的待老化会话表项的保持时长是否达到预设时长;若为是,删除上述待老化会话表项。

具体的,上述预设时长可以携带在第二成员设备向第一成员设备发送的会话表项中。

由以上可见,上述各个实施例提供的方案中,第一成员设备和第二成员设备属于相同vrrp备份组,第一成员设备通过会话备份链路接收、备份在第二成员设备即主设备上产生的会话表项,因此,当第二成员设备出现故障时,第一成员设备能够检测到第二成员设备出现故障。这种情况下,第一成员设备设置自身为vrrp备份组的主设备,由第一成员设备转发报文。由于第一成员设备已经备份第二成员设备的会话表项,因此,在转发报文时,即使网络内的第二成员设备出现故障,依然能够通过第一成员设备转发报文,实现转发报文时的无缝连接,从而提供高可靠性的链路。

另外,第一成员设备与第二成员设备之间是通过会话备份链路来发送会话表项的,也就是,通过会话备份链路实现会话表项备份的。因此,

一方面,vrrp组网中的第二成员设备出现故障后由第一成员设备负责转发报文时,由于第一成员设备中已备份有第二成员设备通过会话备份链路发送的会话表项,因此,第一成员设备不会由于无法查找到会话表项而导致报文被丢弃;

另一方面,通过会话备份链路发送会话表项时,两台成员设备之间可以快速完成会话表项的备份,从而有利于提高转发报文的成功概率;

再一方面,由于会话备份链路是专门用于在第一成员设备与第二成员设备之间发送会话表项的,因此,在第一成员设备和第二成员设备之间传输会话表项时,不会与其他业务争抢资源,从而能够快速实现会话表项备份,有利于提高网络的稳定性,并且有利于提供报文转发的流畅性。

本申请的一个实施例中,参见图2,提供了第二种报文转发方法的流程示意图,本实施例中,第一成员设备、第二成员设备属于第一类型vrrp备份组,其中,第一类型vrrp备份组中第一成员设备为备设备、第二成员设备为主设备。

基于上述情况,上述步骤s102中,在检测到第二成员设备出现故障时,设置第一成员设备为vrrp备份组的主设备,可以通过下述s102a实现。

s102a:在检测到第二成员设备出现故障时,将第一成员设备自身由备设备切换为主设备。

由于本实施例中第一成员设备属于一种类型的vrrp备份组,而在这一类型的vrrp备份组中,第一成员设备要么是备设备,要么是主设备,因此,可以称上述情况为第一成员设备工作于主备模式下。

另外,由于第一成员设备属于第一类型vrrp备份组这一种类型的备份组,也就是,第一类型vrrp备份组为处于工作状态的备份组,这样切换第一类型vrrp备份组中各成员设备的工作角色后,第一类型vrrp备份组会仍然处于工作状态。而工作角色切换后,vrrp备份组中第一成员设备为主设备,因此后续会由第一成员设备负责转发报文。可见,虽然第二成员设备出现了故障,但是在第一成员设备能够正常工作的情况下,依然能够为需要转发的报文提供可靠的链路进行报文转发。

本申请的一个实施例中,参见图3,提供了第三种报文转发方法的流程示意图,本实施例中,第一成员设备、第二成员设备属于第一类型vrrp备份组和第二类型vrrp备份组,其中,第一类型vrrp备份组中第一成员设备为备设备、第二成员设备为主设备,第二类型vrrp备份组中第一成员设备为主设备、第二成员设备为备设备。

这种情况下可以认为第一类型vrrp备份组和第二类型vrrp备份组均处于工作状态。又由于第二成员设备为第一类型vrrp备份组的主设备,第一成员设备为第二vrrp备份组的主设备,因此,第一成员设备和第二成员设备均负责转发报文,这样的工作方式,可以称为第一成员设备和第二成员设备以负载分担方式工作。

另外,本实施例中第一成员设备和第二成员设备在正常工作的情况下,均用于转发报文,因此可以称上述情况下第一成员设备、第二成员设备工作于双主模式下。

基于上述情况,上述步骤s102中,在检测到第二成员设备出现故障时,设置第一成员设备为vrrp备份组的主设备,可以通过下述s102b实现。

s102b:在检测到第二成员设备出现故障时,将第一成员设备设置为第一类型vrrp备份组的主设备。

将第一成员设备设置为第一类型vrrp备份组的主设备后,处于工作状态的第一类型vrrp备份组和第二类型备份组中主设备均为第一设备,这样对于第一类型vrrp备份组和第二类型vrrp备份组而言,均是由第一成员设备负责转发报文的。这种情况下,虽然第二成员设备出现了故障,但是在第一成员设备能够正常工作的情况下,依然能够为需要转发的报文提供可靠的链路进行报文转发。

下面再结合图4和图5所示的两个vrrp组网结构示意图,对本申请实施例提供的报文转发方法进行说明。

实例一

如图4所示,两台防火墙设备fw_a、fw_b的业务接口都工作在网络的第三层,fw_a、fw_b的上行链路和下行链路分别连接二层交换机,称为上行交换机和下行交换机。上行交换机连接运营商的接入点,运营商为企业分配的ip(internetprotocol,网络之间互连的协议)地址为1.1.1.1。fw_a、fw_b属于第一类型vrrp备份组,且在第一类型vrrp备份组中以主备模式工作。fw_a作为主设备,fw_b作为备设备。

上述一种类型的vrrp备份组包括两个第一类型vrrp备份组:上行备份组和下行备份组,以下分别称为:上行vrrp备份组1和下行vrrp备份组2。对于fw_a、fw_b而言,上行vrrp备份组1和下行vrrp备份组2均处于工作状态。

另外,fw_a、fw_b之间设有会话备份链路,如图4中fw_a、fw_b之间的横线所示。

下面对图4所示vrrp组网的工作流程进行描述。

在fw_a正常工作的情况,若fw_a接收到报文m,且发现fw_a本地未存储有该报文m对应的会话表项,则创建报文m对应的会话表项,并转发报文m。fw_a通过会话备份链路将所创建的会话表项发送至fw_b,fw_b接收到fw_a发送的会话表项后,存储接收到的会话表项。

若fw_b获得的监测信息表明fw_a的上行链路发生变化,则认为fw_a出现故障,则fw_b将vrrp备份组1中的fw_b由备设备切换为主设备、并将vrrp备份组2中的fw_b由备设备切换为主设备。这样图4所示的vrrp组网中再存在需要转发的报文时,由于fw_b为主设备,由fw_b转发报文。

例如,在fw_b负责转发报文的情况,若fw_b接收到上述报文m的反向报文n,由于fw_a已将报文m对应的会话表项发送至fw_b,因此,fw_b发现本地存储有报文n对应的会话表项,则直接转发报文n。

在fw_a解除故障后,由于fw_b已成为vrrp备份组的主设备,此时fw_a可以选择成为vrrp备份组的备设备,这种情况下,若fw_a检测到fw_b出现故障,则fw_a将vrrp备份组1中的fw_a由备设备切换为主设备、并将vrrp备份组2中的fw_a由备设备切换为主设备。这样图4所示的vrrp组网中再存在需要转发的报文时,由于fw_a为主设备,由fw_a转发报文。

实例二

如图5所示,两台防火墙设备fw_a、fw_b的业务接口都工作在网络的第三层,fw_a、fw_b的上链路和下行链路分别连接二层交换机,称为上行交换机和下行交换机。上行交换机连接运营商的接入点,运营商为企业分配的ip地址为1.1.1.1。

fw_a、fw_b属于两种类型的vrrp备份组,第一种类型的vrrp备份组中,fw_a为主设备、fw_b为备设备;第二种类型的vrrp备份组中,fw_a为备设备、fw_b为主设备。也就是,fw_a、fw_b在vrrp备份组中以双主模式工作。

由于上述第一种类型的vrrp备份组和第二种类型的vrrp备份组均处于工作状态,因此,fw_a、fw_b以负载分担方式工作,也就是,fw_a、fw_b按照业务划分同时用于转发报文。

由于vrrp备份组包括上行备份组和下行备份组两个备份组,因此以下称上述第一种类型的vrrp备份组包括:上行vrrp备份组1和下行vrrp备份组3,上述第二种类型的vrrp备份组包括:上行vrrp备份组2和下行vrrp备份组4。

另外,fw_a、fw_b之间设有会话备份链路,如图5中fw_a、fw_b之间的横线所示。

下面对图5所示组网的工作流程进行描述。

在fw_a、fw_b正常工作的情况,若fw_a接收到报文p,且发现fw_a本地未存储有该报文p对应的会话表项,则创建报文p对应的会话表项,并转发报文p。fw_a通过会话备份链路将所创建的会话表项发送至fw_b,fw_b接收到fw_a发送的会话表项后,存储接收到的会话表项。

另外,若fw-b接收到报文q,且发现fw_b本地未存储有该报文q对应的会话表项,则创建报文q对应的会话表项,并转发报文q。fw-b通过会话备份链路将所创建的会话表项发送至fw_a,fw_a接收到fw_b发送的会话表项后,存储接收到的会话表项。

这样可以完成fw_a、fw_b之间的会话同步更新,使得两台设备上保存了相同的两份会话表项。

若fw_a获得的监测信息表明fw_b的下行链路发生变化,则认为fw_b出现故障,则fw_a将vrrp备份组2中的fw_a由备设备切换为主设备、并将vrrp备份组4中的fw_a由备设备切换为主设备。由于此时vrrp备份组1至vrrp备份组4中主设备均为fw_a,这样图5所示的vrrp组网中再存在需要转发的报文时,由于fw_a为主设备,由fw_a转发报文。

若fw_b获得的监测信息表明fw_a的下行链路发生变化,则认为fw_a出现故障,则fw_b将vrrp备份组1中的fw_b由备设备切换为主设备、并将vrrp备份组3中的fw_b由备设备切换为主设备。由于此时vrrp备份组1至vrrp备份组4中主设备均为fw_b,这样图5所示的vrrp组网中再存在需要转发的报文时,由于fw_b为主设备,由fw_b转发报文。

例如,在fw_b负责转发报文的情况,若fw_b接收到上述报文p的反向报文r,由于fw_a已将报文p对应的会话表项发送至fw_b,因此,fw_b发现本地存储有报文r对应的会话表项,则直接转发报文r。

与上述报文转发方法相对应,本申请实施例还提供了一种报文转发装置。

图6为本申请实施例提供的一种报文转发装置的结构示意图,该装置应用于vrrp组网中的第一成员设备,所述vrrp组网还包括与所述第一成员设备组成所述vrrp组网的第二成员设备,所述第一成员设备、第二成员设备属于相同vrrp备份组,所述装置包括:

表项接收模块601,用于接收所述第二成员设备通过会话备份链路发送的会话表项,其中,所述会话备份链路为用于传输所述第一成员设备和第二成员设备之间会话表项的链路;

设备设置模块602,用于在检测到所述第二成员设备出现故障时,设置所述第一成员设备为vrrp备份组的主设备;

表项确定模块603,用于在接收到报文后,在所述第一成员设备自身生成的会话表项和所述第二成员设备发送的会话表项中,确定与接收到的报文匹配的会话表项;

报文转发模块604,用于根据所确定的会话表项,转发接收到的报文。

本申请的一个实施例中,所述第一成员设备、第二成员设备属于第一类型vrrp备份组,其中,所述第一类型vrrp备份组中所述第一成员设备为备设备、所述第二成员设备为主设备;

所述设备设置模块602,具体用于将所述第一成员设备自身由备设备切换为主设备。

本申请的一个实施例中,所述第一成员设备、第二成员设备属于第一类型vrrp备份组和第二类型vrrp备份组,其中,所述第一类型vrrp备份组中所述第一成员设备为备设备、所述第二成员设备为主设备,所述第二类型vrrp备份组中所述第一成员设备为主设备、所述第二成员设备为备设备;

所述设备设置模块602,具体用于将所述第一成员设备设置为所述第一类型vrrp备份组的主设备。

本申请的一个实施例中,上述报文转发装置还包括:

表项发送模块,用于在检测到所述第二成员设备解除故障后,通过所述会话备份链路将新创建的会话表项发送至所述第二成员设备,其中,所述新创建的会话表项为:所述第二成员设备处于故障状态期间所述第一成员设备创建的会话表项。

本申请的一个实施例中,所述vrrp备份组包括:上行备份组和下行备份组,所述设备设置模块,包括:

信息获得单元,用于获得监测信息,其中,所述监测信息表征所述第二成员设备中用于转发报文的上行链路和/或下行链路是否发生变化;

设备设置单元,用于在所述监测信息表征所述第二成员设备中用于转发报文的上行链路和/或下行链路发生变化时,设置所述第一成员设备为所述上行备份组和下行备份组的主设备。

由以上可见,上述各个实施例提供的方案中,第一成员设备和第二成员设备属于相同vrrp备份组,第一成员设备通过会话备份链路接收、备份在第二成员设备即主设备上产生的会话表项,因此,当第二成员设备出现故障时,第一成员设备能够检测到第二成员设备出现故障。这种情况下,第一成员设备设置自身为vrrp备份组的主设备,由第一成员设备转发报文。由于第一成员设备已经备份第二成员设备的会话表项,因此,在转发报文时,即使网络内的第二成员设备出现故障,依然能够通过第一成员设备转发报文,实现转发报文时的无缝连接,从而提供高可靠性的链路。

另外,第一成员设备与第二成员设备之间是通过会话备份链路来发送会话表项的,也就是,通过会话备份链路实现会话表项备份的。因此,

一方面,vrrp组网中的第二成员设备出现故障后由第一成员设备负责转发报文时,由于第一成员设备中已备份有第二成员设备通过会话备份链路发送的会话表项,因此,第一成员设备不会由于无法查找到会话表项而导致报文被丢弃;

另一方面,通过会话备份链路发送会话表项时,两台成员设备之间可以快速完成会话表项的备份,从而有利于提高转发报文的成功概率;

再一方面,由于会话备份链路是专门用于在第一成员设备与第二成员设备之间发送会话表项的,因此,在第一成员设备和第二成员设备之间传输会话表项时,不会与其他业务争抢资源,从而能够快速实现会话表项备份,有利于提高网络的稳定性,并且有利于提供报文转发的流畅性。

与上述报文转发方法相对应,本申请实施例还提供了一种电子设备。

图7为本申请实施例提供的一种电子设备的结构示意图,所述电子设备作为vrrp组网中的第一成员设备,所述vrrp组网还包括与所述第一成员设备组成所述vrrp组网的第二成员设备,所述第一成员设备、第二成员设备属于相同vrrp备份组,所述第一成员设备包括:处理器701和机器可读存储介质702,所述机器可读存储介质702存储有能够被所述处理器701执行的机器可执行指令,所述处理器701被所述机器可执行指令促使:实现本申请实施例提供的报文转发方法。

本申请的一个实施例中,提供了一种报文转发方法,应用于虚拟路由器冗余协议vrrp组网中的第一成员设备,所述vrrp组网还包括与所述第一成员设备组成所述vrrp组网的第二成员设备,所述第一成员设备、第二成员设备属于相同vrrp备份组,所述方法包括:

接收所述第二成员设备通过会话备份链路发送的会话表项,其中,所述会话备份链路为用于传输所述第一成员设备和第二成员设备之间会话表项的链路;

在检测到所述第二成员设备出现故障时,设置所述第一成员设备为vrrp备份组的主设备;

在接收到报文后,在所述第一成员设备自身生成的会话表项和所述第二成员设备发送的会话表项中,确定与接收到的报文匹配的会话表项;

根据所确定的会话表项,转发接收到的报文。

需要说明的是,处理器701被机器可执行指令促使而实现的报文转发方法的其他实施例,与前述方法实施例部分提供的实施例相同,这里不再赘述。

上述机器可读存储介质可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

由以上可见,本实施例提供的方案中,第一成员设备和第二成员设备属于相同vrrp备份组,第一成员设备通过会话备份链路接收、备份在第二成员设备即主设备上产生的会话表项,因此,当第二成员设备出现故障时,第一成员设备能够检测到第二成员设备出现故障。这种情况下,第一成员设备设置自身为vrrp备份组的主设备,由第一成员设备转发报文。由于第一成员设备已经备份第二成员设备的会话表项,因此,在转发报文时,即使网络内的第二成员设备出现故障,依然能够通过第一成员设备转发报文,实现转发报文时的无缝连接,从而提供高可靠性的链路。

另外,第一成员设备与第二成员设备之间是通过会话备份链路来发送会话表项的,也就是,通过会话备份链路实现会话表项备份的。因此,

一方面,vrrp组网中的第二成员设备出现故障后由第一成员设备负责转发报文时,由于第一成员设备中已备份有第二成员设备通过会话备份链路发送的会话表项,因此,第一成员设备不会由于无法查找到会话表项而导致报文被丢弃;

另一方面,通过会话备份链路发送会话表项时,两台成员设备之间可以快速完成会话表项的备份,从而有利于提高转发报文的成功概率;

再一方面,由于会话备份链路是专门用于在第一成员设备与第二成员设备之间发送会话表项的,因此,在第一成员设备和第二成员设备之间传输会话表项时,不会与其他业务争抢资源,从而能够快速实现会话表项备份,有利于提高网络的稳定性,并且有利于提供报文转发的流畅性。

与前述报文转发方法实施例相对应,本申请实施例还提供了一种机器可读存储介质,所述机器可读存储介质为vrrp组网中第一成员设备中的机器可读存储介质,所述vrrp组网还包括与所述第一成员设备组成所述vrrp组网的第二成员设备,所述第一成员设备、第二成员设备属于相同vrrp备份组,所述机器可读存储介质存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现本申请实施例提供的报文转发方法。

本申请的一个实施例中,提供了一种报文转发方法,应用于虚拟路由器冗余协议vrrp组网中的第一成员设备,所述vrrp组网还包括与所述第一成员设备组成所述vrrp组网的第二成员设备,所述第一成员设备、第二成员设备属于相同vrrp备份组,所述方法包括:

接收所述第二成员设备通过会话备份链路发送的会话表项,其中,所述会话备份链路为用于传输所述第一成员设备和第二成员设备之间会话表项的链路;

在检测到所述第二成员设备出现故障时,设置所述第一成员设备为vrrp备份组的主设备;

在接收到报文后,在所述第一成员设备自身生成的会话表项和所述第二成员设备发送的会话表项中,确定与接收到的报文匹配的会话表项;

根据所确定的会话表项,转发接收到的报文。

需要说明的是,机器可执行指令促使处理器实现的报文转发方法的其他实施例,与前述方法实施例部分提供的实施例相同,这里不再赘述。

由以上可见,本实施例提供的方案中,第一成员设备和第二成员设备属于相同vrrp备份组,第一成员设备通过会话备份链路接收、备份在第二成员设备即主设备上产生的会话表项,因此,当第二成员设备出现故障时,第一成员设备能够检测到第二成员设备出现故障。这种情况下,第一成员设备设置自身为vrrp备份组的主设备,由第一成员设备转发报文。由于第一成员设备已经备份第二成员设备的会话表项,因此,在转发报文时,即使网络内的第二成员设备出现故障,依然能够通过第一成员设备转发报文,实现转发报文时的无缝连接,从而提供高可靠性的链路。

另外,第一成员设备与第二成员设备之间是通过会话备份链路来发送会话表项的,也就是,通过会话备份链路实现会话表项备份的。因此,

一方面,vrrp组网中的第二成员设备出现故障后由第一成员设备负责转发报文时,由于第一成员设备中已备份有第二成员设备通过会话备份链路发送的会话表项,因此,第一成员设备不会由于无法查找到会话表项而导致报文被丢弃;

另一方面,通过会话备份链路发送会话表项时,两台成员设备之间可以快速完成会话表项的备份,从而有利于提高转发报文的成功概率;

再一方面,由于会话备份链路是专门用于在第一成员设备与第二成员设备之间发送会话表项的,因此,在第一成员设备和第二成员设备之间传输会话表项时,不会与其他业务争抢资源,从而能够快速实现会话表项备份,有利于提高网络的稳定性,并且有利于提供报文转发的流畅性。

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

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

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

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