CN112532538A - 流量的控制方法、装置、电子设备及计算机可读存储介质 - Google Patents
流量的控制方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112532538A CN112532538A CN202011321953.XA CN202011321953A CN112532538A CN 112532538 A CN112532538 A CN 112532538A CN 202011321953 A CN202011321953 A CN 202011321953A CN 112532538 A CN112532538 A CN 112532538A
- Authority
- CN
- China
- Prior art keywords
- data message
- intercepting
- hook
- ebpf
- ebpf program
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000012545 processing Methods 0.000 claims abstract description 26
- 230000008569 process Effects 0.000 claims description 13
- 238000001914 filtration Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011022 operating instruction Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101000652292 Homo sapiens Serotonin N-acetyltransferase Proteins 0.000 description 1
- 102100030547 Serotonin N-acetyltransferase Human genes 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种流量的控制方法、装置、电子设备及计算机可读存储介质。该方法包括:接收客户端发送的第一数据报文;通过在第一hook上设置的第一eBPF程序拦截第一数据报文,并确定第一数据报文中是否包含指定的特征信息;若包含,则对第一数据报文进行处理。基于本方案,能够通过eBPF程序代替iptables进行对sidecar的流量拦截,避免因使用nf_conntrack模块进行nat表的连接追踪时可能导致的过大性能消耗,避免出现丢包。
Description
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种流量的控制方法、装置、电子设备及计算机可读存储介质。
背景技术
近年来,Service mesh作为新一代微服务架构,逐渐被业界所接受,并迅速发展。其中,Istio尤为突出,其由控制面和数据面两部分组成。Sidecar作为Istio的数据面,对网格内流量进行拦截,具有服务治理和数据收集上报等功能。
Netfilter/iptables((简称为iptables))是Linux2.4.x之后出现的Linux防火墙机制,是linux内核的一个子系统,其从用户态的iptables连接到内核态的Netfilter模块。Sidecar可以基于iptables进行流量拦截,Netfilter采用模块化设计,具有良好的可扩充性,并且位于网络协议栈的网络层,与IP协议栈无缝契合,允许使用者对数据报进行过滤、地址转换、处理等操作。
Netfilter的连接跟踪(CONNTRACK)模块,用于跟踪并且记录连接状态。Linux为每一个经过网络堆栈的数据包,生成一个新的连接记录项(Connection entry)。此后,所有属于此连接的数据包都被唯一地分配给这个连接,并标识连接的状态。连接跟踪是防火墙模块的状态检测的基础,同时也是地址转换中实现SNAT和DNAT的前提。
现有技术中,iptables的nat表需要借助于conntrack模块实现连接跟踪,在连接数较多的情况下,会造成较大的性能消耗,出现丢包的问题。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一。本申请所采用的技术方案如下:
第一方面,本申请实施例提供了一种流量的控制方法,该方法包括:
接收客户端发送的第一数据报文;
通过在第一hook上设置的第一eBPF程序拦截第一数据报文,并确定第一数据报文中是否包含指定的特征信息;
若包含,则对第一数据报文进行处理。
可选地,通过在第一hook上设置的第一eBPF程序拦截第一数据报文,包括:
通过在XDP提供的第一hook上设置的第一eBPF程序拦截第一数据报文。
可选地,对第一数据报文进行处理,包括以下任一项:
基于第一数据报文进行系统性能分析;
对第一数据报文进行报文过滤;
对第一数据报文进行流量分类;
对第一数据报文进行流量转发。
可选地,在对第一数据报文进行处理并生成第二数据报文后,上述方法还包括:
通过在第二hook上设置的第二eBPF程序拦截第二数据报文,并对第二数据报文进行处理。
可选地,通过在第二hook上设置的第二eBPF程序拦截第二数据报文,包括:
通过在TC层提供的第二hook上设置的第二eBPF程序拦截第二数据报文。
可选地,通过在TC层提供的第二hook上设置的第二eBPF程序拦截第二数据报文,包括:
通过在TC层上的clsact提供的第二hook上设置的第二eBPF程序拦截第二数据报文。
第二方面,本申请实施例提供了一种流量的控制装置,该装置包括:
报文接收模块,用于接收客户端发送的第一数据报文;
特征信息确定模块,用于通过在第一hook上设置的第一eBPF程序拦截第一数据报文,并确定第一数据报文中是否包含指定的特征信息;
流量的控制模块,用于在第一数据报文中包含指定的特征信息时,对第一数据报文进行处理。
可选地,特征信息确定模块在通过在第一hook上设置的第一eBPF程序拦截第一数据报文时,具体用于:
通过在XDP提供的第一hook上设置的第一eBPF程序拦截第一数据报文。
可选地,流量的控制模块在对第一数据报文进行处时,具体用于以下任一项。
基于第一数据报文进行系统性能分析;
对第一数据报文进行报文过滤;
对第一数据报文进行流量分类;
对第一数据报文进行流量转发。
可选地,上述流量的控制模块还用于:
在对第一数据报文进行处理并生成第二数据报文后,通过在第二hook上设置的第二eBPF程序拦截第二数据报文,并对第二数据报文进行处理。
可选地,上述流量的控制模块在通过在第二hook上设置的第二eBPF程序拦截第二数据报文时,具体用于:
通过在TC层提供的第二hook上设置的第二eBPF程序拦截第二数据报文。
可选地,上述流量的控制模块在通过在TC层提供的第二hook上设置的第二eBPF程序拦截第二数据报文时,具体用于:
通过在TC层上的clsact提供的第二hook上设置的第二eBPF程序拦截第二数据报文。
可选地,特征信息包括以下至少一项:
进程号;
应用代码;
目的IP。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器和存储器;
存储器,用于存储操作指令;
处理器,用于通过调用操作指令,执行如本申请的第一方面的任一实施方式中所示的流量的控制方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请的第一方面的任一实施方式中所示的流量的控制方法。
本申请实施例提供的技术方案带来的有益效果是:
本申请提供的方案,在接收到客户端发送的第一数据报文时,通过在第一hook上设置的第一eBPF程序拦截第一数据报文,并在确定第一数据报文中包含指定的特征信息时,对第一数据报文进行处理。基于本方案,能够通过eBPF程序代替iptables进行对sidecar的流量拦截,避免因使用nf_conntrack模块进行nat表的连接追踪时可能导致的过大性能消耗,避免出现丢包。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种流量的控制方法的流程示意图;
图2为本申请实施例提供的一种流量的控制装置的结构示意图;
图3为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1示出了本申请实施例提供的一种流量的控制方法的流程示意图,如图1所示,该方法主要可以包括:
步骤S110:接收客户端发送的第一数据报文;
步骤S120:通过在第一hook上设置的第一eBPF程序拦截第一数据报文,并确定第一数据报文中是否包含指定的特征信息;
步骤S130:若包含,则对第一数据报文进行处理。
eBPF在linux中提供了一组指令集和可执行环境,可以修改内核中的数据报文的处理过程,也可以对网络设备进行编程。eBPF的主要优势是其在linux内核中提供了一个灵活且安全的编程环境。eBPF程序能够在内核运行时被加载和被修改,并且能够与内核很多元素进行交互,例如,kprobes、perf事件、socket和路由表等。
本申请实施例中,第一数据报文可以为进入网格的报文,通过在第一hook上设置第一eBPF程序,实现对进入网格流量的拦截。
本申请实施例中,在完成对进入网格浏览的流量拦截后,可以确定第一数据报文中是否包含指定的特征信息,如包含,则可以对第一数据报文进行处理,从而实现流量控制。
本申请实施例中,特征信息可以包括进程号、应用代码以及目的IP等。
本申请提供的方法,在接收到客户端发送的第一数据报文时,通过在第一hook上设置的第一eBPF程序拦截第一数据报文,并在确定第一数据报文中包含指定的特征信息时,对第一数据报文进行处理。基于本方案,能够通过eBPF程序代替iptables进行对sidecar的流量拦截,避免因使用nf_conntrack模块进行nat表的连接追踪时可能导致的过大性能消耗,避免出现丢包。
本申请实施例的一种可选方式中,通过在第一hook上设置的第一eBPF程序拦截第一数据报文,包括:
通过在XDP提供的第一hook上设置的第一eBPF程序拦截第一数据报文。
本申请实施例中,XDP(eXpress Data Path,快速数据路径)和TC(trafficcontroll,流量控制)在linux内核中为eBPF程序提供的网络相关的hook,它们能够在最接近网卡的地方对数据报文进行处理。
XDP作用于linux网络驱动空间,其能够在数据报进入网络栈之前对数据报进行处理,其对数据报文处理速度较好,例如,在DDoS攻击中的应用。因此,本申请实施例中,可以通过在XDP提供的第一hook上设置的第一eBPF程序来针对第一数据报文进行拦截。
报文在内核中处理过程,当经过虚拟接口或物理网卡时,会触发相关的eBPFhook,从而执行相关的eBPF逻辑。
本申请实施例的一种可选方式中,对第一数据报文进行处理,包括以下任一项:
基于第一数据报文进行系统性能分析;
对第一数据报文进行报文过滤;
对第一数据报文进行流量分类;
对第一数据报文进行流量转发。
本申请实施例中,针对第一数据报文的流量控制可以包括基于数据报文进行的系统性能分析,对数据报文进行报文过滤、流量分类以及流量转发。
本申请实施例的一种可选方式中,在对第一数据报文进行处理并生成第二数据报文后,方法还包括:
通过在第二hook上设置的第二eBPF程序拦截第二数据报文,并对第二数据报文进行处理。
本申请实施例中,可以对第一数据报文进行处理,得到第二数据报文,具体而言,第二数据报文相较于第一数据报文,其报文内容不变,目的IP进行了改变。第二数据报文为从网格中流出的流量。
本申请实施例的一种可选方式中,通过在第二hook上设置的第二eBPF程序拦截第二数据报文,包括:
通过在TC层提供的第二hook上设置的第二eBPF程序拦截第二数据报文。
由于XDP只能在RX路径(ingress流量)对报文进行处理,针对完整的数据报文流转过程的处理,需要TC配合。可以在TC层上设置第二eBPF程序来拦截第二数据报文。
本申请实施例的一种可选方式中,通过在TC层提供的第二hook上设置的第二eBPF程序拦截第二数据报文,包括:
通过在TC层上的clsact提供的第二hook上设置的第二eBPF程序拦截第二数据报文。
针对egress流量的处理,最接近网卡的是TC层。TC有一个特殊的队列,被称为clsact,其为eBPF提供了一个处理数据报文的hook,开发人员可以基于该hook来设置第二eBPF程序,实现对第二数据报文的拦截。
针对背景技术的缺陷,本申请提供的技术方案采用eBPF代替iptables进行流量的拦截,根据eBPF在内核中动态加载和执行的特点,使得流量拦截更加灵活,例如,虚机中混合部署的应用可有区别的进行流量控制等等。同时,在连接数较多情况下,针对nf_conntrack带来的性能问题,eBPF可使用自带的map数据结构对连接信息进行存储,从而,在流量路径上,可以避免使用nf_conntrack。
在istio(service mesh)场景下,使用eBPF代替iptables进行sidecar的流量拦截。并且在内核的报文处理过程中,使用eBPF的map进行规则和连接信息存储,跳过nf_conntrack模块,能够在连接数较多的情况下,减少不必要的性能损耗。基于eBPF可动态编译,并加载到内核执行的特点,提高了流量拦截的灵活性。
基于与图1中所示的方法相同的原理,图2示出了本申请实施例提供的一种流量的控制的装置的结构示意图,如图2所示,该流量的控制装置20可以包括:
报文接收模块210,用于接收客户端发送的第一数据报文;
特征信息确定模块220,用于通过在第一hook上设置的第一eBPF程序拦截第一数据报文,并确定第一数据报文中是否包含指定的特征信息;
流量的控制模块230,用于在第一数据报文中包含指定的特征信息时,对第一数据报文进行处理。
本申请提供的装置,在接收到客户端发送的第一数据报文时,通过在第一hook上设置的第一eBPF程序拦截第一数据报文,并在确定第一数据报文中包含指定的特征信息时,对第一数据报文进行处理。基于本方案,能够通过eBPF程序代替iptables进行对sidecar的流量拦截,避免因使用nf_conntrack模块进行nat表的连接追踪时可能导致的过大性能消耗,避免出现丢包。
可选地,特征信息确定模块在通过在第一hook上设置的第一eBPF程序拦截第一数据报文时,具体用于:
通过在XDP提供的第一hook上设置的第一eBPF程序拦截第一数据报文。
可选地,流量的控制模块在对第一数据报文进行处时,具体用于以下任一项。
基于第一数据报文进行系统性能分析;
对第一数据报文进行报文过滤;
对第一数据报文进行流量分类;
对第一数据报文进行流量转发。
可选地,上述流量的控制模块还用于:
在对第一数据报文进行处理并生成第二数据报文后,通过在第二hook上设置的第二eBPF程序拦截第二数据报文,并对第二数据报文进行处理。
可选地,上述流量的控制模块在通过在第二hook上设置的第二eBPF程序拦截第二数据报文时,具体用于:
通过在TC层提供的第二hook上设置的第二eBPF程序拦截第二数据报文。
可选地,上述流量的控制模块在通过在TC层提供的第二hook上设置的第二eBPF程序拦截第二数据报文时,具体用于:
通过在TC层上的clsact提供的第二hook上设置的第二eBPF程序拦截第二数据报文。
可选地,特征信息包括以下至少一项:
进程号;
应用代码;
目的IP。
可以理解的是,本实施例中的流量的控制装置的上述各模块具有实现图1中所示的实施例中的流量的控制方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述流量的控制装置的各模块的功能描述具体可以参见图1中所示实施例中的流量的控制方法的对应描述,在此不再赘述。
本申请实施例提供了一种电子设备,包括处理器和存储器;
存储器,用于存储操作指令;
处理器,用于通过调用操作指令,执行本申请任一实施方式中所提供的流量的控制方法。
作为一个示例,图3示出了本申请实施例所适用的一种电子设备的结构示意图,如图3所示,该电子设备2000包括:处理器2001和存储器2003。其中,处理器2001和存储器2003相连,如通过总线2002相连。可选的,电子设备2000还可以包括收发器2004。需要说明的是,实际应用中收发器2004不限于一个,该电子设备2000的结构并不构成对本申请实施例的限定。
其中,处理器2001应用于本申请实施例中,用于实现上述方法实施例所示的方法。收发器2004可以包括接收机和发射机,收发器2004应用于本申请实施例中,用于执行时实现本申请实施例的电子设备与其他设备通信的功能。
处理器2001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线2002可包括一通路,在上述组件之间传送信息。总线2002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线2002可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器2003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
可选的,存储器2003用于存储执行本申请方案的应用程序代码,并由处理器2001来控制执行。处理器2001用于执行存储器2003中存储的应用程序代码,以实现本申请任一实施方式中所提供的流量的控制方法。
本申请实施例提供的电子设备,适用于上述方法任一实施例,在此不再赘述。
本申请实施例提供了一种电子设备,与现有技术相比,在接收到客户端发送的第一数据报文时,通过在第一hook上设置的第一eBPF程序拦截第一数据报文,并在确定第一数据报文中包含指定的特征信息时,对第一数据报文进行处理。基于本方案,能够通过eBPF程序代替iptables进行对sidecar的流量拦截,避免因使用nf_conntrack模块进行nat表的连接追踪时可能导致的过大性能消耗,避免出现丢包。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述方法实施例所示的流量的控制方法。
本申请实施例提供的计算机可读存储介质,适用于上述方法任一实施例,在此不再赘述。
本申请实施例提供了一种计算机可读存储介质,与现有技术相比,在接收到客户端发送的第一数据报文时,通过在第一hook上设置的第一eBPF程序拦截第一数据报文,并在确定第一数据报文中包含指定的特征信息时,对第一数据报文进行处理。基于本方案,能够通过eBPF程序代替iptables进行对sidecar的流量拦截,避免因使用nf_conntrack模块进行nat表的连接追踪时可能导致的过大性能消耗,避免出现丢包。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种流量的控制方法,其特征在于,包括:
接收客户端发送的第一数据报文;
通过在第一钩子hook上设置的第一eBPF程序拦截所述第一数据报文,并确定所述第一数据报文中是否包含指定的特征信息;
若包含,则对所述第一数据报文进行处理。
2.根据权利要求1所述的方法,其特征在于,通过在第一hook上设置的第一eBPF程序拦截所述第一数据报文,包括:
通过在XDP提供的第一hook上设置的第一eBPF程序拦截所述第一数据报文。
3.根据权利要求1所述的方法,其特征在于,对所述第一数据报文进行处理,包括以下任一项:
基于所述第一数据报文进行系统性能分析;
对所述第一数据报文进行报文过滤;
对所述第一数据报文进行流量分类;
对所述第一数据报文进行流量转发。
4.根据权利要求1所述的方法,其特征在于,在对所述第一数据报文进行处理并生成第二数据报文后,所述方法还包括:
通过在第二hook上设置的第二eBPF程序拦截所述第二数据报文,并对所述第二数据报文进行处理。
5.根据权利要求4所述的方法,其特征在于,所述通过在第二hook上设置的第二eBPF程序拦截所述第二数据报文,包括:
通过在TC层提供的第二hook上设置的第二eBPF程序拦截所述第二数据报文。
6.根据权利要求5所述的方法,其特征在于,所述通过在TC层提供的第二hook上设置的第二eBPF程序拦截所述第二数据报文,包括:
通过在TC层上的clsact提供的第二hook上设置的第二eBPF程序拦截所述第二数据报文。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述特征信息包括以下至少一项:
进程号;
应用代码;
目的IP。
8.一种流量的控制装置,其特征在于,包括:
报文接收模块,用于接收客户端发送的第一数据报文;
特征信息确定模块,用于通过在第一hook上设置的第一eBPF程序拦截所述第一数据报文,并确定所述第一数据报文中是否包含指定的特征信息;
流量的控制模块,用于在所述第一数据报文中包含指定的特征信息时,对所述第一数据报文进行处理。
9.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储操作指令;
所述处理器,用于通过调用所述操作指令,执行权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011321953.XA CN112532538A (zh) | 2020-11-23 | 2020-11-23 | 流量的控制方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011321953.XA CN112532538A (zh) | 2020-11-23 | 2020-11-23 | 流量的控制方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112532538A true CN112532538A (zh) | 2021-03-19 |
Family
ID=74993417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011321953.XA Pending CN112532538A (zh) | 2020-11-23 | 2020-11-23 | 流量的控制方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112532538A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992428A (zh) * | 2021-11-29 | 2022-01-28 | 北京天融信网络安全技术有限公司 | 容器环境下的入侵防御方法及装置、电子设备、存储介质 |
CN114039875A (zh) * | 2021-10-30 | 2022-02-11 | 北京网聚云联科技有限公司 | 一种基于eBPF技术的数据采集方法、装置及系统 |
CN114500105A (zh) * | 2022-04-01 | 2022-05-13 | 北京指掌易科技有限公司 | 一种网络包的拦截方法、装置、设备及存储介质 |
CN114911615A (zh) * | 2022-05-06 | 2022-08-16 | 江苏安超云软件有限公司 | 微服务运行时智能预测调度的方法及应用 |
CN115277042A (zh) * | 2022-05-11 | 2022-11-01 | 北京中安星云软件技术有限公司 | 一种基于xdp技术的数据库防火墙实现方法及系统 |
US11507353B1 (en) | 2021-07-14 | 2022-11-22 | International Business Machines Corporation | Adapting pre-compiled eBPF programs at runtime for the host kernel by offset inference |
CN115529272A (zh) * | 2022-11-03 | 2022-12-27 | 苏州浪潮智能科技有限公司 | 基于策略路由的数据处理方法和装置、设备和存储介质 |
CN115766858A (zh) * | 2022-11-11 | 2023-03-07 | 中国工商银行股份有限公司 | 流量处理方法、装置、计算机可读存储介质及电子设备 |
CN115801482A (zh) * | 2023-02-08 | 2023-03-14 | 银河麒麟软件(长沙)有限公司 | 云原生环境下基于eBPF的组播实现方法、系统及介质 |
CN115987684A (zh) * | 2023-03-16 | 2023-04-18 | 网络通信与安全紫金山实验室 | 分布式拒绝服务DDoS防御系统、方法、设备及介质 |
CN116074130A (zh) * | 2023-04-07 | 2023-05-05 | 中国工商银行股份有限公司 | 系统防护方法、装置、设备和介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656634A (zh) * | 2008-12-31 | 2010-02-24 | 暨南大学 | 基于IPv6网络环境的入侵检测系统及方法 |
CN101789931A (zh) * | 2009-12-31 | 2010-07-28 | 暨南大学 | 一种基于数据挖掘的网络入侵检测系统及方法 |
-
2020
- 2020-11-23 CN CN202011321953.XA patent/CN112532538A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656634A (zh) * | 2008-12-31 | 2010-02-24 | 暨南大学 | 基于IPv6网络环境的入侵检测系统及方法 |
CN101789931A (zh) * | 2009-12-31 | 2010-07-28 | 暨南大学 | 一种基于数据挖掘的网络入侵检测系统及方法 |
Non-Patent Citations (2)
Title |
---|
CHARLIERORO: "全面介绍eBPF-概念", 《CSDN》, 9 August 2020 (2020-08-09), pages 2 - 5 * |
宋宝华: "崔鹏程: 初识XDP", 《CSDN》, 22 July 2020 (2020-07-22), pages 1 - 4 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11507353B1 (en) | 2021-07-14 | 2022-11-22 | International Business Machines Corporation | Adapting pre-compiled eBPF programs at runtime for the host kernel by offset inference |
CN114039875A (zh) * | 2021-10-30 | 2022-02-11 | 北京网聚云联科技有限公司 | 一种基于eBPF技术的数据采集方法、装置及系统 |
CN114039875B (zh) * | 2021-10-30 | 2023-09-01 | 北京网聚云联科技有限公司 | 一种基于eBPF技术的数据采集方法、装置及系统 |
CN113992428A (zh) * | 2021-11-29 | 2022-01-28 | 北京天融信网络安全技术有限公司 | 容器环境下的入侵防御方法及装置、电子设备、存储介质 |
CN113992428B (zh) * | 2021-11-29 | 2024-02-09 | 天融信雄安网络安全技术有限公司 | 容器环境下的入侵防御方法及装置、电子设备、存储介质 |
CN114500105A (zh) * | 2022-04-01 | 2022-05-13 | 北京指掌易科技有限公司 | 一种网络包的拦截方法、装置、设备及存储介质 |
CN114911615B (zh) * | 2022-05-06 | 2023-05-30 | 安超云软件有限公司 | 微服务运行时智能预测调度的方法及应用 |
CN114911615A (zh) * | 2022-05-06 | 2022-08-16 | 江苏安超云软件有限公司 | 微服务运行时智能预测调度的方法及应用 |
CN115277042A (zh) * | 2022-05-11 | 2022-11-01 | 北京中安星云软件技术有限公司 | 一种基于xdp技术的数据库防火墙实现方法及系统 |
CN115529272B (zh) * | 2022-11-03 | 2023-03-14 | 苏州浪潮智能科技有限公司 | 基于策略路由的数据处理方法和装置、设备和存储介质 |
CN115529272A (zh) * | 2022-11-03 | 2022-12-27 | 苏州浪潮智能科技有限公司 | 基于策略路由的数据处理方法和装置、设备和存储介质 |
WO2024093478A1 (zh) * | 2022-11-03 | 2024-05-10 | 苏州元脑智能科技有限公司 | 基于策略路由的数据处理方法和装置、设备和存储介质 |
CN115766858A (zh) * | 2022-11-11 | 2023-03-07 | 中国工商银行股份有限公司 | 流量处理方法、装置、计算机可读存储介质及电子设备 |
CN115801482A (zh) * | 2023-02-08 | 2023-03-14 | 银河麒麟软件(长沙)有限公司 | 云原生环境下基于eBPF的组播实现方法、系统及介质 |
CN115987684A (zh) * | 2023-03-16 | 2023-04-18 | 网络通信与安全紫金山实验室 | 分布式拒绝服务DDoS防御系统、方法、设备及介质 |
CN116074130A (zh) * | 2023-04-07 | 2023-05-05 | 中国工商银行股份有限公司 | 系统防护方法、装置、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112532538A (zh) | 流量的控制方法、装置、电子设备及计算机可读存储介质 | |
Høiland-Jørgensen et al. | The express data path: Fast programmable packet processing in the operating system kernel | |
Scholz et al. | Performance implications of packet filtering with linux ebpf | |
CN109547580B (zh) | 一种处理数据报文的方法和装置 | |
CN108268328B (zh) | 数据处理装置及计算机 | |
US8005022B2 (en) | Host operating system bypass for packets destined for a virtual machine | |
US7643482B2 (en) | System and method for virtual switching in a host | |
US7515596B2 (en) | Full data link bypass | |
CN113326228B (zh) | 基于远程直接数据存储的报文转发方法、装置及设备 | |
US10810034B2 (en) | Transparent deployment of meta visor into guest operating system network traffic | |
US20070083924A1 (en) | System and method for multi-stage packet filtering on a networked-enabled device | |
US10127091B1 (en) | Intercepting socket metadata | |
CN109981403A (zh) | 虚拟机网络数据流量监控方法及装置 | |
CN108965348B (zh) | 网络安全防护方法、设备及计算机可读存储介质 | |
US11323485B2 (en) | Network traffic switching for virtual machines | |
US7627899B1 (en) | Method and apparatus for improving user experience for legitimate traffic of a service impacted by denial of service attack | |
CN106571978B (zh) | 数据包捕获方法及装置 | |
CN116545978B (zh) | 数据处理方法、装置、系统、可读存储介质及进口网卡 | |
US20120140640A1 (en) | Apparatus and method for dynamically processing packets having various characteristics | |
EP1543658A4 (en) | DIRECT ACCESS REMOTE MEMORY (RDMA) OF SINGLE TYPE WITH TWO BIT STATE | |
US7363383B2 (en) | Running a communication protocol state machine through a packet classifier | |
CN113965367B (zh) | 策略对象上限控制方法、系统、计算机及存储介质 | |
CN114024758B (zh) | 流量特征提取方法、系统、存储介质及电子设备 | |
CN115033407A (zh) | 一种适用于云计算的采集识别流量的系统和方法 | |
CN113297567A (zh) | 网络过滤方法、装置、设备和系统 |
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 |