CN114978610B - 一种流量传输控制方法、装置、设备及存储介质 - Google Patents

一种流量传输控制方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114978610B
CN114978610B CN202210468297.9A CN202210468297A CN114978610B CN 114978610 B CN114978610 B CN 114978610B CN 202210468297 A CN202210468297 A CN 202210468297A CN 114978610 B CN114978610 B CN 114978610B
Authority
CN
China
Prior art keywords
data
traffic
flow
network
filtering
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
CN202210468297.9A
Other languages
English (en)
Other versions
CN114978610A (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.)
Beijing Volcano Engine Technology Co Ltd
Original Assignee
Beijing Volcano Engine Technology 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 Beijing Volcano Engine Technology Co Ltd filed Critical Beijing Volcano Engine Technology Co Ltd
Priority to CN202210468297.9A priority Critical patent/CN114978610B/zh
Publication of CN114978610A publication Critical patent/CN114978610A/zh
Priority to PCT/CN2023/086761 priority patent/WO2023207547A1/zh
Application granted granted Critical
Publication of CN114978610B publication Critical patent/CN114978610B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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
    • H04L63/0227Filtering policies
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Traffic Control Systems (AREA)

Abstract

本公开提供了一种流量传输控制方法、装置、设备及存储介质,通过在目标容器和主机之间配置网络桥接器,通过网络桥接器将流量数据转发到应用层检测器进行应用层流量过滤处理,可以兼容各种不同业务特性的目标容器,提升流量传输的稳定性;并且将传输层流量过滤策略直接作用于容器内部,在容器内部进行传输层流量过滤处理,防止由于网络防护策略的失误或异常导致容器集群出现故障问题,实现对容器环境下流量数据的安全检测和正常传输。

Description

