CN111181985B - 数据传输方法、数据传输***、防火墙设备和存储介质 - Google Patents

数据传输方法、数据传输***、防火墙设备和存储介质 Download PDF

Info

Publication number
CN111181985B
CN111181985B CN201911425660.3A CN201911425660A CN111181985B CN 111181985 B CN111181985 B CN 111181985B CN 201911425660 A CN201911425660 A CN 201911425660A CN 111181985 B CN111181985 B CN 111181985B
Authority
CN
China
Prior art keywords
firewall
data packet
packet
response
response data
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
CN201911425660.3A
Other languages
English (en)
Other versions
CN111181985A (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.)
Qax Technology Group Inc
Secworld Information Technology Beijing Co Ltd
Original Assignee
Qax Technology Group Inc
Secworld Information Technology Beijing 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 Qax Technology Group Inc, Secworld Information Technology Beijing Co Ltd filed Critical Qax Technology Group Inc
Priority to CN201911425660.3A priority Critical patent/CN111181985B/zh
Publication of CN111181985A publication Critical patent/CN111181985A/zh
Application granted granted Critical
Publication of CN111181985B publication Critical patent/CN111181985B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • 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 Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开提供了一种数据传输方法,应用于第一防火墙,该方法包括:在通过第二防火墙向服务端发送来自客户端的请求数据包的情况下,接收来自服务端的响应数据包,其中,第一防火墙为第二防火墙的备份防火墙;对响应数据包进行解析,得到解析数据;根据解析数据查找是否存在与响应数据包匹配的会话数据,以确定是否向第二防火墙发送响应数据包;以及在不存在与响应数据包匹配的会话数据的情况下,向第二防火墙发送响应数据包,以使得通过第二防火墙对响应数据包进行处理。本公开还提供了一种应用于第二防火墙的数据传输方法,一种数据传输***和一种防火墙设备、一种可读存储介质和一种计算机程序产品。

Description

