报文转发方法、设备及系统的制作方法

文档序号:7856703阅读:98来源:国知局
专利名称:报文转发方法、设备及系统的制作方法
技术领域
本发明涉及网络通信技木,尤其涉及ー种报文转发方法、设备及系统。
背景技术
防火墙通常是由软件和硬件设备组合而成,用于在内部网和外部网之间、专用网与公共网之间、局域网(Intranet)与互联网(Internet)之间建立起ー个安全网关(Security Gateway),从而保护内部网、专用网或局域网不受非法用户的侵入。现有技术中一般会部署防火墙双机热备,为了实现流量负载均衡,还出现了负载分担方式的双机备份。即在正常情况下,对于一条流来说,该流的流量走其中的ー个防火墙,该防火墙将转发该流所需的流表同步给另ー个防火墙进行备份,当该防火墙发生故障 吋,该流的流量切換到另ー个防火墙。在双机备份情况下,要求同一流的流量路径对称,也就是,当一个流的流量走ー个防火墙时,要求该流回程的流量也走该防火墙,否则该流回程的流量将被丢弃。但是在网络流量繁重的情况下,大量流表的同步可能无法及时完成,这样当该流的流量从另ー防火墙回程时,就会被丢弃,造成流量丢失。

发明内容
本发明提供ー种报文转发方法、设备及系统,用以解决防火墙双机热备场景下流量丢失的问题。本发明一方面提供ー种报文转发方法,包括互为热备的多个防火墙中的从防火墙接收报文流中的非首报文;如果所述从防火墙在本地未找到转发所述非首报文所需的流表,通过与所述互为热备的多个防火墙中的主防火墙之间的报文转发隧道,将所述非首报文转发给所述主防火墙,以使所述主防火墙根据本地的所述流表转发所述非首报文。本发明一方面还提供ー种防火墙设备,包括第一接收模块,用于接收报文流中的非首报文,其中,所述防火墙设备为互为热备的多个防火墙中的从防火墙;第一转发模块,用于在本地未找到转发所述非首报文所需的流表时,通过与所述互为热备的多个防火墙中的主防火墙之间的报文转发隧道,将所述非首报文转发给所述主防火墙,以使所述主防火墙根据本地的所述流表转发所述非首报文。本发明另一方面提供ー种报文转发方法,包括互为热备的多个防火墙中的主防火墙通过与所述互为热备的多个防火墙中的从防火墙之间的报文转发隧道,接收所述从防火墙发送的非首报文,所述非首报文为所述从防火墙接收到的报文流中的报文;所述主防火墙根据本地转发所述非首报文所需的流表,转发所述非首报文。本发明另一方面还提供ー种防火墙设备,包括第二接收模块,用于通过与互为热备的多个防火墙中的从防火墙之间的报文转发隧道,接收所述从防火墙发送的非首报文,所述非首报文为所述从防火墙接收到的报文流中的报文;其中,所述防火墙设备为所述互为热备的多个防火墙中的主防火墙;第二转发模块,用于根据本地转发所述非首报文所需的流表,转发所述非首报文。本发明又一方面提供ー种报文转发系统,包括本发明一方面提供的任一防火墙设备和另一方面提供的任一防火墙设备。本发明提供的报文转发方法、设备及系统,互为热备的多个防火墙中的从防火墙在接收到报文流中的报文后,在本地查找是否存在转发该报文所需的流表,如果在本地未找到,则通过与互为热备的多个防火墙中的主防火墙之间的报文转发隧道,将接收到的报文转发给主防火墙,由主防火墙根据本地的流表转发非首报文,由此可见,本发明技术方案通过在主防火墙与从防火墙之间增加报文转发隧道,实现了主防火墙与从防火墙在转发层面的互通,从防火墙在本地未获取到转发报文所需的流表时,将报文转发给主防火墙,由主防火墙进行转发,解决了因流表无法及时同步给从防火墙,造成从防火墙将报文丢弃引起的流量丢失的问题。