一种流量传输控制方法、装置、设备及存储介质
技术领域
本公开涉及互联网技术领域,具体而言,涉及一种流量传输控制方法、装置、设备及存储介质。
背景技术
容器网络是一个开放的网络架构,一般的网络导流与阻断方案是使用容器网络接口(Container Network Interface,CNI)插件,CNI插件需要与容器网络匹配,才能获取流量数据并进行相应的安全扫描和网络策略阻断。这种控制方式主要是基于宿主机的网络的协议栈进行流量数据的过滤,达到网络隔离的目的,这种技术方案可以满足单一的容器网络环境的业务需求。
但是,随着容器技术的发展,出现了混合网络模式,很多容器的流量数据不再进入主机的协议栈,而是通过宿主机的物理网卡直接流向外部的虚拟交换机,如果仍然采用CNI插件,会由于无法获取到相关的流量数据而导致无效的安全扫描和网络策略阻断,进而可能出现无法对流量数据进行导流和传输的情况,影响流量数据传输的完整性,并且影响后续对流量数据进行流量检测的结果,降低容器环境的安全性和稳定性。
发明内容
本公开实施例至少提供一种流量传输控制方法、装置、设备及存储介质。
第一方面,本公开实施例提供了一种流量传输控制方法,所述方法包括:
响应于目标容器产生的流量数据,基于在所述目标容器内部设置的传输层流量过滤策略,对所述流量数据进行传输层流量过滤处理,将通过所述传输层流量过滤处理的流量数据作为第一数据;
通过与所述目标容器相连接的网络桥接器向应用层检测器转发所述第一数据,通过所述应用层检测器对所述第一数据进行应用层流量过滤处理,将通过所述应用层流量过滤处理的流量数据作为第二数据;
通过所述网络桥接器将所述第二数据发送到与所述网络桥接器连接的主机,并通过主机发送至所述第二数据对应的目的端。
一种可选的实施方式中,在基于在所述目标容器内部设置的传输层流量过滤策略,对所述流量数据进行传输层流量过滤处理之前,还包括:
获取网络策略器生成的与所述目标容器对应的传输层流量过滤策略,并将所述传输层流量过滤策略发送至所述网络桥接器;所述传输层流量过滤策略指示有符合传输要求的五元组信息和不符合传输要求的五元组信息;
通过所述网络桥接器将所述传输层流量过滤策略设置在所述目标容器的独立网络命名空间中;
所述基于在所述目标容器内部设置的传输层流量过滤策略,对所述流量数据进行传输层流量过滤处理,包括:
从所述独立网络命名空间中读取所述传输层流量过滤策略,基于所述流量数据携带的五元组信息,以及所述传输层流量过滤策略指示的符合传输要求的五元组信息和不符合传输要求的五元组信息,对所述流量数据进行传输层流量过滤处理。
一种可选的实施方式中,所述目标容器上设置有第一网络接口,所述主机上设置有第二网络接口;所述网络桥接器上设置有第三网络接口和第四网络接口;其中,所述第一网络接口和所述第三网络接口通信连接,所述第二网络接口和所述第四网络接口通信连接;
所述通过与所述目标容器相连接的网络桥接器向应用层检测器转发所述第一数据,包括:
通过与所述目标容器相连接的网络桥接器的第三网络接口接收所述目标容器的所述第一网络接口传输的所述第一数据,并调用所述网络桥接器的包转发功能将所述第一数据转发到应用层检测器;
所述通过所述网络桥接器将所述第二数据发送到与所述网络桥接器连接的主机,包括:
通过所述网络桥接器的所述第四网络接口将所述第二数据转发到与所述网络桥接器连接的主机的第二网络接口。
一种可选的实施方式中,通过所述应用层检测器对所述第一数据进行应用层流量过滤处理,包括:
通过所述应用层检测器从预先训练的流量过滤模型集中调用与所述目标容器关联的流量过滤模型;
基于调用的所述流量过滤模型,对所述第一数据进行应用层流量过滤处理。
第二方面,本公开实施例提供了一种流量传输控制方法,所述方法包括:
响应于主机接收的流量数据,通过与所述主机相连接的网络桥接器向应用层检测器转发所述流量数据,以通过所述应用层检测器对所述流量数据进行应用层流量过滤处理,将通过所述应用层流量过滤处理的流量数据作为第三数据;
通过所述网络桥接器将所述第三数据发送到与所述网络桥接器连接的目标容器,基于在所述目标容器内部设置的传输层流量过滤策略,对所述第三数据进行传输层流量过滤处理,将通过所述传输层流量过滤处理的流量数据作为第四数据;
在所述目标容器对所述第四数据进行处理。
一种可选的实施方式中,所述目标容器上设置有第一网络接口,所述主机上设置有第二网络接口;所述网络桥接器上设置有第三网络接口和第四网络接口;其中,所述第一网络接口和所述第三网络接口通信连接,所述第二网络接口和所述第四网络接口通信连接;
所述通过与所述主机相连接的网络桥接器向应用层检测器转发所述流量数据,包括:
通过与所述主机相连接的网络桥接器的第四网络接口接收所述主机的所述第二网络接口传输的所述流量数据,并调用所述网络桥接器的包转发功能将所述流量数据转发到应用层检测器;
所述通过所述网络桥接器将所述第三数据发送到与所述网络桥接器连接的目标容器,包括:
通过所述网络桥接器的所述第三网络接口将所述第三数据转发到与所述网络桥接器连接的目标容器的第一网络接口。
一种可选的实施方式中,通过所述应用层检测器对所述流量数据进行应用层流量过滤处理,包括:
通过所述应用层检测器从预先训练的流量过滤模型集中调用与所述目标容器关联的流量过滤模型;
基于调用的所述流量过滤模型,对所述流量数据进行应用层流量过滤处理。
一种可选的实施方式中,在基于在所述目标容器内部设置的传输层流量过滤策略,对所述第三数据进行传输层流量过滤处理之前,还包括:
获取网络策略器生成的与所述目标容器对应的传输层流量过滤策略,并将所述传输层流量过滤策略发送至所述网络桥接器;所述传输层流量过滤策略指示有符合传输要求的五元组信息和不符合传输要求的五元组信息;
通过所述网络桥接器将所述传输层流量过滤策略设置在所述目标容器的独立网络命名空间中;
所述基于在所述目标容器内部设置的传输层流量过滤策略,对所述第三数据进行传输层流量过滤处理,包括:
从所述独立网络命名空间中读取所述传输层流量过滤策略,基于所述第三数据携带的五元组信息,以及所述传输层流量过滤策略指示的符合传输要求的五元组信息和不符合传输要求的五元组信息,对所述第三数据进行传输层流量过滤处理。
第三方面,本公开实施例还提供一种流量传输控制装置,所述装置包括:
第一过滤模块,用于响应于目标容器产生的流量数据,基于在所述目标容器内部设置的传输层流量过滤策略,对所述流量数据进行传输层流量过滤处理,将通过所述传输层流量过滤处理的流量数据作为第一数据;
第二过滤模块,用于通过与所述目标容器相连接的网络桥接器向应用层检测器转发所述第一数据,通过所述应用层检测器对所述第一数据进行应用层流量过滤处理,将通过所述应用层流量过滤处理的流量数据作为第二数据;
第一处理模块,用于通过所述网络桥接器将所述第二数据发送到与所述网络桥接器连接的主机,并通过主机发送至所述第二数据对应的目的端。
第四方面,本公开实施例还提供一种流量传输控制装置,所述装置包括:
第三过滤模块,用于响应于主机接收的流量数据,通过与所述主机相连接的网络桥接器向应用层检测器转发所述流量数据,以通过所述应用层检测器对所述流量数据进行应用层流量过滤处理,将通过所述应用层流量过滤处理的流量数据作为第三数据;
第四过滤模块,用于通过所述网络桥接器将所述第三数据发送到与所述网络桥接器连接的目标容器,基于在所述目标容器内部设置的传输层流量过滤策略,对所述第三数据进行传输层流量过滤处理,将通过所述传输层流量过滤处理的流量数据作为第四数据;
第二处理模块,用于在所述目标容器对所述第四数据进行处理。
第五方面,本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的流量传输控制方法的步骤,或第二方面,或第二方面中任一种可能的流量传输控制方法的步骤。
第六方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的流量传输控制方法的步骤,或第二方面,或第二方面中任一种可能的流量传输控制方法的步骤。
关于上述的流量传输控制装置、电子设备、及计算机可读存储介质的效果描述参见上述流量传输控制方法的说明,这里不再赘述。
本公开实施例中,在流量数据从容器流出的场景下,将传输层流量过滤策略直接作用于容器内部,以对容器产生的流量数据在容器内部直接进行传输层流量过滤处理,可以降低对容器集群的影响,防止由于网络防护策略的失误或异常导致容器集群出现故障问题;另外,通过将网络桥接器配置在目标容器和主机之间,目标容器可以将通过传输层流量过滤处理的流量数据通过网络桥接器转发到应用层检测器进行应用层流量过滤处理后,将通过应用层流量过滤处理的流量数据发送到主机,由于网络桥接器可以兼容各种不同业务特性的容器的流量数据传输,具备良好的适应性、通用性、和鲁棒性,从而可以保障流量传输的稳定性和完整性,进而实现对容器环境下流量数据的安全检测和正常传输。
相应地,在流量数据流入容器的场景下,主机在接收到流量数据后,通过配置在主机与容器之间的网络桥接器将流量数据转发到应用层检测器进行应用层流量过滤处理,再将通过应用层流量过滤处理的流量数据转发到容器,通过容器内部设置的传输层流量过滤策略直接进行传输层流量过滤处理;一方面,通过在容器内部进行传输层流量过滤处理的机制,可以降低对容器集群的影响,防止由于网络防护策略的失误或异常导致容器集群出现故障问题;另一方面,由于配置在主机和容器之间的网络桥接器可以兼容各种不同业务特性的容器的流量数据传输,具备良好的适应性、通用性、和鲁棒性,从而可以保障流量传输的稳定性和完整性,进而实现对容器环境下流量数据的安全检测和正常传输。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种应用场景示意图;
图2示出了本公开实施例所提供的一种流量传输控制方法的流程图;
图3示出了本公开实施例所提供的一种网络接口示意图;
图4示出了本公开实施例所提供的一种包转发过程示意图;
图5示出了本公开实施例所提供的又一种流量传输控制方法的流程图;
图6示出了本公开实施例所提供的另一种流量传输控制方法的流程图;
图7示出了本公开实施例所提供的又一种流量传输控制方法的流程图;
图8示出了本公开实施例所提供的一种流量传输控制装置的示意图之一;
图9示出了本公开实施例所提供的一种流量传输控制装置的示意图之二;
图10示出了本公开实施例所提供的另一种流量传输控制装置的示意图之一;
图11示出了本公开实施例所提供的另一种流量传输控制装置的示意图之二;
图12示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
经研究发现,一般的网络导流与阻断方案是使用容器网络接口(ContainerNetwork Interface,CNI)插件,即使用与容器网络匹配的CNI插件获取流量数据并进行相应的安全扫描和网络策略阻断,然而这无法适配容器环境中混合网络模式下的流量阻断与引流需求,并且CNI插件离容器较远,传输的流量数据存在完整性缺失的风险,导致获取到的流量数据失真,进而影响后续流量检测的结果,难以保证流量数据传输的完整性,影响容器环境的安全性和稳定性。
基于上述研究,本公开提供了一种流量传输控制方法,通过在目标容器和主机之间配置网络桥接器,通过网络桥接器将流量数据转发到应用层检测器进行应用层流量过滤处理,可以兼容各种不同业务特性的目标容器,提升流量传输的稳定性;并且将传输层流量过滤策略直接作用于容器内部,在容器内部进行传输层流量过滤处理,防止由于网络防护策略的失误或异常导致容器集群出现故障问题,实现对容器环境下流量数据的安全检测和正常传输。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种流量传输控制方法进行详细介绍,本公开实施例所提供的流量传输控制方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备。在一些可能的实现方式中,该流量传输控制方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面对本公开实施例提供的流量传输控制方法加以说明。
请参阅图1,图1为本公开实施例提供的一种应用场景示意图。如图1中所示,为了对从目标容器传输至主机的流量数据、以及从主机传输至目标容器的流量数据进行流量的过滤处理和传输控制,可以利用网络桥接器,将网络桥接器配置在目标容器和主机之间,以通过网络桥接器进行目标容器和主机之间的数据传输,进而还可以利用网络桥接器的包转发功能将流量数据转发到应用层检测器进行应用层流量过滤处理,从而提升流量传输的稳定性,保障容器环境下流量传输的正常进行。
请参阅图2,图2为本公开实施例提供的一种流量传输控制方法的流程图,该流量传输控制方法可以认为由网络流量管控器执行,该网络流量管控器可以部署在一个独立的计算机设备上或本公开实施例进行网络流量处理的主机上。如图2中所示,本公开实施例提供的流量传输控制方法包括步骤S201~S203,其中:
S201:响应于目标容器产生的流量数据,基于在所述目标容器内部设置的传输层流量过滤策略,对所述流量数据进行传输层流量过滤处理,将通过所述传输层流量过滤处理的流量数据作为第一数据。
这里,流量数据是目标容器基于网络传输协议生成的、待发送给其他容器或主机的数据。该步骤中,在检测到目标容器产生的流量数据后,根据在目标容器内部设置的流量过滤策略,对所述流量数据进行传输层流量过滤处理,针对未通过所述传输层流量过滤处理的流量数据,对其进行拦截,针对通过所述传输层流量过滤处理的流量数据,将其确定为第一数据,对其进行放行。
其中,所述传输层流量过滤处理为四层流量过滤处理,四层流量过滤处理是指在开放式系统互联通信参考模型(Open System Interconnection Reference Model,OSI)的第四层传输层,基于五元组信息进行流量数据的过滤与防护。
这里,五元组信息包括源互联网协议(Internet Protocol Address,IP)地址、源端口、目的IP地址、目的端口和传输层协议。
可以理解,传输层流量过滤处理即为获取流量数据携带的五元组信息,并获取传输层流量过滤策略指示的符合传输要求的五元组信息和不符合传输要求的五元组信息,以检测该流量数据的五元组信息是否符合传输层流量过滤策略指示的传输要求。
这里,为了能够在目标容器内部对所述流量数据进行传输层流量过滤处理,需要预先在目标容器内部设置相应的传输层流量过滤策略。
相应地,在一些可能的实施方式中,在基于在所述目标容器内部设置的传输层流量过滤策略,对所述流量数据进行传输层流量过滤处理之前,还包括:
获取网络策略器生成的与所述目标容器对应的传输层流量过滤策略,并将所述传输层流量过滤策略发送至所述网络桥接器;所述传输层流量过滤策略指示有符合传输要求的五元组信息和不符合传输要求的五元组信息;
通过所述网络桥接器将所述传输层流量过滤策略设置在所述目标容器的独立网络命名空间中。
该步骤中,可以获取网络策略器生成的传输层流量过滤策略,这里,所述传输层流量过滤策略与所述目标容器对应,以便在后续按照所述传输层流量过滤策略对目标容器产生的流量数据进行传输层流量过滤处理,在获取到所述传输层流量过滤策略的情况下,可以将所述传输层流量过滤策略发送至所述网络桥接器,并通过所述网络桥接器将所述传输层流量过滤策略设置在所述目标容器的独立网络命名空间中。
可选地,所述传输层流量过滤策略可以是基于安全传输设定的网络访问接口规则生成的,所述传输层流量过滤策略指示目标容器可以访问的情况和不可以访问的情况,即指示符合传输要求的五元组信息和不符合传输要求的五元组信息。示例性的,针对目标容器A生成的、访问容器B的流量数据,传输层流量传输策略表征容器A不能访问容器B的3306端口,则容器A访问容器B的3306端口的访问过程对应的五元组信息即为传输层流量传输策略指示的不符合传输要求的五元组信息。
在将传输层流量过滤策略设置在所述目标容器的独立网络命名空间中后,就可以从所述独立网络命名空间中读取所述传输层流量过滤策略,按照所述传输层流量过滤策略对所述流量数据进行传输层流量过滤处理。
因此,在一些可能的实施方式中,所述基于在所述目标容器内部设置的传输层流量过滤策略,对所述流量数据进行传输层流量过滤处理,包括:
从所述独立网络命名空间中读取所述传输层流量过滤策略,基于所述流量数据携带的五元组信息,以及所述传输层流量过滤策略指示的符合传输要求的五元组信息和不符合传输要求的五元组信息,对所述流量数据进行传输层流量过滤处理。
可以理解,若所述流量数据携带的五元组信息与所述传输层流量过滤策略指示的符合传输要求的五元组信息匹配,可以确定所述流量数据通过传输层流量过滤处理,从而对所述流量数据进行放行;相反的,若所述流量数据携带的五元组信息与所述传输层流量过滤策略指示的不符合传输要求的五元组信息匹配,可以确定所述流量数据未通过传输层流量过滤处理,从而对所述流量数据进行拦截和过滤。
S202:通过与所述目标容器相连接的网络桥接器向应用层检测器转发所述第一数据,通过所述应用层检测器对所述第一数据进行应用层流量过滤处理,将通过所述应用层流量过滤处理的流量数据作为第二数据。
该步骤中,针对通过所述传输层流量过滤处理的第一数据,可以将所述第一数据从目标容器传输至网络桥接器,再通过网络桥接器转发到应用层检测器,以通过所述应用层检测器对所述第一数据进行应用层流量过滤处理,针对未通过所述应用层流量过滤处理的第一数据,对其进行拦截,针对通过所述应用层流量过滤处理的第一数据,将其确定为第二数据,对其进行放行。
其中,流量数据在虚拟网络设备之间的传输需要利用网络接口,网络接口均为成对出现,网络接口的一端连接着各自对应的虚拟网络设备,另一端彼此相连。
进而,在一些可能的实施方式中,所述目标容器上设置有第一网络接口,所述主机上设置有第二网络接口;所述网络桥接器上设置有第三网络接口和第四网络接口;其中,所述第一网络接口和所述第三网络接口通信连接,所述第二网络接口和所述第四网络接口通信连接。
请同时参阅图3,图3为本公开实施例提供的一种网络接口示意图。如图3中所示,传统模式是生成一对网络接口,一个网络接口设置在目标容器上,另一个网络接口设置在主机上,如图3中所示即为目标容器上设置有第一网络接口,主机上设置有第二网络接口,第一网络接口和第二网络接口通信连接,目标容器产生的流量数据通过第一网络接口发送到主机的第二网络接口。
而在本实施例中,在目标容器上设置有第一网络接口,主机上设置有第二网络接口的基础上,加入网络桥接器,网络桥接器上设置有第三网络接口和第四网络接口,第一网络接口和第三网络接口通信连接,第二网络接口和第四网络接口通信连接,从而使得目标容器产生的流量数据可以通过网络桥接器发送到主机。
相应地,在一些可能的实施方式中,所述通过与所述目标容器相连接的网络桥接器向应用层检测器转发所述第一数据,包括:
通过与所述目标容器相连接的网络桥接器的第三网络接口接收所述目标容器的所述第一网络接口传输的所述第一数据,并调用所述网络桥接器的包转发功能将所述第一数据转发到应用层检测器。
该步骤中,由于所述第一网络接口和所述第三网络接口通信连接,因此可以通过所述网络桥接器的第三网络接口接收所述目标容器的所述第一网络接口传输的所述第一数据,以将所述第一数据从目标容器传输至网络桥接器,进而调用所述网络桥接器的包转发功能将所述第一数据转发到应用层检测器,以通过所述应用层检测器对所述第一数据进行应用层流量过滤处理。
这里,所述应用层流量过滤处理为七层流量过滤处理,七层流量过滤处理是指在开放式系统互联通信参考模型(Open System Interconnection Reference Model,OSI)的第七层应用层,根据应用层的业务规则进行流量数据的识别与过滤。
具体的,在一些可能的实施方式中,通过所述应用层检测器对所述第一数据进行应用层流量过滤处理,包括:
通过所述应用层检测器从预先训练的流量过滤模型集中调用与所述目标容器关联的流量过滤模型;
基于调用的所述流量过滤模型,对所述第一数据进行应用层流量过滤处理。
针对预先训练的流量过滤模型集,所述流量过滤模型集中包括多个流量过滤模型,每个流量过滤模型存储有与其对应的业务容器,因此可以通过所述应用层检测器从流量过滤模型集中调用与所述目标容器关联的流量过滤模型,从而基于调用的所述流量过滤模型,对所述第一数据进行应用层流量过滤处理。
这里,基于所述网络桥接器的包转发功能,可以实现内核态和用户态之间的转换。
具体的,可以使用一种内存映射文件的方法(mmap),mmap机制是一种双工通信机制,可用于操作内核态与用户态通信进程之间的数据传递共享,即双方都读写同一块内存空间的数据来完成通信。
请同时参阅图4,图4为本公开实施例提供的一种包转发过程示意图。如图4中所示,传统模式是将网络策略器生成的传输层流量过滤策略(即为图中的四层过滤策略)直接发送到目标容器的宿主机上,通过宿主机的协议栈进行传输层流量过滤处理。而在本实施例中是将传输层流量过滤策略直接作用于目标容器内部,以对流量数据进行传输层流量过滤处理,从而降低对容器集群的影响,防止由于网络防护策略的失误或异常导致容器集群出现故障问题,同时还可以利用网络桥接器的包转发功能将流量数据转发到应用层检测器进行应用层流量过滤处理,如图4中所示即为将七层防护策略作用于用户态过滤引擎,以对流量数据进行应用层流量过滤处理,网络桥接器可以兼容各种不同业务特性的目标容器,从而提升流量传输的稳定性,提高接收到的流量数据的完整性,实现对容器环境下流量数据的安全检测和正常传输。
具体的,通过所述网络桥接器的第三网络接口接收所述目标容器的所述第一网络接口传输的所述第一数据,此时所述第一数据处于内核态进程,此时可以基于mmap机制,将所述第一数据传递给用户态进程,在用户态进程进行应用层流量过滤处理,并生成检测结果信息,这里,所述检测结果信息并不包括数据信息,而是包括对于该第一数据是否通过应用层流量过滤处理的判定结果,此时可以基于mmap机制,将所述检测结果信息传递给内核态进程,在内核态进程做数据拦截或放行的处理,若该流量数据未通过应用层流量过滤处理,通过内核态过滤引擎将该流量数据过滤掉,即进行数据拦截处理,相反的,若该流量数据通过应用层流量过滤处理,进行数据放行处理。
S203:通过所述网络桥接器将所述第二数据发送到与所述网络桥接器连接的主机,并通过主机发送至所述第二数据对应的目的端。
该步骤中,在得到通过所述应用层流量过滤处理的第二数据后,可以同样利用网络接口,通过所述网络桥接器将所述第二数据发送到主机,这里,所述第二数据携带有发送的网络链路,通过主机按照所述第二数据携带的网络链路发送至所述第二数据对应的目的端。
通过上文内容可知,所述第二网络接口和所述第四网络接口通信连接,因此,在一些可能的实施方式中,所述通过所述网络桥接器将所述第二数据发送到与所述网络桥接器连接的主机,包括:
通过所述网络桥接器的所述第四网络接口将所述第二数据转发到与所述网络桥接器连接的主机的第二网络接口。
该步骤中,由于所述第二网络接口和所述第四网络接口通信连接,因此可以通过所述网络桥接器的所述第四网络接口将所述第二数据转发到所述主机的第二网络接口,以将通过所述应用层流量过滤处理的第二数据从网络桥接器传输至主机。
请参阅图5,图5为本公开实施例提供的又一种流量传输控制方法的流程图。如图5中所示,在流量数据从容器流出的场景下,针对目标容器产生的流量数据,先根据在目标容器内部设置的传输层流量过滤策略,对流量数据进行传输层流量过滤处理,得到通过传输层流量过滤处理的第一数据,对第一数据进行放行,对未通过传输层流量过滤处理的流量数据进行拦截和过滤,然后将第一数据通过网络桥接器转发到应用层检测器进行应用层流量过滤处理,得到通过应用层流量过滤处理的第二数据,对第二数据进行放行,对未通过应用层流量过滤处理的第一数据进行拦截和过滤,进而将第二数据通过网络桥接器发送到主机,并通过主机发送至第二数据对应的目的端。
本公开实施例提供的流量传输控制方法,可以响应于目标容器产生的流量数据,基于在所述目标容器内部设置的传输层流量过滤策略,对所述流量数据进行传输层流量过滤处理,将通过所述传输层流量过滤处理的流量数据作为第一数据;通过与所述目标容器相连接的网络桥接器向应用层检测器转发所述第一数据,通过所述应用层检测器对所述第一数据进行应用层流量过滤处理,将通过所述应用层流量过滤处理的流量数据作为第二数据;通过所述网络桥接器将所述第二数据发送到与所述网络桥接器连接的主机,并通过主机发送至所述第二数据对应的目的端。
这样,在流量数据从容器流出的场景下,将传输层流量过滤策略直接作用于容器内部,以对容器产生的流量数据在容器内部直接进行传输层流量过滤处理,可以降低对容器集群的影响,防止由于网络防护策略的失误或异常导致容器集群出现故障问题;另外,通过将网络桥接器配置在目标容器和主机之间,目标容器可以将通过传输层流量过滤处理的流量数据通过网络桥接器转发到应用层检测器进行应用层流量流量过滤处理后,将通过应用层流量过滤处理的流量数据发送到主机,由于网络桥接器可以兼容各种不同业务特性的容器的流量数据传输,具备良好的适应性、通用性、和鲁棒性,从而可以保障流量传输的稳定性和完整性,进而实现对容器环境下流量数据的安全检测和正常传输。
请参阅图6,图6为本公开实施例提供的另一种流量传输控制方法的流程图,该流量传输控制方法可以认为由网络流量管控器执行,该网络流量管控器可以部署在一个独立的计算机设备上或本公开实施例进行网络流量处理的主机上。如图6中所示,本公开实施例提供的流量传输控制方法包括步骤S601~S603,其中:
S601:响应于主机接收的流量数据,通过与所述主机相连接的网络桥接器向应用层检测器转发所述流量数据,以通过所述应用层检测器对所述流量数据进行应用层流量过滤处理,将通过所述应用层流量过滤处理的流量数据作为第三数据。
这里,所述流量数据表征主机接收到的、基于网络传输协议生成的、待发送给容器的流量数据。该步骤中,在检测到主机接收到流量数据后,对所述流量数据进行应用层流量过滤处理,具体的,先将流量数据从主机传输至网络桥接器,再通过网络桥接器将所述流量数据转发到应用层检测器以进行应用层流量过滤处理。
其中,所述应用层流量过滤处理为七层流量过滤处理,七层流量过滤处理是指在开放式系统互联通信参考模型(Open System Interconnection Reference Model,OSI)的第七层应用层,根据应用层的业务规则进行流量数据的识别与过滤。
可以理解,所述应用层流量过滤处理为根据应用层的业务规则,检测所述流量数据携带的业务信息是否符合传输要求,这里,所述流量数据携带的业务信息可以包括统一资源定位符(Uniform Resource Locator,URL)地址、请求体(Body)参数信息等。
这里,通过上文内容可知,流量数据在虚拟网络设备之间的传输需要利用网络接口,网络接口均为成对出现,网络接口的一端连接着各自对应的虚拟网络设备,另一端彼此相连。
进而,在一些可能的实施方式中,所述目标容器上设置有第一网络接口,所述主机上设置有第二网络接口;所述网络桥接器上设置有第三网络接口和第四网络接口;其中,所述第一网络接口和所述第三网络接口通信连接,所述第二网络接口和所述第四网络接口通信连接。
具体可参见图3,图3为本公开实施例提供的一种网络接口示意图。如图3中所示,传统模式是生成一对网络接口,一个网络接口设置在目标容器上,另一个网络接口设置在主机上,如图中所示即为目标容器上设置有第一网络接口,主机上设置有第二网络接口,第一网络接口和第二网络接口通信连接,主机接收到的流量数据通过第二网络接口发送到目标容器的第一网络接口。
而在本实施例中,在目标容器上设置有第一网络接口,主机上设置有第二网络接口的基础上,加入网络桥接器,网络桥接器上设置有第三网络接口和第四网络接口,第一网络接口和第三网络接口通信连接,第二网络接口和第四网络接口通信连接,从而使得主机接收到的流量数据可以通过网络桥接器发送到目标容器。
相应地,在一些可能的实施方式中,所述通过与所述主机相连接的网络桥接器向应用层检测器转发所述流量数据,包括:
通过与所述主机相连接的网络桥接器的第四网络接口接收所述主机的所述第二网络接口传输的所述流量数据,并调用所述网络桥接器的包转发功能将所述流量数据转发到应用层检测器。
该步骤中,由于所述第二网络接口和所述第四网络接口通信连接,因此可以通过所述网络桥接器的所述第四网络接口接收所述主机的所述第二网络接口传输的所述流量数据,以将所述流量数据从主机传输至网络桥接器,在所述网络桥接器接收到所述流量数据的情况下,可以调用所述网络桥接器的包转发功能将所述流量数据转发到应用层检测器,以通过所述应用层检测器对所述流量数据进行应用层流量过滤处理。
具体的,在一些可能的实施方式中,通过所述应用层检测器对所述流量数据进行应用层流量过滤处理,包括:
通过所述应用层检测器从预先训练的流量过滤模型集中调用与所述目标容器关联的流量过滤模型;
基于调用的所述流量过滤模型,对所述流量数据进行应用层流量过滤处理。
针对预先训练的流量过滤模型集,所述流量过滤模型集中包括多个流量过滤模型,每个流量过滤模型存储有与其对应的业务容器,因此可以通过所述应用层检测器从流量过滤模型集中调用与所述目标容器关联的流量过滤模型,从而基于调用的所述流量过滤模型,对所述流量数据进行应用层流量过滤处理。
这里,基于所述网络桥接器的包转发功能,可以实现内核态和用户态之间的转换。
具体的,可以使用一种内存映射文件的方法(mmap),mmap机制是一种双工通信机制,可用于操作内核态与用户态通信进程之间的数据传递共享,即双方都读写同一块内存空间的数据来完成通信。
具体可参见图4,图4为本公开实施例提供的一种包转发过程示意图。如图4中所示,传统模式是将网络策略器生成的传输层流量过滤策略(即为图中的四层过滤策略)直接发送到目标容器的宿主机上,通过宿主机的协议栈进行传输层流量过滤处理。而在本实施例中是将传输层流量过滤策略直接作用于目标容器内部,以对流量数据进行传输层流量过滤处理,从而降低对容器集群的影响,防止由于网络防护策略的失误或异常导致容器集群出现故障问题,同时还可以利用网络桥接器的包转发功能将流量数据转发到应用层检测器进行应用层流量过滤处理,如图4中所示即为将七层防护策略作用于用户态过滤引擎,以对流量数据进行应用层流量过滤处理,网络桥接器可以兼容各种不同业务特性的目标容器,从而提升流量传输的稳定性,提高接收到的流量数据的完整性,实现对容器环境下流量数据的安全检测和正常传输。
具体的,通过所述网络桥接器的第四网络接口接收所述主机的所述第二网络接口传输的流量数据,此时流量数据处于内核态进程,可以基于mmap机制,将流量数据传递给用户态进程,在用户态进程进行应用层流量过滤处理,并生成检测结果信息,这里,所述检测结果信息并不包括数据信息,而是包括对于该流量数据是否通过应用层流量过滤处理的判定结果,此时可以基于mmap机制,将所述检测结果信息传递给内核态进程,在内核态进程做数据拦截或放行的处理,若该流量数据未通过应用层流量过滤处理,通过内核态过滤引擎将该流量数据过滤掉,即进行数据拦截处理,相反的,若该流量数据通过应用层流量过滤处理,进行数据放行处理。
S602:通过所述网络桥接器将所述第三数据发送到与所述网络桥接器连接的目标容器,基于在所述目标容器内部设置的传输层流量过滤策略,对所述第三数据进行传输层流量过滤处理,将通过所述传输层流量过滤处理的流量数据作为第四数据。
该步骤中,在得到通过应用层流量过滤处理的第三数据后,可以同样利用网络接口,通过所述网络桥接器将所述第三数据发送到目标容器,从而根据在所述目标容器内部设置的传输层流量过滤策略,对所述第三数据进行传输层流量过滤处理,针对未通过所述传输层流量过滤处理的第三数据,对其进行拦截,针对通过所述传输层流量过滤处理的第三数据,将其确定为第四数据,对其进行放行。
其中,所述传输层流量过滤处理为四层流量过滤处理,四层流量过滤处理是指在开放式系统互联通信参考模型(Open System Interconnection Reference Model,OSI)的第四层传输层,基于五元组信息进行流量数据的过滤与防护。
这里,五元组信息包括源互联网协议(Internet Protocol Address,IP)地址、源端口、目的IP地址、目的端口和传输层协议。
可以理解,传输层流量过滤处理即为获取第三数据携带的五元组信息,并获取传输层流量过滤策略指示的符合传输要求的五元组信息和不符合传输要求的五元组信息,以检测该第三数据的五元组信息是否符合传输层流量过滤策略指示的传输要求。
通过上文内容可知,所述第一网络接口和所述第三网络接口通信连接,因此,在一些可能的实施方式中,所述通过所述网络桥接器将所述第三数据发送到与所述网络桥接器连接的目标容器,包括:
通过所述网络桥接器的所述第三网络接口将所述第三数据转发到与所述网络桥接器连接的目标容器的第一网络接口。
该步骤中,由于所述第一网络接口和所述第三网络接口通信连接,因此可以通过所述网络桥接器的所述第三网络接口,将所述第三数据转发到所述目标容器的第一网络接口,进而基于在所述目标容器内部设置的传输层流量过滤策略,对所述第三数据进行传输层流量过滤处理。
可以理解,为了能够在目标容器内部对所述第三数据进行传输层流量过滤处理,需要预先在目标容器内部设置相应的传输层流量过滤策略。
相应地,在一些可能的实施方式中,在基于在所述目标容器内部设置的传输层流量过滤策略,对所述第三数据进行传输层流量过滤处理之前,还包括:
获取网络策略器生成的与所述目标容器对应的传输层流量过滤策略,并将所述传输层流量过滤策略发送至所述网络桥接器;所述传输层流量过滤策略指示有符合传输要求的五元组信息和不符合传输要求的五元组信息;
通过所述网络桥接器将所述传输层流量过滤策略设置在所述目标容器的独立网络命名空间中。
该步骤中,可以获取网络策略器生成的传输层流量过滤策略,这里,所述传输层流量过滤策略与所述目标容器对应,以便在后续按照所述传输层流量过滤策略对目标容器接收的流量数据进行传输层流量过滤处理,在获取到所述传输层流量过滤策略的情况下,可以将所述传输层流量过滤策略发送至所述网络桥接器,并通过所述网络桥接器将所述传输层流量过滤策略设置在所述目标容器的独立网络命名空间中。
在将传输层流量过滤策略设置在所述目标容器的独立网络命名空间中后,就可以从所述独立网络命名空间中读取所述传输层流量过滤策略,按照所述传输层流量过滤策略对所述流量数据进行传输层流量过滤处理。
因此,在一些可能的实施方式中,所述基于在所述目标容器内部设置的传输层流量过滤策略,对所述第三数据进行传输层流量过滤处理,包括:
从所述独立网络命名空间中读取所述传输层流量过滤策略,基于所述第三数据携带的五元组信息,以及所述传输层流量过滤策略指示的符合传输要求的五元组信息和不符合传输要求的五元组信息,对所述第三数据进行传输层流量过滤处理。
可以理解,若所述第三数据携带的五元组信息与所述传输层流量过滤策略指示的符合传输要求的五元组信息匹配,可以确定所述第三数据通过传输层流量过滤处理,从而对所述第三数据进行放行;相反的,若所述第三数据携带的五元组信息与所述传输层流量过滤策略指示的不符合传输要求的五元组信息匹配,可以确定所述第三数据未通过传输层流量过滤处理,从而对所述第三数据进行拦截和过滤。
S603:在所述目标容器对所述第四数据进行处理。
该步骤中,在确定通过所述传输层流量过滤处理的第四数据后,可以在目标容器相应的服务进程中,对目标容器接收到的所述第四数据进行处理。
请参阅图7,图7为本公开实施例提供的又一种流量传输控制方法的流程图。如图7中所示,在流量数据流入容器的场景下,针对主机接收到的流量数据,先将流量数据通过网络桥接器转发到应用层检测器进行应用层流量过滤处理,得到通过应用层流量过滤处理的第三数据,对第三数据进行放行,对未通过应用层流量过滤处理的流量数据进行拦截和过滤,然后将第三数据通过网络桥接器发送到目标容器,根据在目标容器内部设置的传输层流量过滤策略,对第三数据进行传输层流量过滤处理,得到通过传输层流量过滤处理的第四数据,对第四数据进行放行,对未通过传输层流量过滤处理的第三数据进行拦截和过滤,进而在目标容器对第四数据进行处理。
本公开实施例提供的流量传输控制方法,可以响应于主机接收的流量数据,通过与所述主机相连接的网络桥接器向应用层检测器转发所述流量数据,以通过所述应用层检测器对所述流量数据进行应用层流量过滤处理,将通过所述应用层流量过滤处理的流量数据作为第三数据;通过所述网络桥接器将所述第三数据发送到与所述网络桥接器连接的目标容器,基于在所述目标容器内部设置的传输层流量过滤策略,对所述第三数据进行传输层流量过滤处理,将通过所述传输层流量过滤处理的流量数据作为第四数据;在所述目标容器对所述第四数据进行处理。
这样,主机在接收到流量数据后,通过配置在主机与容器之间的网络桥接器将流量数据转发到应用层检测器进行应用层流量过滤处理,再将通过应用层流量过滤处理的流量数据转发到容器,通过容器内部设置的传输层流量过滤策略直接进行传输层流量过滤处理;一方面,通过在容器内部进行传输层流量过滤处理的机制,可以降低对容器集群的影响,防止由于网络防护策略的失误或异常导致容器集群出现故障问题;另一方面,由于配置在主机和容器之间的网络桥接器可以兼容各种不同业务特性的容器的流量数据传输,具备良好的适应性、通用性、和鲁棒性,从而可以保障流量传输的稳定性和完整性,进而实现对容器环境下流量数据的安全检测和正常传输。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与流量传输控制方法对应的流量传输控制装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述流量传输控制方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图8和图9,图8为本公开实施例提供的一种流量传输控制装置的示意图之一,图9为本公开实施例提供的一种流量传输控制装置的示意图之二。如图8中所示,本公开实施例提供的流量传输控制装置800包括:
第一过滤模块801,用于响应于目标容器产生的流量数据,基于在所述目标容器内部设置的传输层流量过滤策略,对所述流量数据进行传输层流量过滤处理,将通过所述传输层流量过滤处理的流量数据作为第一数据;
第二过滤模块802,用于通过与所述目标容器相连接的网络桥接器向应用层检测器转发所述第一数据,通过所述应用层检测器对所述第一数据进行应用层流量过滤处理,将通过所述应用层流量过滤处理的流量数据作为第二数据;
第一处理模块803,用于通过所述网络桥接器将所述第二数据发送到与所述网络桥接器连接的主机,并通过主机发送至所述第二数据对应的目的端。
一种可选的实施方式中,如图9中所示,所述流量传输控制装置800还包括第一设置模块804,所述第一设置模块804用于:
获取网络策略器生成的与所述目标容器对应的传输层流量过滤策略,并将所述传输层流量过滤策略发送至所述网络桥接器;所述传输层流量过滤策略指示有符合传输要求的五元组信息和不符合传输要求的五元组信息;
通过所述网络桥接器将所述传输层流量过滤策略设置在所述目标容器的独立网络命名空间中;
所述第一过滤模块801在用于基于在所述目标容器内部设置的传输层流量过滤策略,对所述流量数据进行传输层流量过滤处理时,具体用于:
从所述独立网络命名空间中读取所述传输层流量过滤策略,基于所述流量数据携带的五元组信息,以及所述传输层流量过滤策略指示的符合传输要求的五元组信息和不符合传输要求的五元组信息,对所述流量数据进行传输层流量过滤处理。
一种可选的实施方式中,所述目标容器上设置有第一网络接口,所述主机上设置有第二网络接口;所述网络桥接器上设置有第三网络接口和第四网络接口;其中,所述第一网络接口和所述第三网络接口通信连接,所述第二网络接口和所述第四网络接口通信连接;
所述第二过滤模块802在用于通过与所述目标容器相连接的网络桥接器向应用层检测器转发所述第一数据时,具体用于:
通过与所述目标容器相连接的网络桥接器的第三网络接口接收所述目标容器的所述第一网络接口传输的所述第一数据,并调用所述网络桥接器的包转发功能将所述第一数据转发到应用层检测器;
所述第一处理模块803在用于通过所述网络桥接器将所述第二数据发送到与所述网络桥接器连接的主机时,具体用于:
通过所述网络桥接器的所述第四网络接口将所述第二数据转发到与所述网络桥接器连接的主机的第二网络接口。
一种可选的实施方式中,所述第二过滤模块802在用于通过所述应用层检测器对所述第一数据进行应用层流量过滤处理时,具体用于:
通过所述应用层检测器从预先训练的流量过滤模型集中调用与所述目标容器关联的流量过滤模型;
请参阅图10和图11,图10为本公开实施例提供的另一种流量传输控制装置的示意图之一,图11为本公开实施例提供的另一种流量传输控制装置的示意图之二。如图10中所示,本公开实施例提供的流量传输控制装置1000包括:
第三过滤模块1001,用于响应于主机接收的流量数据,通过与所述主机相连接的网络桥接器向应用层检测器转发所述流量数据,以通过所述应用层检测器对所述流量数据进行应用层流量过滤处理,将通过所述应用层流量过滤处理的流量数据作为第三数据;
第四过滤模块1002,用于通过所述网络桥接器将所述第三数据发送到与所述网络桥接器连接的目标容器,基于在所述目标容器内部设置的传输层流量过滤策略,对所述第三数据进行传输层流量过滤处理,将通过所述传输层流量过滤处理的流量数据作为第四数据;
第二处理模块1003,用于在所述目标容器对所述第四数据进行处理。
一种可选的实施方式中,所述目标容器上设置有第一网络接口,所述主机上设置有第二网络接口;所述网络桥接器上设置有第三网络接口和第四网络接口;其中,所述第一网络接口和所述第三网络接口通信连接,所述第二网络接口和所述第四网络接口通信连接;
所述第三过滤模块1001在用于通过与所述主机相连接的网络桥接器向应用层检测器转发所述流量数据时,具体用于:
通过与所述主机相连接的网络桥接器的第四网络接口接收所述主机的所述第二网络接口传输的所述流量数据,并调用所述网络桥接器的包转发功能将所述流量数据转发到应用层检测器;
所述第四过滤模块1002在用于将通过所述网络桥接器将所述第三数据发送到与所述网络桥接器连接的目标容器时,具体用于:
通过所述网络桥接器的所述第三网络接口将所述第三数据转发到与所述网络桥接器连接的目标容器的第一网络接口。
一种可选的实施方式中,所述第四过滤模块1002在用于通过所述应用层检测器对所述流量数据进行应用层流量过滤处理时,具体用于:
通过所述应用层检测器从预先训练的流量过滤模型集中调用与所述目标容器关联的流量过滤模型;
基于调用的所述流量过滤模型,对所述流量数据进行应用层流量过滤处理。
一种可选的实施方式中,如图11中所示,所述流量传输控制装置1000还包括第二设置模块1004,所述第二设置模块1004用于:
获取网络策略器生成的与所述目标容器对应的传输层流量过滤策略,并将所述传输层流量过滤策略发送至所述网络桥接器;所述传输层流量过滤策略指示有符合传输要求的五元组信息和不符合传输要求的五元组信息;
通过所述网络桥接器将所述传输层流量过滤策略设置在所述目标容器的独立网络命名空间中;
所述第四过滤模块1002在用于基于在所述目标容器内部设置的传输层流量过滤策略,对所述第三数据进行传输层流量过滤处理时,具体用于:
从所述独立网络命名空间中读取所述传输层流量过滤策略,基于所述第三数据携带的五元组信息,以及所述传输层流量过滤策略指示的符合传输要求的五元组信息和不符合传输要求的五元组信息,对所述第三数据进行传输层流量过滤处理。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
基于同一技术构思,本公开实施例还提供了一种电子设备。参照图12所示,为本公开实施例提供的电子设备1200结构示意图,包括:
处理器1210、存储器1220、和总线1230;存储器1220用于存储执行指令,包括内存1221和外部存储器1222;这里的内存1221也称内存储器,用于暂时存放处理器1210中的运算数据,以及与硬盘等外部存储器1222交换的数据,处理器1210通过内存1221与外部存储器1222进行数据交换,当所述电子设备1200运行时,所述处理器1210与所述存储器1220之间通过总线1230通信,使得所述处理器1210可以执行上述的流量传输控制方法实施例中所提及的执行指令。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的流量传输控制方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品包括有计算机指令,所述计算机指令被处理器执行时可以执行上述方法实施例中所述的流量传输控制方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (12)