数据传输方法、数据传输***、防火墙设备和存储介质
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种数据传输方法,一种数据传输***和一种防火墙设备、一种可读存储介质和一种计算机程序产品。
背景技术
在部署多台防火墙设备(以下简称防火墙)时,因客户网络环境复杂,普遍存在一些特殊需求,例如:不改变当前网络组网、不能因防火墙部署带来其他网络设备的采购、防火墙之间独立工作且互为备份、支持非对称路由结构下的路径冗余。
目前主流厂商防火墙,基于链路级的多重冗余能力,能提供多种环境下灵活组网,具体部署时可以依据具体客户网络环境选择主/备和主/主结构下的口型或Full Mesh组网方式,支持多台防火墙独立工作时的会话同步。在支持多台防火墙会话同步时,防火墙之间需要传输各自创建的会话数据,然后基于创建的会话数据进行数据包的转发。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:如果防火墙在无会话数据的情况下收到服务端返回的数据包,可能会出现本该转发给客户端却丢包的情况,导致客户端需要重新发起连接建立过程,从而影响数据传输效率。
发明内容
有鉴于此,本公开提供了一种数据传输方法,一种数据传输***和一种防火墙设备。
本公开的一个方面提供了一种数据传输方法,应用于第一防火墙,所述方法包括:在通过第二防火墙向服务端发送来自客户端的请求数据包的情况下,接收来自所述服务端的响应数据包,其中,所述第一防火墙为所述第二防火墙的备份防火墙;对所述响应数据包进行解析,得到解析数据;根据所述解析数据查找是否存在与所述响应数据包匹配的会话数据,以确定是否向所述第二防火墙发送所述响应数据包;以及在不存在与所述响应数据包匹配的会话数据的情况下,向所述第二防火墙发送所述响应数据包,以使得通过所述第二防火墙对所述响应数据包进行处理。
根据本公开的实施例,所述的方法还包括:在不存在与所述响应数据包匹配的会话数据的情况下,在向所述第二防火墙发送所述响应数据包之前,确定所述响应数据包的协议类型;判断所述响应数据包的协议类型是否配置了转发策略;以及在所述响应数据包的协议类型配置了转发策略的情况下,向所述第二防火墙发送所述响应数据包。
根据本公开的实施例,所述的方法还包括:在所述响应数据包的协议类型没有配置转发策略的情况下,对所述响应数据包执行检查操作;在所述响应数据包检查通过的情况下,创建与所述响应数据包对应的会话,并向所述客户端发送所述响应数据包;以及在所述响应数据包检查不通过的情况下,对所述响应数据包进行丢包处理。
根据本公开的实施例,所述的方法还包括:在存在与所述响应数据包匹配的会话数据的情况下,向所述客户端发送所述响应数据包。
根据本公开的实施例,通过所述第二防火墙对所述响应数据包进行处理包括:判断所述第二防火墙是否存在与所述响应数据包匹配的会话数据;以及在所述第二防火墙不存在与所述响应数据包匹配的会话数据的情况下,对所述响应数据包进行丢包处理。
根据本公开的实施例,所述的方法还包括:在所述第二防火墙存在与所述响应数据包匹配的会话数据的情况下,向所述客户端发送所述响应数据包;以及向所述第一防火墙发送所述会话数据,以便所述第一防火墙保存所述会话数据。
本公开的另一个方面提供了一种数据传输方法,应用于第二防火墙,所述方法包括:向服务端发送来自客户端的请求数据包;接收来自第一防火墙的响应数据包,对所述响应数据包进行处理。其中,所述第一防火墙为所述第二防火墙的备份防火墙,所述响应数据包是在所述第一防火墙执行如下操作后发送的:接收来自所述服务端的响应数据包;对所述响应数据包进行解析,得到解析数据;根据所述解析数据查找是否存在与所述响应数据包匹配的会话数据,以确定是否向所述第二防火墙发送所述响应数据包;以及根据所述解析数据查找不存在与所述响应数据包匹配的会话数据,向所述第二防火墙发送所述响应数据包。
根据本公开的实施例,对所述响应数据包进行处理包括:判断所述第二防火墙是否存在与所述响应数据包匹配的会话数据;在所述第二防火墙不存在与所述响应数据包匹配的会话数据的情况下,对所述响应数据包进行丢包处理;在所述第二防火墙存在与所述响应数据包匹配的会话数据的情况下,向所述客户端发送所述响应数据包;以及向所述第一防火墙发送所述会话数据,以便所述第一防火墙保存所述会话数据。
本公开的另一个方面提供了一种数据传输***,包括第一防火墙和第二防火墙,其中,所述第一防火墙为所述第二防火墙的备份防火墙,其中:
所述第一防火墙用于执行:在通过所述第二防火墙向服务端发送来自客户端的请求数据包的情况下,接收来自所述服务端的响应数据包;对所述响应数据包进行解析,得到解析数据;根据所述解析数据查找是否存在与所述响应数据包匹配的会话数据,以确定是否向所述第二防火墙发送所述响应数据包;以及在不存在与所述响应数据包匹配的会话数据的情况下,向所述第二防火墙发送所述响应数据包;
所述第二防火墙用于执行:向服务端发送来自客户端的请求数据包;接收来自所述第一防火墙的响应数据包;以及对所述响应数据包进行处理。
本公开的另一个方面提供了一种防火墙设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
本公开的另一方面提供了一种可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序产品,包括可执行指令,该指令被处理器执行时使处理器实现如上所述的方法。
根据本公开的实施例,在第一防火墙接收到来自服务端的响应数据包的情况下,对响应数据包进行解析,根据解析数据查找是否存在与响应数据包匹配的会话数据,并在不存在与响应数据包匹配的会话数据的情况下,向第二防火墙发送响应数据包,以使得通过第二防火墙对响应数据包进行处理。由于第二防火墙可以根据自身创建的会话数据确定是否向客户端转发响应数据包,所以至少部分地克服了如果第一防火墙在无会话的情况下收到服务端返回的数据包,可能会出现本该转发给客户端却丢包的情况,导致客户端需要重新发起连接建立过程的技术问题,进而达到了提高数据传输效率的技术效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用数据传输方法及数据传输***的示例性***架构;
图2示意性示出了根据本公开另一实施例的可以应用数据传输方法及数据传输***的示例性***架构;
图3示意性示出了根据本公开实施例的应用于第一防火墙的数据传输方法的流程图;
图4示意性示出了根据本公开另一实施例的应用于第一防火墙的数据传输方法的流程图;
图5示意性示出了根据本公开另一实施例的应用于第一防火墙的数据传输方法的流程图;
图6示意性示出了根据本公开另一实施例的应用于数据传输***的数据传输方法的流程图;
图7示意性示出了根据本公开实施例的应用于第一防火墙的数据传输装置的框图;
图8示意性示出了根据本公开实施例的应用于第二防火墙的数据传输装置的框图;以及
图9示意性示出了根据本公开实施例的适于实现上文描述的数据传输方法的防火墙设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
图1示意性示出了根据本公开实施例的可以应用数据传输方法及数据传输***的示例性***架构。
如图1所示,数据传输***100包括第一防火墙101和第二防火墙102,其中,第一防火墙101为第二防火墙102的备份防火墙。
根据本公开的实施例,数据传输***100可以属于非对称路由网络,其路由策略为:第二防火墙102接收来自客户端104的请求数据包Syn(req),通过第二防火墙102向服务端103发送来自客户端104的请求数据包Syn(req),服务端103发送的响应数据包Syn(req,Ack)可能会通过第一防火墙101返回给客户端104,这种路由策略简称为异路返回。
在数据传输方面,流经第二防火墙102的数据包,第二防火墙102会依据策略建立会话(Session),通过会话匹配后续的数据包,如果能匹配,则快速转发数据包。如果服务端102返回的数据包流经第一防火墙101,第一防火墙101也需要根据返回的数据包进行会话匹配。
根据本公开的实施例,为了保证异路返回的数据包不被第一防火墙101丢弃,互为备份的第一防火墙101和第二防火墙102可以利用心跳线连接,第二防火墙102可以实时完成会话数据Session sync同步到第一防火墙101,使得在第一防火墙101也存在相同Session实现正常匹配响应数据包,当存在session时,则可以快速转发,不再执行状态检查、安全策略检查等操作,正常转发响应数据包。
但是,如果第一防火墙101在无会话的情况下收到数据包,会根据配置执行状态检查、安全策略检查等操作。如检查通过,则创建新的会话并转包;如检查不通过,可能会直接进行丢包处理,防火墙后续也无法建立针对响应数据包建立新的会话。
在实现本公开的过程中,发明人发现,如果第二防火墙102将会话数据Sessionsync同步到第一防火墙101,会话数据可能在第一防火墙101接收到响应数据包之后才到来,可能会造成响应数据包因执行状态检查、安全策略检查等操作而不通过,导致首包或前几包被第一防火墙101丢弃。
此外,如果使用UDP协议同步传输会话数据,难以保证对方防火墙能接收到,在没有接收到会话数据的情况下,也不再重传会话数据同步包,即会话数据同步包可能会丢包,可能会造成响应数据包因其他检查不通过,始终被防火墙丢弃。严重降低了非对称网络环境下网络连接的成功率,尤其对于TCP连接,由于TCP连接在网络中的使用占比一般超过90%,因此,影响了网络正常使用。
通过本公开的实施例,在通过第二防火墙102向服务端103发送来自客户端104的请求数据包的情况下,第一防火墙101接收来自服务端103的响应数据包,通过对响应数据包进行解析,得到解析数据;根据解析数据查找是否存在与响应数据包匹配的会话数据,以确定是否向第二防火墙102发送响应数据包;在不存在与响应数据包匹配的会话数据的情况下,第一防火墙101向第二防火墙102发送响应数据包。第二防火墙102接收到来自第一防火墙101的响应数据包,对响应数据包进行处理。
由于第二防火墙可以根据自身创建的会话数据确定是否向客户端转发响应数据包,所以至少部分地克服了如果第一防火墙在无会话的情况下收到服务端返回的数据包,可能会出现本该转发给客户端却丢包的情况,导致客户端需要重新发起连接建立过程的技术问题,进而达到了提高数据传输效率的技术效果。
本公开通过第一防火墙101向第二防火墙102发送响应数据包,有效提升了TCP连接建立成功率,保障了非对称网络的稳定,有效增加了用户体验。
本公开提出了在非对称网络环境下,防火墙针对异路回包特殊处理的方法,实现了非对称网络下防火墙异路回包的零丢包。解决了防火墙丢弃回包的问题,提升了防火墙的可靠性。
根据本公开的实施例,在服务端103与第一防火墙101和第二防火墙102之间可以包括路由器105,用于实现服务端103与第一防火墙101和第二防火墙102之间的数据传输。
根据本公开的实施例,在客户端104与第一防火墙101和第二防火墙102之间可以包括路由器106,用于实现客户端104与第一防火墙101和第二防火墙102之间的数据传输。
需要注意的是,图1所示仅为可以应用本公开实施例的***架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、***、环境或场景。
例如,图2示意性示出了根据本公开另一实施例的可以应用数据传输方法及数据传输***的示例性***架构。
如图2所示,在局域网Lan中,可以包括一个或多个客户端,一个或多个客户端可以发送请求数据包,经由路由器201或者路由器202路由转发,通过数据传输***200中的防火墙203或防火墙204创建会话,检测等处理后,将请求数据包经由路由器205或者路由器206路由转发至广域网Internet。其中,关于防火墙203或防火墙204的执行流程可以参考图1中的描述,在此不再赘述。
应该理解,图1和图2中的防火墙、客户端和服务端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的防火墙、客户端和服务端。
图3示意性示出了根据本公开实施例的应用于第一防火墙的数据传输方法的流程图。
如图3所示,应用于第一防火墙的数据传输方法包括操作S301~S304。
在操作S301,在通过第二防火墙向服务端发送来自客户端的请求数据包的情况下,接收来自服务端的响应数据包,其中,第一防火墙为第二防火墙的备份防火墙。
根据本公开的实施例,第二防火墙可以先向服务端发送来自客户端的请求数据包,然后第一防火墙接收来自服务端的响应数据包。换言之,应用于第一防火墙的数据传输方法适用于异路回包的场景。其中,第一防火墙为第二防火墙的备份防火墙是指,在第二防火墙接收到请求数据包,并且建立与该请求数据包对应的会话数据之后,在一般情况下,第二防火墙会将与该请求数据包对应的会话数据同步发送给第一防火墙,使得第一防火墙可以保存与该请求数据包对应的会话数据。
在操作S302,对响应数据包进行解析,得到解析数据。
根据本公开的实施例,解析数据可以包括客户端的IP地址,服务端的IP地址,客户端的端口地址,服务端的端口地址,传输协议类型等等数据。
在操作S303,根据解析数据查找是否存在与响应数据包匹配的会话数据,以确定是否向第二防火墙发送响应数据包。
根据本公开的实施例,会话数据可以包括用于标识发送请求数据包的客户端的标识信息,例如,客户端的IP地址,客户端的端口地址。当然,会话数据还可以包括服务端的IP地址,服务端的端口地址,传输协议类型等等数据。
根据本公开的实施例,可以将解析数据中所包含的客户端的IP地址与第一防火墙中存储的客户端的IP地址进行匹配。如果第一防火墙中存储的客户端的IP地址包括解析数据中所包含的客户端的IP地址,则匹配成功;如果第一防火墙中存储的客户端的IP地址不包括解析数据中所包含的客户端的IP地址,则匹配不成功。
根据本公开的实施例,在第一防火墙查找之后确定存在与响应数据包匹配的会话数据的情况下,可以直接向客户端发送响应数据包。
在操作S304,在不存在与响应数据包匹配的会话数据的情况下,向第二防火墙发送响应数据包,以使得通过第二防火墙对响应数据包进行处理。
根据本公开的实施例,第二防火墙的数量不做限定,例如,可以包括1个防火墙,也可以包括2个防火墙等等。换言之,在不存在与响应数据包匹配的会话数据的情况下,第一防火墙可以向多个第二防火墙发送响应数据包。
根据本公开的实施例,第二防火墙对响应数据包进行处理包括:判断第二防火墙是否存在与响应数据包匹配的会话数据,在第二防火墙不存在与响应数据包匹配的会话数据的情况下,对响应数据包进行丢包处理。
根据本公开的实施例,在第二防火墙存在与响应数据包匹配的会话数据的情况下,向客户端发送响应数据包,并向第一防火墙发送会话数据,以便第一防火墙保存会话数据。
通过本公开的实施例,在第二防火墙存在与响应数据包匹配的会话数据的情况下,向第一防火墙发送会话数据,可以使得第一防火墙再次接收到响应数据包时,直接根据接收的会话数据进行匹配,无需再次将响应数据包发给第二防火墙进行处理,本公开对非对称网络环境的防火墙会话同步机制进行了优化,提升了防火墙的会话同步成功率。
根据本公开的实施例,在第一防火墙接收到来自服务端的响应数据包的情况下,对响应数据包进行解析,根据解析数据查找是否存在与响应数据包匹配的会话数据,并在不存在与响应数据包匹配的会话数据的情况下,向第二防火墙发送响应数据包,以使得通过第二防火墙对响应数据包进行处理。由于第二防火墙可以根据自身创建的会话数据确定是否向客户端转发响应数据包,所以至少部分地克服了如果第一防火墙在无会话的情况下收到服务端返回的数据包,可能会出现本该转发给客户端却丢包的情况,导致客户端需要重新发起连接建立过程的技术问题,进而达到了提高数据传输效率的技术效果。
通过第一防火墙向第二防火墙发送响应数据包,使得可以通过第二防火墙对响应数据包进行处理,实现了防火墙非对称网络异路回包的零丢包,并将其应用到防火墙非对称组网环境,提升防火墙在非对称网络的可靠性和实用性。可以解决第二防火墙发送给第一台防火墙的Session会话同步包丢失或同步包晚到达,导致响应数据包丢失的技术问题,是对非对称网络下防火墙会话同步机制和异路回包数据传输的有效补充。
下面参考图4~图6,结合具体实施例对图3所示的方法做进一步说明。
图4示意性示出了根据本公开另一实施例的应用于第一防火墙的数据传输方法的流程图。
如图4所示,应用于第一防火墙的数据传输方法除了包括操作S301~S304之外,还包括操作S401~S403。
在操作S401,在不存在与响应数据包匹配的会话数据的情况下,在向第二防火墙发送响应数据包之前,确定响应数据包的协议类型。
根据本公开的实施例,在数据传输过程中,数据包的处理的协议类型为主要为TCP协议,其他协议(不限传输层协议)也可以参考借鉴此方法处理。
在操作S402,判断响应数据包的协议类型是否配置了转发策略。
根据本公开的实施例,可以为TCP协议、UDP协议等协议中的一种或多种协议配置转发策略。由于网络数据传输中TCP占比高,可以默认只开启TCP类型数据包的转发,其他协议类型的数据包可以根据实际应用场景需要执行开启命令,才可以执行该方法。
在操作S403,在响应数据包的协议类型配置了转发策略的情况下,向第二防火墙发送响应数据包。
图5示意性示出了根据本公开另一实施例的应用于第一防火墙的数据传输方法的流程图。
如图5所示,应用于第一防火墙的数据传输方法除了包括操作S301~S304,S401~S403之外,还包括操作S501~S503。
在操作S501,在响应数据包的协议类型没有配置转发策略的情况下,对响应数据包执行检查操作。
根据本公开的实施例,例如,检查操作可以包括执行状态检查、安全策略检查等操作。
在操作S502,在响应数据包检查通过的情况下,创建与响应数据包对应的会话,并向客户端发送响应数据包。
在操作S503,在响应数据包检查不通过的情况下,对响应数据包进行丢包处理。
根据本公开的实施例,因此,以TCP连接建立过程来描述上述向第二防火墙发送响应数据包的方法。
a)第一防火墙收到Tcp响应数据包,执行如下处理:
i.检测Session会话匹配,如果匹配,则直接发送Tcp响应数据包给客户端。
ii如果无session会话匹配,则判断Tcp响应数据包类型是否配置了转发开关,如果配置了则执行下一步:b)第一防火墙转发响应数据包sync(req,ack)给第二防火墙。
iii.Tcp响应数据包类型未配置转发开关,则按第一防火墙原有数据包处理方法进行处理,例如,执行各种检查操作,如果检查操作通过,则创建新Session并转发,如果检查不通过,则直接丢包处理。
b)第一防火墙转发响应数据包sync(req,ack)给第二防火墙。
c)第二防火墙收到第一防火墙转发的响应数据包,执行如下处理:
i.检测Session匹配,如果不匹配,直接丢包。
ii如果匹配,则转发响应数据包给客户端,保证了Tcp连接的建立,并执行下一步iii。
iii.由于收到了第一防火墙的响应数据包,说明Session同步有可能失败,第二防火墙再次发起Session同步到第一防火墙的过程。第一防火墙有了Tcp连接的Session,后续服务端发送的其他Tcp响应数据包,第一防火墙可以正常快速转发给客户端。
图6示意性示出了根据本公开另一实施例的应用于数据传输***的数据传输方法的流程图。
参考图1,在该实施例中,描述的是第一防火墙101处理从服务端103返回的响应数据包的过程。第一防火墙101和第二防火墙102可以互为主备防火墙,可以适用于第二防火墙102的Session同步包可能丢失或者到达太晚,即step0中第二防火墙102的Session同步包发送给第一防火墙101时出现Session同步包丢失或者到达太晚的情况。
如图6所示,该方法包括操作S601~S616。
在操作S601,备防火墙(此时第一防火墙101为备防火墙,简称备墙)收到服务端103返回的数据报文(即响应数据包)。
在操作S602,备防火墙解析数据报文五元组,查找匹配的会话Session。其中,五元组可以包括客户端的IP地址,服务端的IP地址,客户端的端口地址,服务端的端口地址,传输协议类型。
在操作S603,备防火墙判断是否存在匹配Session,若存在匹配Session,执行操作S612;不存在执行操作S604。
在操作S604,获取报文的数据包类型,并查找特殊处理配置。
在操作S605,判断是否需要执行数据包转发。若该类型的数据包配置了处理开关,则执行操作S607,未配置则执行操作S613
在操作S606,备防火墙转发数据报文给主防火墙(即第二防火墙102,,简称主墙)。
在操作S607,主防火墙分析报文的五元组,查找匹配Session。
在操作S608,主防火墙判断Session是否存在,存在匹配执行操作S609,不存在执行操作S614。
在操作S609,主防火墙转发报文给客户端。
在操作S610,主防火墙再次同步Session给备防火墙。
在操作S611,备防火墙保存同步过来的Session。
在操作S612,备防火墙存在报文匹配的会话,直接转发报文给客户端。
在操作S613,若该类型的数据包在备防火墙不存在特殊处理开关,按照正常数据包执行各种检查,判断检查是否通过,检查通过执行操作S616,未通过执行操作S615。
在操作S614,备防火墙检查不通过,丢弃报文。
在操作S615,备防火墙检查通过,创建新的会话,并转发报文。
在操作S616,主防火墙无报文匹配的Session,则丢弃报文。
根据本公开的实施例,在第一防火墙接收到来自服务端的响应数据包的情况下,对响应数据包进行解析,根据解析数据查找是否存在与响应数据包匹配的会话数据,并在不存在与响应数据包匹配的会话数据的情况下,向第二防火墙发送响应数据包,以使得通过第二防火墙对响应数据包进行处理。由于第二防火墙可以根据自身创建的会话数据确定是否向客户端转发响应数据包,所以至少部分地克服了如果第一防火墙在无会话的情况下收到服务端返回的数据包,可能会出现本该转发给客户端却丢包的情况,导致客户端需要重新发起连接建立过程的技术问题,进而达到了提高数据传输效率的技术效果。
通过第一防火墙向第二防火墙发送响应数据包,使得可以通过第二防火墙对响应数据包进行处理,实现了防火墙非对称网络异路回包的零丢包,并将其应用到防火墙非对称组网环境,提升防火墙在非对称网络的可靠性和实用性。可以解决第二防火墙发送给第一台防火墙的Session会话同步包丢失或同步包晚到达,导致响应数据包丢失的技术问题,是对非对称网络下防火墙会话同步机制和异路回包数据传输的有效补充。
图7示意性示出了根据本公开实施例的应用于第一防火墙的数据传输装置的框图。
如图7所示,应用于第一防火墙的数据传输装置700包括第一接收模块701、解析模块702、查找模块703和第一发送模块704。
第一接收模块701用于在通过第二防火墙向服务端发送来自客户端的请求数据包的情况下,接收来自所述服务端的响应数据包,其中,所述第一防火墙为所述第二防火墙的备份防火墙。
解析模块702用于对所述响应数据包进行解析,得到解析数据。
查找模块703用于根据所述解析数据查找是否存在与所述响应数据包匹配的会话数据,以确定是否向所述第二防火墙发送所述响应数据包。
第一发送模块704用于在不存在与所述响应数据包匹配的会话数据的情况下,向所述第二防火墙发送所述响应数据包,以使得通过所述第二防火墙对所述响应数据包进行处理。
图8示意性示出了根据本公开实施例的应用于第二防火墙的数据传输装置的框图。
如图8所示,应用于第二防火墙的数据传输装置800包括第二发送模块801、第二接收模块802和处理模块803。
第二发送模块801用于向服务端发送来自客户端的请求数据包。
第二接收模块802用于接收来自第一防火墙的响应数据包,其中,第一防火墙为第二防火墙的备份防火墙,响应数据包是在第一防火墙执行如下操作后发送的;接收来自服务端的响应数据包;对响应数据包进行解析,得到解析数据;根据解析数据查找是否存在与响应数据包匹配的会话数据,以确定是否向第二防火墙发送响应数据包;根据解析数据查找不存在与响应数据包匹配的会话数据。
处理模块803用于对响应数据包进行处理。
通过本公开的实施例,在第二防火墙存在与响应数据包匹配的会话数据的情况下,向第一防火墙发送会话数据,可以使得第一防火墙再次接收到响应数据包时,直接根据接收的会话数据进行匹配,无需再次将响应数据包发给第二防火墙进行处理,本公开对非对称网络环境的防火墙会话同步机制进行了优化,提升了防火墙的会话同步成功率。
根据本公开的实施例,在第一防火墙接收到来自服务端的响应数据包的情况下,对响应数据包进行解析,根据解析数据查找是否存在与响应数据包匹配的会话数据,并在不存在与响应数据包匹配的会话数据的情况下,向第二防火墙发送响应数据包,以使得通过第二防火墙对响应数据包进行处理。由于第二防火墙可以根据自身创建的会话数据确定是否向客户端转发响应数据包,所以至少部分地克服了如果第一防火墙在无会话的情况下收到服务端返回的数据包,可能会出现本该转发给客户端却丢包的情况,导致客户端需要重新发起连接建立过程的技术问题,进而达到了提高数据传输效率的技术效果。
通过第一防火墙向第二防火墙发送响应数据包,使得可以通过第二防火墙对响应数据包进行处理,实现了防火墙非对称网络异路回包的零丢包,并将其应用到防火墙非对称组网环境,提升防火墙在非对称网络的可靠性和实用性。可以解决第二防火墙发送给第一台防火墙的Session会话同步包丢失或同步包晚到达,导致响应数据包丢失的技术问题,是对非对称网络下防火墙会话同步机制和异路回包数据传输的有效补充。
根据本公开的实施例的模块中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一接收模块701、解析模块702、查找模块703和第一发送模块704中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,第一接收模块701、解析模块702、查找模块703和第一发送模块704中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一接收模块701、解析模块702、查找模块703和第一发送模块704中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中应用于第一防火墙的数据传输装置与本公开的实施例中应用于第一防火墙的数据传输方法部分是相对应的,应用于第一防火墙的数据传输装置部分的描述具体参考应用于第一防火墙的数据传输方法部分,应用于第一防火墙的数据传输装置可以实现应用于第一防火墙的数据传输方法中的所有操作,在此不再赘述。
需要说明的是,本公开的实施例中应用于第二防火墙的数据传输装置与本公开的实施例中应用于第二防火墙的数据传输方法部分是相对应的,应用于第二防火墙的数据传输装置部分的描述具体参考应用于第二防火墙的数据传输方法部分,应用于第二防火墙的数据传输装置可以实现应用于第二防火墙的数据传输方法中的所有操作,在此不再赘述。
根据本公开的实施例,还提供了一种防火墙设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
图9示意性示出了根据本公开实施例的适于实现上文描述的方法的防火墙设备的框图。图9示出的防火墙设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,根据本公开实施例的防火墙设备900包括处理器901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 903中,存储有防火墙设备900操作所需的各种程序和数据。处理器901、ROM902以及RAM 903通过总线904彼此相连。处理器901通过执行ROM 902和/或RAM 903中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 902和RAM 903以外的一个或多个存储器中。处理器901也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,防火墙设备900还可以包括输入/输出(I/O)接口905,输入/输出(I/O)接口905也连接至总线904。防火墙设备900还可以包括连接至I/O接口905的以下部件中的一项或多项:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被处理器901执行时,执行本公开实施例的防火墙设备中限定的上述功能。根据本公开的实施例,上文描述的设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种可读存储介质,该可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,可读存储介质可以是非易失性的可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,可读存储介质可以包括上文描述的ROM 902和/或RAM903和/或ROM 902和RAM 903以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (10)

