CN111614631B - 一种用户态流水线架构防火墙系统 - Google Patents
一种用户态流水线架构防火墙系统 Download PDFInfo
- Publication number
- CN111614631B CN111614631B CN202010359781.9A CN202010359781A CN111614631B CN 111614631 B CN111614631 B CN 111614631B CN 202010359781 A CN202010359781 A CN 202010359781A CN 111614631 B CN111614631 B CN 111614631B
- Authority
- CN
- China
- Prior art keywords
- message
- module
- firewall
- processing
- kernel
- 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
Links
Images
Classifications
-
- 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/0209—Architectural arrangements, e.g. perimeter networks or demilitarized zones
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/32—Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种用户态流水线架构防火墙系统,控制平面负责系统的管理和控制功能,将从管理口发送过来的报文重新定向到内核协议栈;数据平面负责主要业务功能,数据平面工作在用户态,可以绕过复杂的Linux内核协议栈直接从网卡获取报文。数据平面将防火墙功能软件分解为多个功能模块,每个功能模块分别绑定至一个独立的CPU核上,使用其中一个CPU核作为主核,负责接收报文,采用轮询方式实现数据包收发,形成流水线架构。本发明防火墙系统属于绕过系统内核的适合防火墙功能的软件架构,网卡驱动通常在内核中实现,本发明中改为在用户态重新实现,系统直接从网卡获取报文,有效解决了传统防火墙Linux内核导致处理效率低下的问题。
Description
技术领域
本发明属于数字信息传输技术领域,具体涉及一种用户态流水线架构防火墙系统。
背景技术
随着互联网通信技术的发展和互联网应用的日益普及,网络已成为主要的数据传输和信息交换平台。作为基本的网络安全产品,防火墙技术则是实现网络信息安全的一种重要手段,因此防火墙的应用场景非常广。
目前,稍具规模的网络安全厂商几乎都已推出自己的防火墙产品,除了必须具备的功能,防火墙的性能也是各安全厂商竞相宣传的重点,比如很多防火墙产品采用了FPGA、ASIC、NP等硬件加速处理技术。但由于硬件加速技术的开发具有周期长、成本高、功能相对弱等缺点,许多厂商仍然会试图寻求纯软件的解决方案。绝大多数防火墙厂商软件解决方案是通过基于Linux内核架构进行设计实现。随着网络通信基础设施的进步和信息技术的快速发展,网络带宽已经达到10G、100G的阶段,与之相应对网络防火墙的处理能力的要求也随之水涨船高。然而目前遇到的主要问题是基于内核协议栈进行高带宽的数据交换处理时,防火墙的性能很难令人满意。
在Linux内核中,以报文处理为例,目前存在几个方面的瓶颈问题。首先是系统调用昂贵,每次进行系统调用时,内核都需要为其准备各种内存、堆栈、中断等,导致消耗很长的时钟周期。其次是阻塞式IO引发的上下文切换,函数调用只有在操作完成后才会返回,如在读取报文时,应用程序调用recvfrom函数转入内核,内核有wait for data和copy datafrom kernel to user两个过程,直到最后拷贝过程完成后,recvfrom函数才返回,在此之前此过程一直是阻塞的。除此之外,还有报文在内核与用户空间之间的复制,以及报文收发引发的内核中断等问题都会消耗CPU资源,导致防火墙处理能力难以满足现实的需求。由此可以看出,整个Linux内核是导致报文处理效率低下的根本原因。Linux系统是针对通用系统设计的,功能很强很全面,但专用性不够。防火墙是网络访问控制专用设备,其需要有高速的报文处理能力,基于Linux内核协议栈来设计防火墙难以满足实际需求。
作为一个开源项目,基于DPDK架构的数据平面应用开发非常流行。DPDK使用了轮询(polling)方式而不是中断来处理数据包。经DPDK重载的网卡驱动不会通过中断通知CPU,而是直接将数据包存入内存,交付应用层软件通过DPDK提供的接口来直接处理,这样节省了大量的CPU中断时间和内存拷贝时间。但在针对防火墙领域的DPDK开发目前还没有成熟的产品。
同时,在网络安全的国产化替代的过程中,目前国产CPU与x86等国外CPU的处理能力相比还存在比较大的差距。通过软件层面的改进以弥补整机硬件性能的差距,达到满足实际用户的基本需求,是一个比较切实可行的研发方向。另一方面,随着CPU芯片技术的发展,CPU核心数不断增加,32核、64核等多核架构CPU的应用开始逐渐普及,网络安全产品中如何充分利用CPU资源来提升设备处理能力已经成为一个热门的研究课题。
发明内容
针对以上现有纯软件方式防火墙解决方案中存在的Linux内核调用导致防火墙的报文处理效率低下的问题,客观上需要有针对性地设计一套符合实际需求的防火墙软件架构系统,以充分利用多核心的CPU资源来提升设备处理能力。
为实现上述目的,本发明采用的技术方案为一种用户态流水线架构防火墙系统,系统包含控制平面和数据平面。控制平面负责系统的管理和控制功能,将从管理口发送过来的报文重新定向到内核协议栈;数据平面负责系统的主要业务功能,数据平面工作在用户态,可以绕过复杂的Linux内核协议栈直接从网卡获取报文。数据平面将防火墙功能软件分解为多个功能模块,每个功能模块分别绑定至一个独立的CPU核上,使用其中一个CPU核作为主核(master),负责接收报文,采用轮询方式实现数据包收发,形成流水线或管道(pipeline)架构,驱动在收到数据包后,将数据包存入内存,应用层程序直接从内存读取数据包。
控制平面将从管理口发送过来的报文,利用和内核打交道的KNI(Kernel NICInterface)接口,重新定向到Linux内核协议栈,使得控制信息在用户态和内核态保持一致。
通用的管理程序仍然通过socket接口与内核通信以及与远程管理客户端通信。
控制平面将防火墙软件生效命令修改为支持用户态防火墙软件的应用命令,消息总线模块根据不同的CLI(Command Line Interface,命令行界面)命令类型,将消息发送给所述多个功能模块。
数据平面针对报文转发过滤功能进行多核并行处理优化,主核基于分流算法进行报文分发,分发给不同的核进行处理,其他不常用或对性能要求不高的功能放在主核上处理。
作为优选,上述分流算法可以采用五元组方式。
作为优选,上述不常用或对性能要求不高的功能包括VLAN、透明桥、IPSec VPN、双机热备、负载均衡等模块。
本发明还提出一种利用上述用户态流水线架构防火墙系统实现报文过滤的方法,该报文过滤是在主核之外的CPU核上完成,具体包含以下步骤:
S1:IP报文重组模块从输入队列中读取报文,进行报文重组;
S2:IPMAC模块实现ip-mac的绑定功能,提供一个hash表,ip地址是key,查找到之后匹配表象的mac地址,如果匹配则通过,继续下一步处理,否则丢弃;
S3:连接跟踪模块conntrack实现连接状态跟踪功能,报文进入后,首先查找连接表,如果能够查到,则直接发送到路由模块处理;如果查不到,对于TCP报文但不是TCP SYN,则丢弃;如果是其他情况进入下一阶段处理;
S4:目的地址转换DNAT模块收到报文后,查找DNAT表,如果查到,则发送控制消息,更新连接状态表,同时更新报文的目的IP,并将报文发送到下一模块处理;
S5:包过滤模块收到报文后,查找filter表,根据filter表的action域,判断是accept/接受还是drop/放弃,如果是drop则丢弃,同时发送控制消息给连接跟踪模块,放弃新建连接表;如果是accept,则进入下一阶段处理,默认规则为丢弃;
S6:SNAT模块收到报文后,查找NAT表,如果成功,则发送控制消息给连接跟踪模块conntrack,新建连接表项,其他情况进入下一阶段处理;
S7:路由跟踪模块,进入该阶段表示报文将被发送出去,这时首先发一个控制消息给连接跟踪模块conntrack,表明前面新建连接表项这一事务得到确认,然后查找路由表,如果查到则得到下一跳地址,如果没查到,则根据默认情况进行路由,根据下一跳的地址查找ARP(Address Resolution Protocol,地址转换协议)表,更新报文的目的MAC地址,然后发往下一模块处理;
S8:IP分片模块按照MTU与实际报文的大小进行IP分片处理。
与现有技术相比,本发明具有以下的有益技术效果:
1,本发明提出的防火墙系统属于绕过系统内核的适合防火墙功能的软件架构,网卡驱动通常是在内核中实现,本发明中改为在用户态重新实现,系统直接从网卡获取报文,通过绕过复杂的Linux内核协议栈来提升性能,有效解决了传统防火墙Linux内核导致处理效率低下的问题。
2,防火墙系统重载网卡驱动,采用轮询方式实现数据包收发,驱动在收到数据包后,将数据包通过零拷贝技术存入内存,即数据包直接从网卡DMA(Direct Memory Access,直接存储器访问)到用户态,应用层程序直接从内存读取数据包,这种处理方式节省了CPU中断时间和到内核态空间的拷贝动作时间,大幅提升了系统的处理性能。
3,系统的整个软件架构分为控制平面和数据平面两个部分,控制平面负责系统的管理和控制功能,数据平台负责系统主要业务功能,将防火墙功能软件切为多个功能模块,每个功能模块可以分别绑定到一个或几个独立的CPU核上,形成一条流水线架构。这种流水线架构可以充分利用多核CPU资源,进一步提升系统的处理性能。
4,鉴于当前CPU核的数量比较多,将其中一个核用来单独处理一些特殊功能,剩余大多数核用来处理防火墙主要业务,这样可以显著减少CPU核之间的频繁切换,有效提升了系统的整体性能。
附图说明
图1为用户态流水线架构防火墙系统的实施例示意图。
具体实施方式
现结合附图对本发明作进一步详细的说明。
图1为本发明提出的用户态流水线架构防火墙系统一个实施例的系统示意图。系统共分为两个部分:控制平面和数据平面。控制平面(即图中的控制面)负责系统的管理和控制功能,将从管理口发送过来的配置管理信息通过管理命令生效到系统中。其中MessageBus(消息总线)模块起到消息总线的作用,根据不同的配置命令类型,将消息发送给不同的功能模块,如过滤规则配置消息,可发送至包过滤模块的消息队列,包过滤模块通过定时器(timer),定时读取消息队列中的消息进行处理,并将响应消息发送至输出消息队列。数据平面负责系统的主要业务功能,直接从网卡获取报文,将防火墙功能软件分解为多个功能模块,每个功能模块分别绑定至一个独立的CPU核上,使用其中一个CPU核作为主核,负责接收报文并将报文分发到不同的业务处理流水线,形成防火墙处理流水线架构。
以下对防火墙系统的工作原理做详细描述。
控制平面将从业务口发送过来的控制报文,利用和内核打交道的KNI接口,重新定向到Linux内核协议栈,保持内核态和用户态控制信息的一致。管理程序通过管理口与远程管理客户端通信。控制面需要将一些防火墙软件生效命令修改为支持用户态防火墙软件的应用命令。消息总线模块根据不同的配置命令类型,将消息发送给不同的功能模块,如过滤规则配置消息,可发送至包过滤模块的消息队列,包过滤模块通过定时器定时读取消息队列中的消息进行处理,并将响应消息发送至输出消息队列。
在数据平面(即图中的数据面)上,由于报文转发过滤是防火墙的主要功能,将主要针对此功能进行多核并行处理优化。鉴于此,使用其中一个CPU核作为主核master,负责接收报文,并基于五元组进行报文分发,分发给不同的核进行处理。其他不常用或性能要求不太高的功能,如VLAN、透明桥、IPSec VPN、双机热备、负载均衡等功能,放在主核master核上处理。ARP模块与路由模块有控制消息交互,主要是为了维持最新的ARP表信息。
其它业务核上进行报文过滤的处理流程为:
1、IP重组模块从输入队列中读取报文,进行报文重组。
2、IPMAC模块实现ip-mac的绑定功能,设计一个hash表,ip地址是key,查找到之后匹配表象的mac地址,如果匹配则通过,继续下一步处理,否则丢弃。
3、连接跟踪模块实现连接跟踪功能,报文进入后,首先查找连接表,如果能够查到,那么直接发送到路由模块处理。如果查不到,是TCP报文但不是TCP SYN,那么就丢弃。其他情况进入下一阶段处理。
4、目的地址转换DNAT模块收到报文后,查找DNAT表,如果查到,则发送控制消息,更新连接状态表。同时更新报文的目的IP。将报文发送到下一模块处理。
5、包过滤模块收到报文后,查找filter表,根据filter表的action域,判断是accept还是drop,如果是drop,则丢弃,同时发送控制消息给连接跟踪模块,放弃新建连接表;如果是accept,进入下一阶段处理。默认规则为丢弃。
6、原地址转换SNAT模块收到报文后,查找NAT表,如果成功,则发送控制消息给连接跟踪模块conntrack,新建连接表项。其他情况进入下一阶段处理。
7、路由跟踪模块,进入该阶段表示报文将被发送出去,这时首先发一个控制消息给连接跟踪模块conntrack,表明前面新建连接表项这一事务得到确认。然后查找路由表,如果查到则得到下一跳地址,如果没查到,则根据默认情况进行路由。根据下一跳的地址查找ARP表,更新报文的目的MAC地址。然后发往下一模块处理
8、IP分片模块按照MTU与实际报文的大小进行ip分片处理。
本发明针对现有技术中CPU防火墙处理能力不足的问题,提出用户态流水线防火墙架构系统。通过直接从网卡获取报文,绕过内核协议栈来提升性能。网卡驱动通常是在内核中实现,本发明中是在用户态重新实现,不经过Linux内核。经过重载网卡驱动,采用轮询方式实现数据包收发,驱动在收到数据包后,将数据包通过零拷贝技术存入内存,应用层程序直接从内存读取数据包。这种处理方式节省了CPU中断时间、内存拷贝时间。零拷贝是指数据包直接从网卡DMA到用户态,省去了到内核态空间的拷贝动作,可大幅提升处理性能。
综上所述,本发明的技术方案提出了绕过内核的适合防火墙功能的软件架构。整个系统的软件架构分为控制平面和数据平面两个部分,控制平面负责系统的管理和控制功能,数据平台负责系统主要业务功能。数据平面将防火墙功能软件为多个功能模块,每个功能模块可以分别绑定到一个独立的CPU核上,形成一条流水线架构。
需要说明的是,以上具体实施方式的描述并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种用户态流水线架构防火墙系统实现报文过滤的方法,防火墙系统包含控制平面和数据平面,控制平面负责系统的管理和控制功能,将从管理口发送过来的报文重新定向到内核协议栈,数据平面负责系统的主要业务功能,数据平面工作在用户态,可以绕过复杂的Linux内核协议栈直接从网卡获取报文,数据平面将防火墙功能软件分解为多个功能模块,每个功能模块分别绑定至一个独立的CPU核上,使用其中一个CPU核作为主核,负责接收报文,采用轮询方式实现数据包收发,形成流水线或管道架构,数据平面针对报文转发过滤功能进行多核并行处理优化,主核根据一定的分流算法进行报文分发,分发给不同的核进行处理,其他不常用或对性能要求不高的功能放在主核上处理,驱动在收到数据包后,将数据包存入内存,应用层程序直接从内存读取数据包,其特征在于,防火墙核心功能报文过滤在主核之外的CPU核上完成,包含以下步骤:
S1:IP报文重组模块从输入队列中读取报文,进行报文重组;
S2:IPMAC模块实现IP-mac的绑定功能,提供一个hash表,IP地址是key,查找到之后匹配表象的mac地址,如果匹配则通过,继续下一步处理,否则丢弃;
S3:连接跟踪模块conntrack实现连接状态跟踪功能,报文进入后,首先查找连接表,如果能够查到,则直接发送到路由模块处理;如果查不到,对于TCP报文但不是TCP SYN,则丢弃;如果是其他情况进入下一阶段处理;
S4:目的地址转换DNAT模块收到报文后,查找DNAT表,如果查到,则发送控制消息,更新连接状态表,同时更新报文的目的IP,并将报文发送到下一模块处理;
S5:包过滤模块收到报文后,查找filter表,根据filter表的action域,判断是“接受”还是“放弃”,如果是“放弃”则丢弃,同时发送控制消息给连接跟踪模块,放弃新建连接表;如果是“接受”,则进入下一阶段处理;
S6:源地址转换SNAT模块收到报文后,查找SNAT表,如果成功,则发送控制消息给连接跟踪模块conntrack,新建连接表项,其他情况进入下一阶段处理;
S7:路由跟踪模块,进入该阶段表示报文将被发送出去,这时首先发一个控制消息给连接跟踪模块conntrack,表明前面新建连接表项这一事务得到确认,然后查找路由表,如果查到则得到下一跳地址,如果没查到,则根据默认情况进行路由,根据下一跳的地址查找ARP表,更新报文的目的MAC地址,然后发往下一模块处理;
S8:IP分片模块按照MTU与实际报文的大小进行IP分片处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010359781.9A CN111614631B (zh) | 2020-04-29 | 2020-04-29 | 一种用户态流水线架构防火墙系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010359781.9A CN111614631B (zh) | 2020-04-29 | 2020-04-29 | 一种用户态流水线架构防火墙系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111614631A CN111614631A (zh) | 2020-09-01 |
CN111614631B true CN111614631B (zh) | 2022-06-03 |
Family
ID=72204736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010359781.9A Active CN111614631B (zh) | 2020-04-29 | 2020-04-29 | 一种用户态流水线架构防火墙系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111614631B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328313B (zh) * | 2020-11-09 | 2023-07-14 | 中国船舶重工集团公司第七0七研究所九江分部 | 一种应用于嵌入式软件的通用系统 |
CN112737932B (zh) * | 2020-12-25 | 2023-04-07 | 江苏省未来网络创新研究院 | 一种基于dpdk实现高性能ipsce网关 |
CN114285634B (zh) * | 2021-12-23 | 2024-06-04 | 北京东土军悦科技有限公司 | 数据报文的深度检测方法、装置、介质及监控系统 |
CN114710570B (zh) * | 2022-03-16 | 2023-08-25 | 深圳市风云实业有限公司 | 一种基于内核态协议栈的udp数据零拷贝传输方法 |
CN115473811A (zh) * | 2022-09-21 | 2022-12-13 | 西安超越申泰信息科技有限公司 | 一种网络性能优化方法、装置、设备及介质 |
CN115549976B (zh) * | 2022-10-25 | 2023-10-27 | 腾云创威信息科技(威海)有限公司 | 一种控制转发分离的网络连接跟踪实现方法 |
CN116846991B (zh) * | 2023-07-11 | 2024-09-27 | 中科驭数(北京)科技有限公司 | 网络应用数据转发方法及装置 |
CN118555147A (zh) * | 2024-07-30 | 2024-08-27 | 湖南博盛芯微电子科技有限公司 | 一种防护方法、防火墙系统及设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050036A (zh) * | 2014-05-29 | 2014-09-17 | 汉柏科技有限公司 | 多核处理器网络设备的控制系统及方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8316427B2 (en) * | 2007-03-09 | 2012-11-20 | International Business Machines Corporation | Enhanced personal firewall for dynamic computing environments |
US9342415B2 (en) * | 2014-07-14 | 2016-05-17 | International Business Machines Corporation | Run-to-completion thread model for software bypass fail open for an inline intrusion protection system |
US9438560B2 (en) * | 2014-12-31 | 2016-09-06 | Symantec Corporation | Systems and methods for automatically applying firewall policies within data center applications |
US10191762B2 (en) * | 2017-01-31 | 2019-01-29 | Vmware, Inc. | Transparent deployment of intermediary manager into guest operating system network traffic |
US10635590B2 (en) * | 2017-09-29 | 2020-04-28 | Intel Corporation | Software-transparent hardware predictor for core-to-core data transfer optimization |
US11036405B2 (en) * | 2018-09-07 | 2021-06-15 | Vmware, Inc. | Runtime information transfer between kernel modules |
-
2020
- 2020-04-29 CN CN202010359781.9A patent/CN111614631B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050036A (zh) * | 2014-05-29 | 2014-09-17 | 汉柏科技有限公司 | 多核处理器网络设备的控制系统及方法 |
Non-Patent Citations (1)
Title |
---|
《构建安全IP网络技术简介 》;陈鹏;《 计算机安全》;20030530;正文73-74页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111614631A (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111614631B (zh) | 一种用户态流水线架构防火墙系统 | |
CN101217493B (zh) | 一种tcp数据包的传输方法 | |
CN111371779B (zh) | 一种基于dpdk虚拟化管理系统的防火墙及其实现方法 | |
Honda et al. | mSwitch: a highly-scalable, modular software switch | |
US7274706B1 (en) | Methods and systems for processing network data | |
CN101217464B (zh) | 一种udp数据包的传输方法 | |
WO2020151030A1 (zh) | 一种处理数据报文的方法和装置 | |
JP4807861B2 (ja) | サーバ環境においてオフロードをネットワーク化するためのホスト・イーサネット・アダプタ | |
US20070297334A1 (en) | Method and system for network protocol offloading | |
CN108200086B (zh) | 一种高速网络数据包过滤装置 | |
Laufer et al. | Climb: Enabling network function composition with click middleboxes | |
US8949472B2 (en) | Data affinity based scheme for mapping connections to CPUs in I/O adapter | |
WO2018032399A1 (en) | Server and method having high concurrency capability | |
CN110768994B (zh) | 一种基于dpdk技术的提高sip网关性能的方法 | |
KR20140143155A (ko) | 네트워킹 장치 가상화를 위한 패킷 처리 오프로딩 기법 | |
Yi et al. | Gpunfv: a gpu-accelerated nfv system | |
Van Tu et al. | Accelerating virtual network functions with fast-slow path architecture using express data path | |
WO2018023988A1 (zh) | 一种网络报文处理方法、装置及网络服务器 | |
WO2024114703A1 (zh) | 一种数据处理方法、智能网卡和电子设备 | |
CN117240935A (zh) | 基于dpu的数据平面转发方法、装置、设备及介质 | |
Qi et al. | Middlenet: A unified, high-performance nfv and middlebox framework with ebpf and dpdk | |
CN114827292A (zh) | 工业异构协议高速转换优化处理方法及系统 | |
CN113965521A (zh) | 数据包的传输方法、服务器及存储介质 | |
CN117063454A (zh) | 一种网卡管理系统、报文处理方法及设备 | |
CN115866010B (zh) | 一种rdma连接建立方法及装置 |
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 |