1.一种流量传输控制方法,其特征在于,所述方法包括:
响应于目标容器产生的流量数据,基于在所述目标容器内部设置的传输层流量过滤策略,对所述流量数据进行传输层流量过滤处理,将通过所述传输层流量过滤处理的流量数据作为第一数据;
通过与所述目标容器相连接的网络桥接器向应用层检测器转发所述第一数据,通过所述应用层检测器对所述第一数据进行应用层流量过滤处理,将通过所述应用层流量过滤处理的流量数据作为第二数据;
通过所述网络桥接器将所述第二数据发送到与所述网络桥接器连接的主机,并通过主机发送至所述第二数据对应的目的端。
2.根据权利要求1所述的方法,其特征在于,在基于在所述目标容器内部设置的传输层流量过滤策略,对所述流量数据进行传输层流量过滤处理之前,还包括:
获取网络策略器生成的与所述目标容器对应的传输层流量过滤策略,并将所述传输层流量过滤策略发送至所述网络桥接器;所述传输层流量过滤策略指示有符合传输要求的五元组信息和不符合传输要求的五元组信息;
通过所述网络桥接器将所述传输层流量过滤策略设置在所述目标容器的独立网络命名空间中;
所述基于在所述目标容器内部设置的传输层流量过滤策略,对所述流量数据进行传输层流量过滤处理,包括:
从所述独立网络命名空间中读取所述传输层流量过滤策略,基于所述流量数据携带的五元组信息,以及所述传输层流量过滤策略指示的符合传输要求的五元组信息和不符合传输要求的五元组信息,对所述流量数据进行传输层流量过滤处理。
3.根据权利要求1所述的方法,其特征在于,所述目标容器上设置有第一网络接口,所述主机上设置有第二网络接口;所述网络桥接器上设置有第三网络接口和第四网络接口;其中,所述第一网络接口和所述第三网络接口通信连接,所述第二网络接口和所述第四网络接口通信连接;
所述通过与所述目标容器相连接的网络桥接器向应用层检测器转发所述第一数据,包括:
通过与所述目标容器相连接的网络桥接器的第三网络接口接收所述目标容器的所述第一网络接口传输的所述第一数据,并调用所述网络桥接器的包转发功能将所述第一数据转发到应用层检测器;
所述通过所述网络桥接器将所述第二数据发送到与所述网络桥接器连接的主机,包括:
通过所述网络桥接器的所述第四网络接口将所述第二数据转发到与所述网络桥接器连接的主机的第二网络接口。
4.根据权利要求1所述的方法,其特征在于,通过所述应用层检测器对所述第一数据进行应用层流量过滤处理,包括:
通过所述应用层检测器从预先训练的流量过滤模型集中调用与所述目标容器关联的流量过滤模型;
基于调用的所述流量过滤模型,对所述第一数据进行应用层流量过滤处理。
5.一种流量传输控制方法,其特征在于,所述方法包括:
响应于主机接收的流量数据,通过与所述主机相连接的网络桥接器向应用层检测器转发所述流量数据,以通过所述应用层检测器对所述流量数据进行应用层流量过滤处理,将通过所述应用层流量过滤处理的流量数据作为第三数据;
通过所述网络桥接器将所述第三数据发送到与所述网络桥接器连接的目标容器,基于在所述目标容器内部设置的传输层流量过滤策略,对所述第三数据进行传输层流量过滤处理,将通过所述传输层流量过滤处理的流量数据作为第四数据;
在所述目标容器对所述第四数据进行处理。
6.根据权利要求5所述的方法,其特征在于,所述目标容器上设置有第一网络接口,所述主机上设置有第二网络接口;所述网络桥接器上设置有第三网络接口和第四网络接口;其中,所述第一网络接口和所述第三网络接口通信连接,所述第二网络接口和所述第四网络接口通信连接;
所述通过与所述主机相连接的网络桥接器向应用层检测器转发所述流量数据,包括:
通过与所述主机相连接的网络桥接器的第四网络接口接收所述主机的所述第二网络接口传输的所述流量数据,并调用所述网络桥接器的包转发功能将所述流量数据转发到应用层检测器;
所述通过所述网络桥接器将所述第三数据发送到与所述网络桥接器连接的目标容器,包括:
通过所述网络桥接器的所述第三网络接口将所述第三数据转发到与所述网络桥接器连接的目标容器的第一网络接口。
7.根据权利要求5所述的方法,其特征在于,通过所述应用层检测器对所述流量数据进行应用层流量过滤处理,包括:
通过所述应用层检测器从预先训练的流量过滤模型集中调用与所述目标容器关联的流量过滤模型;
基于调用的所述流量过滤模型,对所述流量数据进行应用层流量过滤处理。
8.根据权利要求5所述的方法,其特征在于,在基于在所述目标容器内部设置的传输层流量过滤策略,对所述第三数据进行传输层流量过滤处理之前,还包括:
获取网络策略器生成的与所述目标容器对应的传输层流量过滤策略,并将所述传输层流量过滤策略发送至所述网络桥接器;所述传输层流量过滤策略指示有符合传输要求的五元组信息和不符合传输要求的五元组信息;
通过所述网络桥接器将所述传输层流量过滤策略设置在所述目标容器的独立网络命名空间中;
所述基于在所述目标容器内部设置的传输层流量过滤策略,对所述第三数据进行传输层流量过滤处理,包括:
从所述独立网络命名空间中读取所述传输层流量过滤策略,基于所述第三数据携带的五元组信息,以及所述传输层流量过滤策略指示的符合传输要求的五元组信息和不符合传输要求的五元组信息,对所述第三数据进行传输层流量过滤处理。
9.一种流量传输控制装置,其特征在于,所述装置包括:
第一过滤模块,用于响应于目标容器产生的流量数据,基于在所述目标容器内部设置的传输层流量过滤策略,对所述流量数据进行传输层流量过滤处理,将通过所述传输层流量过滤处理的流量数据作为第一数据;
第二过滤模块,用于通过与所述目标容器相连接的网络桥接器向应用层检测器转发所述第一数据,通过所述应用层检测器对所述第一数据进行应用层流量过滤处理,将通过所述应用层流量过滤处理的流量数据作为第二数据;
第一处理模块,用于通过所述网络桥接器将所述第二数据发送到与所述网络桥接器连接的主机,并通过主机发送至所述第二数据对应的目的端。
10.一种流量传输控制装置,其特征在于,所述装置包括:
第三过滤模块,用于响应于主机接收的流量数据,通过与所述主机相连接的网络桥接器向应用层检测器转发所述流量数据,以通过所述应用层检测器对所述流量数据进行应用层流量过滤处理,将通过所述应用层流量过滤处理的流量数据作为第三数据;
第四过滤模块,用于通过所述网络桥接器将所述第三数据发送到与所述网络桥接器连接的目标容器,基于在所述目标容器内部设置的传输层流量过滤策略,对所述第三数据进行传输层流量过滤处理,将通过所述传输层流量过滤处理的流量数据作为第四数据;
第二处理模块,用于在所述目标容器对所述第四数据进行处理。
11.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至4或者权利要求5至8中任一项所述的流量传输控制方法的步骤。
12.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至4或者权利要求5至8中任一项所述的流量传输控制方法的步骤。
CN202210468297.9A 2022-04-29 2022-04-29 一种流量传输控制方法、装置、设备及存储介质 Active CN114978610B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210468297.9A CN114978610B (zh) 2022-04-29 2022-04-29 一种流量传输控制方法、装置、设备及存储介质
PCT/CN2023/086761 WO2023207547A1 (zh) 2022-04-29 2023-04-07 一种流量传输控制方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210468297.9A CN114978610B (zh) 2022-04-29 2022-04-29 一种流量传输控制方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114978610A CN114978610A (zh) 2022-08-30
CN114978610B true CN114978610B (zh) 2024-05-28