图I为本发明一实施例提供的报文转发方法的流程图;图2为本发明另ー实施例提供的报文转发方法的流程图;图3为本发明又一实施例提供的报文转发方法的流程图;图4为本发明又一实施例提供的报文转发方法的流程图;图5为本发明又一实施例提供的报文转发方法的流程图;图6-图12为本发明一实施例提供的报文转发方法的图示过程;图13为本发明一实施例提供的防火墙设备的结构示意图;图14为本发明另ー实施例提供的防火墙设备的结构示意图;图15为本发明又一实施例提供的防火墙设备的结构示意图;图16为本发明又一实施例提供的防火墙设备的结构示意图。
具体实施例方式图I为本发明一实施例提供的报文转发方法的流程图。如图I所示,本实施例的方法包括步骤101、互为热备的多个防火墙中的从防火墙接收报文流中的非首报文。步骤102、如果从防火墙在本地未找到转发非首报文所需的流表,通过与互为热备的多个防火墙中的主防火墙之间的报文转发隧道,将非首报文转发给主防火墙,以使主防火墙根据本地的所述流表转发非首报文。在本实施例中,多个物理防火墙互为热备,在互为热备的多个防火墙中存在ー个主防火墙和多个从防火墙。本实施例以其中某个从防火墙为执行主体,描述从防火墙进行报文转发的过程。具体的,从防火墙接收报文流中的非首报文(即该报文流的后续报文)。其中,从防火墙可以根据报文流中各报文的协议特征区分出接收到的报文是该报文流的首报文还是非首报文。举例说明,对于TCP连接均要求其首报文为SYN报文,非首报文即非SYN报文的其他报文。根据所使用的传输协议的不同,从防火墙具体判断接收到的报文是否为首报文的过程不完全相同。这里的非首报文可以是除该报文流的首报文之外的其他任意报文。从防火墙接收到的非首报文可以是其上游设备发送的,也可以是其下游设备发送的。该非首报文可以是该报文流的首报文相同方向的后续报文,也可以是该报文流的首报文相反方向的报文,即非首报文还可以是ー个回程报文。当从防火墙识别出接收到的报文是非首报文后,在本地查找转发非首报文所需的流表。具体的,从防火墙可以根据非首报文中的五元组(即源IP地址,源端ロ,目的IP地址,目的端口和传输层协议号)在本地查找转发非首报文所需的流表。如果从防火墙未在本地查找到转发非首报文所需的流表,则通过与主防火墙之间的报文转发隧道,将非首报文转发给主防火墙,由主防火墙根据本地转发非首报文所需的流表转发非首报文。在本实施例中,主防火墙负责为每个报文流建立用于转发该报文流中的报文的流表,并会将建立的流表存储在本地,因此,主防火墙上一定会存在转发非首报文所需的流表,故从防火墙将非首报文转发给主防护墙可以保证非首报文被成功转发出去,而不会被丢弃。主防火墙在接收到每个报文流的首报文时为该报文流建立用于转发该报文流中的报文所需的流表。其中,主防火墙接收到的报文流的首报文可以是来自从防火墙,也可以是来自其上游设备或下游 设备。另外,在本实施例中,主防火墙还会将建立的流表同步给各从防火墙,以便于从防火墙根据流表进行相应报文流中的报文的转发。其中,从防火墙未在本地查找到转发非首报文所需的流表的情况可能是该流表尚未从主防火墙同步到从防火墙,例如可能是因为网络过于繁忙造成流表无法及时完成同步等。如果从防火墙在本地查找到转发非首报文所需的流表,则可以直接根据查找到的流表将非首报文转发出去。在本实施例中,流表中主要包括一条报文流对应的五元组信息(即报文流对应的源IP地址,源端ロ,目的IP地址,目的端口和传输层协议号)、过滤规则以及下一跳、出接ロ等信息,根据这些信息可以完成非首报文的转发。在此说明,本实施例中主防火墙与从防火墙之间除了在控制层面进行互通(即主防火墙将建立的各报文流对应的流表同步给从防火墙进行备份)之外,还可以在转发层面进行互通,具体是通过在主防火墙与从防火墙之间增加报文转发隧道实现的,在转发层面的互通是指从防火墙可以通过报文转发隧道将接收到的报文转发给主防火墙。而在现有技术中,互为备份的主防火墙和从防火墙之间仅在控制层面存在互通,而在转发层面是相互独立的,即从防火墙接收到报文之后如果本地存在转发该报文所需的流表,则成功转发该报文,如果本地不存在转发该报文所需的流表,则只能将该报文丢弃,而不会将该报文转发给主防火墙。由上述可见,本实施例通过在主防火墙与从防火墙之间增加报文转发隧道,实现了主防火墙与从防火墙在转发层面的互通,从防火墙在本地未获取到转发报文所需的流表时,将报文转发给主防火墙,由主防火墙进行转发,解决了因流表无法及时同步给从防火墙,造成从防火墙将报文丢弃引起的流量丢失的问题。图2为本发明另ー实施例提供的报文转发方法的流程图。本实施例基于图I所示实施例实现,如图2所示,本实施例在步骤101之前包括步骤100、从防火墙接收上述报文流的首报文,通过上述报文转发隧道将该报文流的首报文转发给主防火墙,以使主防火墙根据该报文流的首报文在本地建立上述流表井根据建立的流表转发该首报文。在本实施例中,上述报文流的首报文直接到达从防火墙,即从防火墙会接收报文流的首报文。其中,报文流的首报文是指该报文流的首个报文。从防火墙可以根据报文流中各报文的协议特征区分接收到报文是否为首报文。具体可參见上述实施例的描述。在本实施例中,从防火墙识别出接收到报文为报文流的首报文之后,可以获知本地尚未存在转发该首报文的流表,而本实施例中由主防火墙统ー为报文流建立转发报文流中的报文所需的流表,故从防火墙上通过其与主防火墙之间的报文转发隧道,将接收到的报文流的首报文转发给主防火墙,而主防火墙识别出该报文为报文流的首报文之后,获知需要建立该报文流对应的流表,于是根据接收到的首报文在本地建立该报文流对应的流表,并根据建立的流表转发该首报文。另外,主防火墙还向从防火墙发送所建立的流表,相应的,从防火墙接收主防火墙发送的流表,并在接收到主防火墙发送的流表时根据接收到的流表进行该报文流中的后续报文(即非首报文)的转发。其中,主防火墙向从防火墙发送流表的结果包括发送成功和发送失败,相应的,从防火墙接收主防火墙发送流表的结果包括接收到流表和未接收到流表。在此说明,主防火墙为报文流建立的流表、报文流对应的流表、转发非首报文所需 的流表以及转发报文流的首报文的流表是同一流表。由上述可见,当从防火墙接收到报文流的首报文之后,通过与主防火墙之间的报文转发隧道将接收到的首报文转发给主防火墙,然后由主防火墙统ー为报文流建立流表,而不再像现有技术那样由接收到首报文的防火墙负责为该报文流建立流表,有利于实现流表建立的统ー化,便于防火墙资源的统一分配,并且不涉及不同防火墙建立的流表之间的同步问题,实现简单。图3为本发明又一实施例提供的报文转发方法的流程图。本实施例基于图2所示实施例实现,如图3所示,本实施例的方法在步骤100之前包括步骤201、从防火墙通过虚拟技术与互为热备的多个防火墙中的其他防火墙形成逻辑防火墙,其中,互为热备的多个防火墙之间通过物理链路相互连接。具体的,从防火墙可以通过堆叠技术与互为热备的多个防火墙中的其他防火墙形成逻辑防火墙。其中,堆叠技术是ー种虚拟技木。除了堆叠技术之外,从防火墙还可以采用其他虚拟技术,例如智能弹性架构(Intelligent Resilient Framework,简称为IRF)或虚拟交换单元技术(Virtual Switch Unit,简称为VSU),与互为热备的多个防火墙中的其他防火墙形成逻辑防火墙。在本实施例中,预先将多个互为热备的防火墙通过物理链路相互连接起来,然后各防火墙通过虚拟技术形成逻辑防火墙。本实施例中互为热备的多个防火墙具有相同的软件特性、相同或兼容的硬件特性。逻辑防火墙在网络中仅表现为ー个网络节点,因此,本实施例将多个防火墙虚拟成为ー个逻辑防火墙,有利于简化网络组网与管理。进ー步,在该逻辑防火墙内部划分为主防火墙和从防火墙,主防火墙控制整个逻辑防火墙,例如负责所有防火墙的设备管理,以及逻辑防火墙的业务配置管理等。其中,逻辑防火墙的业务只需在主防火墙上配置,主防火墙配置完成之后,会同步给从防火墙。这里的配置主要是指用户手动在主防火墙上配置业务的过程。另外,主防火墙和从防火墙通过Hello报文、硬件状态变化等信息维护该虚拟防火墙的拓扑状态。
可选的,在步骤201之后还包括步骤202、从防火墙对该从防火墙连接的上游设备或下游设备与互为热备的多个防火墙之间的所有物理链路进行聚合处理,形成聚合链路或等价路由。也就是说,逻辑防火墙与其上游设备和下游设备通过聚合链路或等价路由方式连接。对于同一上游设备或下游设备来说,其对应的聚合链路或等价路由中包含每个防火墙分别与该上游设备或下游设备连接的物理链路,但是效果上只相当于一条逻辑链路。其中,通过聚合链路或等价路由方式连接上逻辑防火墙与其下游设备,可以实现流量在多个防火墙上进行负载均衡。图4为本发明又一实施例提供的报文转发方法的流程图。如图4所示,本实施例的方法包括步骤401、互为热备的多个防火墙中的主防火墙通过与互为热备的多个防火墙中 的从防火墙之间的报文转发隧道,接收从防火墙发送的非首报文,所述非首报文为从防火墙接收到的报文流中的报文。 步骤402、主防火墙根据本地转发非首报文所需的流表,转发非首报文。本实施例与图I所示实施例相适应,主要是从主防火墙的角度进行描述。具体的,从防火墙接收报文流中的报文,并识别出接收到的是非首报文(即该报文流的后续报文)后,在本地查找转发非首报文所需的流表,当未在本地查找到转发非首报文所需的流表吋,通过与主防火墙之间的报文转发隧道将非首报文转发给主防火墙。主防火墙接收从防火墙通过两者之间的报文转发隧道发送的非首报文。这里的非首报文(即后续报文)可以是除报文流的首报文之外的其他任意报文。主防火墙在接收到报文流的首报文之后,根据报文流的首报文建立转发该报文流中的报文所需的流表,因此,在接收到除报文流的首报文之外的非首报文时,可以获知本地已经存在转发非首报文所需的流表,故根据非首报文中的五元组等信息,在本地获取转发非首报文所需的流表,然后根据该流表将非首报文转发出去。在上述过程中,关于从防火墙的操作可參见图I所示实施例的描述。在上述过程中,主防火墙也会根据接收到的报文的协议特征区分接收到的报文是否为首报文,其具体过程与从防火墙区分的过程相同,在此不再细述。同理,本实施例中主防火墙与从防火墙之间除了在控制层面进行互通(即主防火墙将建立的各报文流对应的流表同步给从防火墙进行备份)之外,还可以在转发层面进行互通,具体是通过在主防火墙与从防火墙之间增加报文转发隧道实现的,在转发层面的互通是指从防火墙可以通过报文转发隧道将接收到的报文转发给主防火墙。而在现有技术中,互为备份的主防火墙和从防火墙之间仅在控制层面存在互通,而在转发层面是相互独立的,即从防火墙接收到报文之后如果本地存在转发该报文所需的流表,则成功转发该报文,如果本地不存在转发该报文所需的流表,则只能将该报文丢弃,而不会将该报文转发给主防火墙。由上述可见,本实施例通过在主防火墙与从防火墙之间增加报文转发隧道,实现了主防火墙与从防火墙在转发层面的互通,从防火墙在本地未获取到转发报文所需的流表时,将报文转发给主防火墙,由主防火墙进行转发,解决了因流表无法及时同步给从防火墙,造成从防火墙将报文丢弃引起的流量丢失的问题。图5为本发明又一实施例提供的报文转发方法的流程图。本实施例基于图4所示实施例实现,如图5所示,本实施例的方法在步骤401之前包括步骤500、主防火墙通过报文转发隧道,接收从防火墙发送的报文流的首报文。步骤501、主防火墙根据接收到的首报文在本地建立所述流表,根据建立的流表转发该首报文。在本实施例中,上述报文流的首报文到达从防火墙,并由从防火墙将该首报文转发给主防火墙,主防火墙接收到从防火墙发送的报文后,根据报文的协议特征区分接收到的报文是否为首报文,在确定从防火墙发送的报文为首报文之后,根据首报文在本地建立转发该首报文所属报文流中的报文所需的流表(即转发非首报文所需的流表),然后基于建立的流表将该首报文转发出去。另外,主防火墙还会向从防火墙发送所建立的流表。相应的,从防火墙会接收主防火墙发送的流表。其中,主防火墙向从防火墙发送流表的结果包括发送成功和发送失败,相应的,从防火墙接收主防火墙发送流表的结果包括接收到流表和未接收到流表。如果从防 火墙接收到主防火墙发送的流表,则在后续接收到上述报文流中的非首报文后可以直接根据接收到的流表转发非首报文,如果从防火墙未接收到主防火墙发送的流表,则在后续接收到上述报文流中的非首报文后就会执行上述步骤401及后续步骤,以完成非首报文的转发。由上述可见,当从防火墙接收到报文流的首报文之后,通过与主防火墙之间的报文转发隧道将接收到的首报文转发给主防火墙,然后由主防火墙统ー为报文流建立流表,而不再像现有技术那样由接收到首报文的防火墙负责为该报文流建立流表,有利于实现流表建立的统ー化,便于防火墙资源的统一分配,并且不涉及不同防火墙建立的流表之间的同步问题,实现简单。在此说明,本实施例的主防火墙除了可以接收从防火墙发送的报文流中的非首报文和首报文之外,也可以接收其他设备,例如主防火墙的上游设备或下游设备等发送的其他报文流中的报文(包括首报文和后续报文),并会根据其他报文流中的首报文为建立转发其他报文流中的报文所需的流表,根据建立的流表进行其他报文流中报文的转发,也会将建立的流表同步给从防火墙,以便在主防火墙发生故障时由从防火墙根据接收到的流表进行其他报文流中的后续报文的转发。在图4或图5所示实施例的基础上,在步骤500之前包括以下可选步骤主防火墙通过虚拟技术与互为热备的多个防火墙中的其他防火墙形成逻辑防火墙,其中互为热备的多个防火墙之间通过物理链路相互连接。具体的,主防火墙通过堆叠技术或其他虚拟技术(例如IRF、VSU)与互为热备的多个防火墙中的其他防火墙形成所述逻辑防火墙。通过形成逻辑防火墙,有利于简化网络组网与管理。进ー步,在形成逻辑防火墙之后还可以包括一可选步骤主防火墙对该主防火墙连接的上游设备或下游设备与互为热备的多个防火墙之间的所有物理链路进行聚合处理,形成聚合链路或等价路由。也就是说,逻辑防火墙通过聚合链路方式或等价路由方式与逻辑防火墙的上游设备和下游设备进行连接。通过聚合链路或等价路由方式连接上逻辑防火墙与其下游设备,可以实现流量在多个防火墙上进行负载均衡。上述可选步骤的具体描述可參见图3所示实施例,在此不再赘述。进ー步在上述各实施例中,当主防火墙发生故障时,从防火墙会成为新的主用防火墙。下面结合具体图示,对本发明一优选实施方式进行详细说明。在以下描述中,假设互为热备的多个防火墙包括防火墙FWl和防火墙FW2。如图6所示,通过物理链路将防火墙FWl和防火墙FW2连接起来,通过虚拟技术(例如堆叠技术)将防火墙FWl和防火墙FW2虚拟成一个逻辑防火墙。如图7所示,使用聚合链路连接逻辑防火墙与其上游设备Rl和下游设备R2。如图7所示,使用聚合链路将逻辑防火墙与其上游设备Rl和下游设备R2连接,实际上是将逻辑防火墙中的防火墙FWl和防火墙FW2通过物理链路分别与上游设备Rl和下游设备R2连接。在图7所示的聚合链路中包含两个物理链路,但是效果上只相当于一条逻辑链路。在逻辑防火墙中存在主防火墙和从防火墙,主防火墙和从防火墙可以由管理员手动配置,也可以由各防火墙采用一定的选举机制自行选举出。在本实施例中,假设主防火墙为防火墙FW1,从防火墙为FW2。
基于上述逻辑防火墙的拓扑结构,报文转发过程具体包括如图8所示,当一个报文流的首报文到达防火墙FWl吋,防火墙FWl创建对应的流表,并将该报文流的首报文以及该报文流的后续报文从对应的聚合链路中主防火墙对应的端ロ转发出去,同时防火墙FWl将建立的流表同步给防火墙FW2。报文转发路径如图8中带箭头的虚线所示。如图9所示,当一个报文流的首报文到达防火墙FW2吋,防火墙FW2将该报文流的首报文通过与防火墙FWl之间的报文转发隧道转发给防火墙FWl,防火墙FWl创建对应的流表,并将该报文流的首报文从对应的聚合链路中主防火墙对应的端ロ转发出去,同时防火墙FWl将建立的流表同步给防火墙FW2,以使防火墙FW2根据该流表转发该报文流的后续报文。其中,首报文的转发路径如图9中带箭头的虚线所示。如图10所示,如果上述报文流中的后续报文进入防火墙FWl时,防火墙FWl可以找到对应的流表,则将后续报文直接从对应的聚合链路中防火墙FWl对应的端ロ转发出去。在本实施例中以后续报文为回程报文为例,则后续报文的转发路径如图10中带箭头的虚线所示。如图11所示,如果上述报文流中的后续报文进入防火墙FW2时,防火墙FW2在本地查找对应的流表,如果在本地找到对应的流表,则将后续报文直接从对应的聚合链路中防火墙FW2对应的端ロ转发出去。在本实施例中以后续报文为回程报文为例,则后续报文的转发路径如图11中带箭头的虚线所示。如图12所示,如果上述报文流中的后续报文进入防火墙FW2时,防火墙FW2在本地查找对应的流表,如果未在本地找到对应的流表,则通过与防火墙FWl之间的报文转发隧道,将后续报文转发给防火墙FWl,防火墙FWl可以在本地找到对应的流表,则将后续报文直接从对应的聚合链路中防火墙FWl对应的端ロ转发出去。在本实施例中以后续报文为回程报文为例,则后续报文的转发路径如图12中带箭头的虚线所示。由上述可见,本实施例通过将多个防火墙虚拟成一个逻辑防火墙,可以简化组网,通过聚合链路连接逻辑防火墙与其上下游设备,可以实现流量在多个防火墙上进行负载均衡,通过在主从防火墙之间建立报文转发隧道,可以解决从防火墙在流表尚未完全同步或丢失等情况下造成的流量丢失的问题。
图13为本发明一实施例提供的防火墙设备的结构示意图。本实施例的防火墙设备可以作为互为热备的多个防火墙设备中的从防火墙。如图13所示,本实施例的防火墙设备包括第一接收模块131和第一转发模块132。第一接收模块131,用于接收报文流中的非首报文。其中,第一接收模块131与第ー转发模块132连接。第一接收模块131会将接收到的非首报文提供给第一转发模块132。第一转发模块132,用于在本地未找到转发第一接收模块131接收到的非首报文所需的流表时,通过与互为热备的多个防火墙中的主防火墙之间的报文转发隧道,将非首报文转发给主防火墙,以使主防火墙根据本地的所述流表转发所述非首报文。在本实施例的一可选实施方式中,第一接收模块131还用于在接收所述非首报文之前,接收所述报文流的首报文。同理,第一接收模块131会将首报文提供给第一转发模块132。相应的,第一转发模块132还用于通过所述报文转发隧道将所述首报文转发给所述主防火墙,以使所述主防火墙根据所述首报文在本地建立所述流表井根据所述流表转发所述首报文。
在本实施例的一可选实施方式中,第一接收模块131还用于接收所述主防火墙发送的所述流表。第一接收模块131可以向第一转发模块132提供所述流表。可选的,第一转发模块132还用于在本地找到转发所述非首报文所需的流表时,直接根据本地找到的流表转发所述非首报文。在本实施例的一可选实施方式中,如图14所示,本实施例的防火墙设备还包括第一形成模块133。第一形成模块133,通过虚拟技术与互为热备的多个防火墙中的其他防火墙形成逻辑防火墙,其中,所述互为热备的多个防火墙之间通过物理链路相互连接。可选的,第一形成模块133具体可用于通过堆叠技术或其他虚拟技术(例如IRF、VSU)与互为热备的多个防火墙中的其他防火墙形成所述逻辑防火墙。可选的,第一形成模块133还可与第一接收模块131连接,具体用于在第一接收模块131接收报文流的首报文之前,形成所述逻辑防火墙。在本实施例的一可选实施方式中,如图14所示,本实施例的防火墙设备还包括第一链路聚合模块134。第一链路聚合模块134,用于在第一形成模块133形成逻辑防火墙之后,对本实施例的防火墙设备连接的上游设备或下游设备与互为热备的多个防火墙之间的所有物理链路进行聚合处理,形成聚合链路或等价路由。可选的,第一链路聚合模块134与第一形成模块133连接。本实施例提供的防火墙设备的各功能模块可用于执行上述图I-图3所示方法实施例的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。本实施例提供的防火墙设备作为互为热备的多个防火墙中的从防火墙,在接收到报文流中的报文后,在本地查找是否存在转发该报文所需的流表,如果在本地未找到,则通过与互为热备的多个防火墙中的主防火墙之间的报文转发隧道,将接收到的报文转发给主防火墙,由主防火墙根据本地的流表转发非首报文,由此可见,本实施例的防火墙设备与主防火墙之间増加了报文转发隧道,实现了本实施例的防火墙设备与主防火墙在转发层面的互通,本实施例的防火墙设备可以在在本地未获取到转发报文所需的流表时,将报文转发给主防火墙,由主防火墙进行转发,解决了因流表无法及时同步给从防火墙,造成的将报文丢弃引起的流量丢失的问题。
图15为本发明又一实施例提供的防火墙设备的结构示意图。本实施例的防火墙设备可以是互为热备的多个防火墙中的主防火墙。如图15所示,本实施例的防火墙设备包括第二接收模块151和第二转发模块152。其 中,第二接收模块151,用于通过与互为热备的多个防火墙中的从防火墙之间的报文转发隧道,接收所述从防火墙发送的非首报文,所述非首报文为所述从防火墙接收到的报文流中的报文。第二接收模块151与第二转发模块152连接,用于将接收到的非首报文提供给第二转发模块152。第二转发模块152,用于根据本地转发所述非首报文所需的流表,转发所述非首报文。在本实施例的一可选实施方式中,第二接收模块151还用于在接收所述非首报文之前,通过所述报文转发隧道,接收所述从防火墙发送的所述报文流的首报文。基于此,如图16所示,本实施例的防火墙设备还包括流表建立模块153。该流表建立模块153,与第ニ接收模块151连接,用于根据第二接收模块151接收到的所述首报文在本地建立所述流表。相应的,第二转发模块152还与流表建立模块153连接,用于根据流表建立模块153建立的所述流表转发所述首报文。在本实施例的一可选实施方式中,如图16所示,本实施例的防火墙设备还包括流表同步模块154。该流表同步模块154,与流表建立模块153连接,用于向所述从防火墙发送流表建立模块153建立的所述流表。在本实施例的一可选实施方式中,如图16所示,本实施例的防火墙设备还包括第二形成模块155。第二形成模块155,用于通过虚拟技术与互为热备的多个防火墙中的其他防火墙形成逻辑防火墙,其中,所述互为热备的多个防火墙之间通过物理链路相互连接。可选的,第二形成模块155具体可用于通过堆叠技术或其他虚拟技术(例如IRF、VSU)与互为热备的多个防火墙中的其他防火墙形成所述逻辑防火墙。可选的,第二形成模块155与第二接收模块151连接,具体可用于在第二接收模块151接收所述首报文之前,形成所述逻辑防火墙。在本实施例的一可选实施方式中,如图16所示,本实施例的防火墙设备还包括第二链路聚合模块156。第二链路聚合模块156,与第二形成模块155连接,用于在第二形成模块155形成所述逻辑防火墙之后,对防火墙设备连接的上游设备或下游设备与所述互为热备的多个防火墙之间的所有物理链路进行聚合处理,形成聚合链路或等价路由。本实施例提供的防火墙设备的各功能模块可用于执行上述图4或图5所示方法实施例的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。本实施例提供的防火墙设备作为互为热备的多个防火墙中的主防火墙,与互为热备的多个防火墙中的从防火墙之间増加了报文转发隧道,使得从防火墙无法成功转发报文流的非首报文时可以转发给本实施例的防火墙设备,而本实施例的防火墙设备在接收到从防火墙发送的报文流的非首报文吋,根据本地的流表转发非首报文,解决了因流表无法及时同步给从防火墙,造成从防火墙将报文丢弃引起的流量丢失的问题。本发明ー实施例提供ー种报文转发系统,包括本发明图13或图14所示实施例提供的防火墙设备,以及图15或图16所示实施例提供的防火墙设备。其中,图13或图14所示实施例提供的防火墙设备作为本系统中的从防火墙,本系统可以包括多个从防火墙;图15或图16所示实施例提供的防火墙设备作为本系统中的主防火墙。从防火墙和主防火墙相互配合完成各报文流中的报文的转发。其具体转发过程可參见上述方法实施例的描述,在此不再赘述。本实施例提供的报文转发系统包括互为热备的从防火墙和主防火墙,从防火墙在接收到报文流中的报文后,在本地查找是否存在转发该报文所需的流表,如果在本地未找至IJ,则通过与互为热备的多个防火墙中的主防火墙之间的报文转发隧道,将接收到的报文转发给主防火墙,由主防火墙根据本地的流表转发非首报文,由此可见,本实施例的系统通过在主防火墙与从防火墙之间增加报文转发隧道,实现了主防火墙与从防火墙在转发层面的互通,从防火墙在本地未获取到转发报文所需的流表时,将报文转发给主防火墙,由主防火墙进行转发,解决了因流表无法及时同步给从防火墙,造成从防火墙将报文丢弃引起的流量丢失的问题。本领域普通技术人员可以理解实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于ー计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟 或者光盘等各种可以存储程序代码的介质。最后应说明的是以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管參照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.一种报文转发方法,其特征在于,包括 互为热备的多个防火墙中的从防火墙接收报文流中的非首报文; 如果所述从防火墙在本地未找到转发所述非首报文所需的流表,通过与所述互为热备的多个防火墙中的主防火墙之间的报文转发隧道,将所述非首报文转发给所述主防火墙,以使所述主防火墙根据本地的所述流表转发所述非首报文。
2.根据权利要求I所述的报文转发方法,其特征在于,所述互为热备的多个防火墙中的从防火墙接收报文流中的非首报文之前包括 所述从防火墙接收所述报文流的首报文,通过所述报文转发隧道将所述首报文转发给所述主防火墙,以使所述主防火墙根据所述首报文在本地建立所述流表并根据所述流表转发所述首报文。
3.根据权利要求2所述的报文转发方法,其特征在于,还包括 所述从防火墙接收所述主防火墙发送的所述流表。
4.根据权利要求2或3所述的报文转发方法,其特征在于,所述从防火墙接收所述报文流的首报文之前包括 所述从防火墙通过虚拟技术与所述互为热备的多个防火墙中的其他防火墙形成逻辑防火墙,其中,所述互为热备的多个防火墙之间通过物理链路相互连接。
5.根据权利要求4所述的报文转发方法,其特征在于,所述从防火墙通过虚拟技术与所述互为热备的多个防火墙中的其他防火墙形成逻辑防火墙包括 所述从防火墙通过堆叠技术与所述互为热备的多个防火墙中的其他防火墙形成所述逻辑防火墙。
6.根据权利要求4所述的报文转发方法,其特征在于,形成所述逻辑防火墙之后还包括 所述从防火墙对所述从防火墙连接的上游设备或下游设备与所述互为热备的多个防火墙之间的所有物理链路进行聚合处理,形成聚合链路或等价路由。
7.—种报文转发方法,其特征在于,包括 互为热备的多个防火墙中的主防火墙通过与所述互为热备的多个防火墙中的从防火墙之间的报文转发隧道,接收所述从防火墙发送的非首报文,所述非首报文为所述从防火墙接收到的报文流中的报文; 所述主防火墙根据本地转发所述非首报文所需的流表,转发所述非首报文。
8.根据权利要求7所述的报文转发方法,其特征在于,所述互为热备的多个防火墙中的主防火墙通过与所述互为热备的多个防火墙中的从防火墙之间的报文转发隧道,接收所述从防火墙发送的非首报文之前包括 所述主防火墙通过所述报文转发隧道,接收所述从防火墙发送的所述报文流的首报文; 所述主防火墙根据所述首报文在本地建立所述流表,根据建立的所述流表转发所述首报文。
9.根据权利要求8所述的报文转发方法,其特征在于,还包括 所述主防火墙向所述从防火墙发送所述流表。
10.根据权利要求8或9所述的报文转发方法,其特征在于,所述主防火墙通过所述报文转发隧道,接收所述从防火墙发送的所述报文流的首报文之前包括 所述主防火墙通过虚拟技术与所述互为热备的多个防火墙中的其他防火墙形成逻辑防火墙,其中,所述互为热备的多个防火墙之间通过物理链路相互连接。
11.根据权利要求10所述的报文转发方法,其特征在于,所述主防火墙通过虚拟技术与所述互为热备的多个防火墙中的其他防火墙形成逻辑防火墙包括 所述主防火墙通过堆叠技术与所述互为热备的多个防火墙中的其他防火墙形成所述逻辑防火墙。
12.根据权利要求10所述的报文转发方法,其特征在于,形成所述逻辑防火墙之后还包括 所述主防火墙对所述主防火墙连接的上游设备或下游设备与所述互为热备的多个防火墙之间的所有物理链路进行聚合处理,形成聚合链路或等价路由。
13.一种防火墙设备,其特征在于,包括 第一接收模块,用于接收报文流中的非首报文,其中,所述防火墙设备为互为热备的多个防火墙中的从防火墙; 第一转发模块,用于在本地未找到转发所述非首报文所需的流表时,通过与所述互为热备的多个防火墙中的主防火墙之间的报文转发隧道,将所述非首报文转发给所述主防火墙,以使所述主防火墙根据本地的所述流表转发所述非首报文。
14.根据权利要求13所述的防火墙设备,其特征在于,所述第一接收模块还用于在接收所述非首报文之前,接收所述报文流的首报文; 所述第一转发模块还用于通过所述报文转发隧道将所述首报文转发给所述主防火墙,以使所述主防火墙根据所述首报文在本地建立所述流表并根据所述流表转发所述首报文。
15.根据权利要求14所述的防火墙设备,其特征在于,所述第一接收模块还用于接收所述主防火墙发送的所述流表。
16.根据权利要求14或15所述的防火墙设备,其特征在于,还包括 第一形成模块,通过虚拟技术与所述互为热备的多个防火墙中的其他防火墙形成逻辑防火墙,其中,所述互为热备的多个防火墙之间通过物理链路相互连接。
17.根据权利要求16所述的防火墙设备,其特征在于,所述第一形成模块具体用于通过堆叠技术与所述互为热备的多个防火墙中的其他防火墙形成所述逻辑防火墙。
18.根据权利要求16所述的防火墙设备,其特征在于,还包括 第一链路聚合模块,用于对所述防火墙设备连接的上游设备或下游设备与所述互为热备的多个防火墙之间的所有物理链路进行聚合处理,形成聚合链路或等价路由。
19.一种防火墙设备,其特征在于,包括 第二接收模块,用于通过与互为热备的多个防火墙中的从防火墙之间的报文转发隧道,接收所述从防火墙发送的非首报文,所述非首报文为所述从防火墙接收到的报文流中的报文;其中,所述防火墙设备为所述互为热备的多个防火墙中的主防火墙; 第二转发模块,用于根据本地转发所述非首报文所需的流表,转发所述非首报文。
20.根据权利要求19所述的防火墙设备,其特征在于,所述第二接收模块还用于在接收所述非首报文之前,通过所述报文转发隧道,接收所述从防火墙发送的所述报文流的首报文;所述防护墙设备还包括 流表建立模块,用于根据所述首报文在本地建立所述流表; 所述第二转发模块还用于根据建立的所述流表转发所述首报文。
21.根据权利要求20所述的防火墙设备,其特征在于,还包括 流表同步模块,用于向所述从防火墙发送所述流表。
22.根据权利要求20或21所述的防火墙设备,其特征在于,还包括 第二形成模块,用于通过虚拟技术与所述互为热备的多个防火墙中的其他防火墙形成逻辑防火墙,其中,所述互为热备的多个防火墙之间通过物理链路相互连接。
23.根据权利要求22所述的防火墙设备,其特征在于,所述第二形成模块具体用于通过堆叠技术与所述互为热备的多个防火墙中的其他防火墙形成所述逻辑防火墙。
24.根据权利要求22所述的防火墙设备,其特征在于,还包括 第二链路聚合模块,用于对所述防火墙设备连接的上游设备或下游设备与所述互为热备的多个防火墙之间的所有物理链路进行聚合处理,形成聚合链路或等价路由。
25.一种报文转发系统,其特征在于,包括权利要求13-18任一项所述的防火墙设备和权利要求19-24任一项所述的防火墙设备。
全文摘要
本发明提供一种报文转发方法、设备及系统。一种转发方法包括互为热备的多个防火墙中的从防火墙接收报文流中的非首报文;如果从防火墙在本地未找到转发非首报文所需的流表,通过与互为热备的多个防火墙中的主防火墙之间的报文转发隧道,将非首报文转发给主防火墙,以使主防火墙根据本地的流表转发非首报文。本发明技术方案解决了防火墙双机热备场景下流量丢失的问题。
文档编号H04L29/06GK102821099SQ20121025842
公开日2012年12月12日 申请日期2012年7月24日 优先权日2012年7月24日
发明者刘熙 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1