1.一种数据传输方法,应用于第一防火墙,所述方法包括:
在通过第二防火墙向服务端发送来自客户端的请求数据包的情况下,接收来自所述服务端的响应数据包,其中,所述第一防火墙为所述第二防火墙的备份防火墙;
对所述响应数据包进行解析,得到解析数据;
根据所述解析数据查找是否存在与所述响应数据包匹配的会话数据,以确定是否向所述第二防火墙发送所述响应数据包;以及
在不存在与所述响应数据包匹配的会话数据的情况下,向所述第二防火墙发送所述响应数据包,以使得通过所述第二防火墙对所述响应数据包进行处理;其中,通过所述第二防火墙对所述响应数据包进行处理包括:
在所述第二防火墙存在与所述响应数据包匹配的会话数据的情况下,向所述客户端发送所述响应数据包;以及
向所述第一防火墙发送所述会话数据,以便所述第一防火墙保存所述会话数据。
2.根据权利要求1所述的方法,还包括:
在不存在与所述响应数据包匹配的会话数据的情况下,在向所述第二防火墙发送所述响应数据包之前,确定所述响应数据包的协议类型;
判断所述响应数据包的协议类型是否配置了转发策略;以及
在所述响应数据包的协议类型配置了转发策略的情况下,向所述第二防火墙发送所述响应数据包。
3.根据权利要求2所述的方法,还包括:
在所述响应数据包的协议类型没有配置转发策略的情况下,对所述响应数据包执行检查操作;
在所述响应数据包检查通过的情况下,创建与所述响应数据包对应的会话,并向所述客户端发送所述响应数据包;以及
在所述响应数据包检查不通过的情况下,对所述响应数据包进行丢包处理。
4.根据权利要求1所述的方法,还包括:
在存在与所述响应数据包匹配的会话数据的情况下,向所述客户端发送所述响应数据包。
5.根据权利要求1所述的方法,其中,通过所述第二防火墙对所述响应数据包进行处理包括:
判断所述第二防火墙是否存在与所述响应数据包匹配的会话数据;以及
在所述第二防火墙不存在与所述响应数据包匹配的会话数据的情况下,对所述响应数据包进行丢包处理。
6.一种数据传输方法,应用于第二防火墙,所述方法包括:
向服务端发送来自客户端的请求数据包;
接收来自第一防火墙的响应数据包,其中,所述第一防火墙为所述第二防火墙的备份防火墙,所述响应数据包是在所述第一防火墙执行如下操作后发送的;
接收来自所述服务端的响应数据包;
对所述响应数据包进行解析,得到解析数据;
根据所述解析数据查找是否存在与所述响应数据包匹配的会话数据,以确定是否向所述第二防火墙发送所述响应数据包;以及
根据所述解析数据查找不存在与所述响应数据包匹配的会话数据,向所述第二防火墙发送所述响应数据包;
对所述响应数据包进行处理;其中,对所述响应数据包进行处理包括:
在所述第二防火墙存在与所述响应数据包匹配的会话数据的情况下,向所述客户端发送所述响应数据包;以及
向所述第一防火墙发送所述会话数据,以便所述第一防火墙保存所述会话数据。
7.根据权利要求6所述的方法,其中,对所述响应数据包进行处理包括:
判断所述第二防火墙是否存在与所述响应数据包匹配的会话数据;
在所述第二防火墙不存在与所述响应数据包匹配的会话数据的情况下,对所述响应数据包进行丢包处理。
8.一种数据传输***,包括第一防火墙和第二防火墙,其中,所述第一防火墙为所述第二防火墙的备份防火墙,其中:
所述第一防火墙用于执行:
在通过所述第二防火墙向服务端发送来自客户端的请求数据包的情况下,接收来自所述服务端的响应数据包;
对所述响应数据包进行解析,得到解析数据;
根据所述解析数据查找是否存在与所述响应数据包匹配的会话数据,以确定是否向所述第二防火墙发送所述响应数据包;以及
在不存在与所述响应数据包匹配的会话数据的情况下,向所述第二防火墙发送所述响应数据包;
所述第二防火墙用于执行:
向服务端发送来自客户端的请求数据包;
接收来自所述第一防火墙的响应数据包;以及
对所述响应数据包进行处理,其中,对所述响应数据包进行处理包括:在所述第二防火墙存在与所述响应数据包匹配的会话数据的情况下,向所述客户端发送所述响应数据包;以及向所述第一防火墙发送所述会话数据,以便所述第一防火墙保存所述会话数据。
9.一种防火墙设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至5中任一项所述的方法或者权利要求6或7中所述的方法。
10.一种可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至5中任一项所述的方法或者权利要求6或7中所述的方法。
CN201911425660.3A 2019-12-31 2019-12-31 数据传输方法、数据传输***、防火墙设备和存储介质 Active CN111181985B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911425660.3A CN111181985B (zh) 2019-12-31 2019-12-31 数据传输方法、数据传输***、防火墙设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911425660.3A CN111181985B (zh) 2019-12-31 2019-12-31 数据传输方法、数据传输***、防火墙设备和存储介质