Family

ID=82979229

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210468297.9A Active CN114978610B (zh) 2022-04-29 2022-04-29 一种流量传输控制方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN114978610B (zh)
WO (1) WO2023207547A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114978610B (zh) * 2022-04-29 2024-05-28 北京火山引擎科技有限公司 一种流量传输控制方法、装置、设备及存储介质
CN116226846A (zh) * 2022-12-28 2023-06-06 北京火山引擎科技有限公司 一种容器的安全检测方法、装置及设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107666446A (zh) * 2017-09-14 2018-02-06 北京京东尚科信息技术有限公司 下行流量、上行流量、双向流量限制方法和装置
CN107835179A (zh) * 2017-11-14 2018-03-23 山东超越数控电子股份有限公司 一种基于虚拟化容器的应用程序防护方法与装置
CN107864062A (zh) * 2016-12-14 2018-03-30 中国电子科技网络信息安全有限公司 一种容器防火墙系统部署方法
CN108200038A (zh) * 2017-12-28 2018-06-22 山东浪潮云服务信息科技有限公司 一种虚拟机安全防护方法、装置、可读介质及存储控制器
CN109981549A (zh) * 2017-12-28 2019-07-05 中移(杭州)信息技术有限公司 一种安全防护系统、方法及介质
CN114143203A (zh) * 2021-11-05 2022-03-04 华东师范大学 一种基于动态服务拓扑映射的Kubernetes容器网络数据包指标采集的方法及系统
CN114237928A (zh) * 2021-11-29 2022-03-25 南京中孚信息技术有限公司 容器间通信方法及装置、电子设备、计算机可读存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090328210A1 (en) * 2008-06-30 2009-12-31 Microsoft Corporation Chain of events tracking with data tainting for automated security feedback
CN104380667B (zh) * 2013-06-14 2017-09-12 华为技术有限公司 一种数据报文的路由方法和设备
US10693899B2 (en) * 2015-10-01 2020-06-23 Twistlock, Ltd. Traffic enforcement in containerized environments
US10567411B2 (en) * 2015-10-01 2020-02-18 Twistlock, Ltd. Dynamically adapted traffic inspection and filtering in containerized environments
GB201721847D0 (en) * 2017-12-22 2018-02-07 Telecom Paris Tech Priority map for media files
US11888899B2 (en) * 2018-01-24 2024-01-30 Nicira, Inc. Flow-based forwarding element configuration
US11283676B2 (en) * 2018-06-11 2022-03-22 Nicira, Inc. Providing shared memory for access by multiple network service containers executing on single service machine
US11516242B2 (en) * 2019-08-27 2022-11-29 Illumio, Inc. Virtual patching in a label-based segmented network environment
CN114978610B (zh) * 2022-04-29 2024-05-28 北京火山引擎科技有限公司 一种流量传输控制方法、装置、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107864062A (zh) * 2016-12-14 2018-03-30 中国电子科技网络信息安全有限公司 一种容器防火墙系统部署方法
CN107666446A (zh) * 2017-09-14 2018-02-06 北京京东尚科信息技术有限公司 下行流量、上行流量、双向流量限制方法和装置
CN107835179A (zh) * 2017-11-14 2018-03-23 山东超越数控电子股份有限公司 一种基于虚拟化容器的应用程序防护方法与装置
CN108200038A (zh) * 2017-12-28 2018-06-22 山东浪潮云服务信息科技有限公司 一种虚拟机安全防护方法、装置、可读介质及存储控制器
CN109981549A (zh) * 2017-12-28 2019-07-05 中移(杭州)信息技术有限公司 一种安全防护系统、方法及介质
CN114143203A (zh) * 2021-11-05 2022-03-04 华东师范大学 一种基于动态服务拓扑映射的Kubernetes容器网络数据包指标采集的方法及系统
CN114237928A (zh) * 2021-11-29 2022-03-25 南京中孚信息技术有限公司 容器间通信方法及装置、电子设备、计算机可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Docker容器安全防护技术研究;任兰芳;庄小君;付俊;;电信工程技术与标准化(03);全文 *
基于Macvlan的docker容器网络架构;杨鑫;吴之南;钱松荣;;微型电脑应用(05);全文 *

Also Published As

Publication number Publication date
WO2023207547A1 (zh) 2023-11-02
CN114978610A (zh) 2022-08-30

Similar Documents

Publication Publication Date Title
CN114978610B (zh) 一种流量传输控制方法、装置、设备及存储介质
CN105430011B (zh) 一种检测分布式拒绝服务攻击的方法和装置
US9064121B2 (en) Network data transmission analysis
US8416709B1 (en) Network data transmission analysis management
CN109698788B (zh) 流量转发方法、装置及计算机可读介质
US8555383B1 (en) Network data transmission auditing
CN100361452C (zh) 响应拒绝服务攻击的方法和设备
US7971236B1 (en) Method and system for secure remote direct memory access
US6721890B1 (en) Application specific distributed firewall
US20010052007A1 (en) DNS server filter
CN110391988B (zh) 网络流量控制方法、系统及安全防护装置
CN112165460B (zh) 流量检测方法、装置、计算机设备和存储介质
CN107172618B (zh) 装置配对方法
US20120110657A1 (en) Apparatus and method for host-based network separation
CN105656765A (zh) 一种基于深度内容解析的smtp协议数据防外泄方法及系统
CN114826969B (zh) 网络连通性检查方法、装置、设备及存储介质
CN101119383B (zh) 目标端和发起端建立iSCSI会话的方法及设备
CN112910917B (zh) 网络隔离方法、装置、设备及可读存储介质
CN109660535A (zh) Linux系统中数据的处理方法和装置
CN113132364A (zh) Arp拟制表项的生成方法、电子设备
KR102094315B1 (ko) 계정별 ap 할당 기반 망분리 시스템
CN104038494A (zh) 一种记录攻击来源的方法及交换机
CN105512008B (zh) 一种获取故障信息的方法及装置
CN107395615B (zh) 一种打印机安全防护的方法和装置
CN115022281B (zh) 一种nat穿透的方法、客户端及系统

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
GR01 Patent grant
GR01 Patent grant