Publications (2)

Publication Number Publication Date
CN111181985A CN111181985A (zh) 2020-05-19
CN111181985B true CN111181985B (zh) 2022-11-11

Family

ID=70650797

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911425660.3A Active CN111181985B (zh) 2019-12-31 2019-12-31 数据传输方法、数据传输***、防火墙设备和存储介质

Country Status (1)

Country Link
CN (1) CN111181985B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112866245B (zh) * 2021-01-18 2022-09-09 中国工商银行股份有限公司 报文路由方法及装置
CN113783872B (zh) * 2021-09-09 2023-08-18 山石网科通信技术股份有限公司 防火墙的数据处理方法及装置
CN113965347B (zh) * 2021-09-09 2024-03-15 山石网科通信技术股份有限公司 防火墙的数据处理方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101199187A (zh) * 2004-07-23 2008-06-11 茨特里克斯***公司 用于网络节点之间通信最优化的***和方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7188365B2 (en) * 2002-04-04 2007-03-06 At&T Corp. Method and system for securely scanning network traffic
CN107241208B (zh) * 2016-03-29 2020-02-21 华为技术有限公司 一种报文转发方法、第一交换机及相关***
CN107888500B (zh) * 2017-11-03 2020-04-17 东软集团股份有限公司 报文转发方法及装置、存储介质、电子设备
US20190215306A1 (en) * 2018-01-11 2019-07-11 Nicira, Inc. Rule processing and enforcement for interleaved layer 4, layer 7 and verb based rulesets

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101199187A (zh) * 2004-07-23 2008-06-11 茨特里克斯***公司 用于网络节点之间通信最优化的***和方法

Also Published As

Publication number Publication date
CN111181985A (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
CN111181985B (zh) 数据传输方法、数据传输***、防火墙设备和存储介质
US10791055B2 (en) Virtual dispersive networking systems and methods
US10742488B2 (en) Detecting link faults in network paths that include link aggregation groups (LAGs)
EP3637693B1 (en) Method and apparatus for path detection
US10567340B2 (en) Data center system
US8239670B1 (en) Multi-aspect identifier in network protocol handshake
US7461290B1 (en) Dynamic mirroring of a network connection
US7107609B2 (en) Stateful packet forwarding in a firewall cluster
US9762508B2 (en) Relay optimization using software defined networking
EP3310026B1 (en) Method and system for use in restarting network service without packet loss and downtime
US8189488B2 (en) Failback to a primary communications adapter
US11463345B2 (en) Monitoring BGP routes of a device in a network
US9942138B2 (en) Method and device for policy based routing
US11509749B2 (en) Data processing method and apparatus, and computer
US8149842B2 (en) Automated discovery of network devices supporting particular transport layer protocols
KR20130032396A (ko) 라우팅 방법 및 관련 라우팅 장치 및 목적지 장치
US11929924B1 (en) Establishing forward and reverse segment routing (SR) tunnels for bidirectional forwarding detection (BFD) continuity checks
CN110545256A (zh) 数据传输方法、***、电子设备、中转服务器及存储介质
EP4380128A1 (en) Establishing forward and reverse segment routing (sr) tunnels for bidirectional forwarding detection (bfd) continuity checks
US20240244124A1 (en) Input state synchronization for border gateway protocol (bgp) processes
US20240146628A1 (en) Methods for managing insertion of metadata into a data stream to assist with analysis of network traffic and devices thereof
CN116319934A (zh) 基于RoCE会话的负载分担方法及装置
CN114726797A (zh) 加速传输方法、装置、设备、***和存储介质
EP2642714A1 (en) Data communication

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Applicant after: QAX Technology Group Inc.

Applicant after: Qianxin Wangshen information technology (Beijing) Co.,Ltd.

Address before: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Applicant before: QAX Technology Group Inc.

Applicant before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc.

GR01 Patent grant
GR01 Patent grant