CN105577567B - 基于Intel DPDK的网络数据包并行处理方法 - Google Patents

基于Intel DPDK的网络数据包并行处理方法 Download PDF

Info

Publication number
CN105577567B
CN105577567B CN201610064205.5A CN201610064205A CN105577567B CN 105577567 B CN105577567 B CN 105577567B CN 201610064205 A CN201610064205 A CN 201610064205A CN 105577567 B CN105577567 B CN 105577567B
Authority
CN
China
Prior art keywords
network
network packet
packet
memory
intel
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
CN201610064205.5A
Other languages
English (en)
Other versions
CN105577567A (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.)
State Grid Corp of China SGCC
State Grid Shanxi Electric Power Co Ltd
NARI Group Corp
Nari Information and Communication Technology Co
Original Assignee
State Grid Corp of China SGCC
State Grid Shanxi Electric Power Co Ltd
Nari Information and Communication Technology Co
Nanjing NARI Group Corp
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 State Grid Corp of China SGCC, State Grid Shanxi Electric Power Co Ltd, Nari Information and Communication Technology Co, Nanjing NARI Group Corp filed Critical State Grid Corp of China SGCC
Priority to CN201610064205.5A priority Critical patent/CN105577567B/zh
Publication of CN105577567A publication Critical patent/CN105577567A/zh
Application granted granted Critical
Publication of CN105577567B publication Critical patent/CN105577567B/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/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/20Network management software packages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/24Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using dedicated network management hardware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9031Wraparound memory, e.g. overrun or underrun detection

Abstract

本发明公开了一种基于Intel DPDK的网络数据包并行处理方法,步骤一,构建Intel DPDK运行环境;步骤二,创建内存池,创建用于接收网络数据包的RX内存环和用于发送网络数据包的TX内存环;步骤三,设置网络数据包调度策略,准备进行网络数据包调度;步骤四,创建多个工作线程,进行网络数据包的并行处理。本发明充分利用多核CPU的性能优势,通过无锁的数据结构设计,并行的网络处理框架,高效的网络数据包分发,实现网络数据包在多个CPU核上的并行处理。

Description

基于Intel DPDK的网络数据包并行处理方法
技术领域
本发明涉及一种基于Intel DPDK的网络数据包并行处理方法,属于网络数据包处理技术领域。
背景技术
随着网络通信技术的发展,网络带宽迅速提高,1Gbit、10Gbit网络逐渐普及,40Gbit网络在电信运营商、大型企业级骨干网络中大规模应用。网络流量的指数级增长,对防火墙、IDS/IPS、应用网关等网络数据包分析处理类网络产品的性能提出了新的挑战。传统的网络数据包处理方法在高速网络环境下面临着丢包率高,延时大,系统负载高等问题,无法满足高速网络环境下的网络数据包实时处理。目前,业界主要有以下三种主流的方法:
1、PF_RING:是由ntop公司提出的一种高速网络数据包处理的软件解决方法。该方法通过在Linux系统网络协议栈中引入PF_RING协议族,并结合环形队列与内存映射技术,大幅提升了网络数据包的捕获速度。在1Gbit网络小包流量下,传统的基于PCAP的抓包方法,其捕包率只能达到20%左右,而采用了PF_RING之后,其捕包率能提高到70%左右。
2、DPDK:DPDK(Data Plane Development Kit,数据面开发套件)是Intel公司提出的一种高速网络数据包的软件开发套件,现已开源。前期主要支持采用Intel CPU及网卡的系统,现已支持IBM Power、ARM等其他CPU,以及部分非Intel的网卡。DPDK通过旁路Linux系统网络协议栈,直接对网卡进行读写,结合对多核CPU中不同内核的绑定,能够实现1Gbit网络小包流量下的线速收发。
3、硬件智能网卡:除了软件实现高速网络数据包处理的方法外,近几年,也出现了一些硬件解决方法。该方法主要是采用基于PCIe接口的硬件智能网卡,如基于Tilera的智能网卡,基于Cavium的智能网卡等。智能网卡上带有多核处理器、内存、物理网络接口,以及针对网络数据包处理进行特别设计的硬件加速单元等,通过智能网卡,直接实现对网络数据包的线速收发,从而能够大幅减轻智能网卡所在的宿主机的CPU负载。
网络数据包分析处理是集网络数据包捕获、分析处理、网络数据包发送于一体的综合应用。任何一个环节在性能上出现问题,都会严重影响整个应用的性能。上述的三种主流的方法中,PF_RING方法虽然大幅提升了捕包率,但还存在不少的丢包率,且CPU负载高,不能满足商业的应用需求;传统的基于DPDK方法主要侧重于数据包的线速收发,当加入对数据包的处理过程后,其性能会大幅下降,达不到数据包的线速接收、处理与发送;硬件智能网卡方法虽然能够显著降低宿主机CPU负载,但一方面需要额外配置价格昂贵的硬件智能网卡,另一方面,宿主机的CPU不能得到充分利用,浪费了资源,因此不适合普通的商业应用。
发明内容
为了解决上述技术问题,本发明提供了一种基于Intel DPDK的网络数据包并行处理方法。
为了达到上述目的,本发明所采用的技术方案是:
基于Intel DPDK的网络数据包并行处理方法,包括以下步骤,
步骤一,构建Intel DPDK运行环境;
步骤二,创建内存池,创建用于接收网络数据包的RX内存环和用于发送网络数据包的TX内存环;
步骤三,设置网络数据包调度策略,准备进行网络数据包调度;
步骤四,创建多个工作线程,进行网络数据包的并行处理。
步骤一中,构建Intel DPDK运行环境的过程为,
A1)启动配置;
包括设置Linux内核启动参数和设置huge page内存;
A2)加载Linux系统UIO驱动框架模块,加载Intel网卡 UIO内核驱动模块;
其中,驱动采用Poll模式来获取网卡数据包;
A3)绑定当前物理网口到Intel UIO驱动,使得当前物理网口脱离Linux内核网络协议栈;
A4) 加载hugetlbfs文件系统,利用hugetlbfs文件实现对huge page内存映射操作;
A5)获取Linux系统信息;
Linux系统信息包括CPU颗粒数、内存通道及容量、每颗CPU的核心数以及DPDK可使用的网络接口。
所述内存池为创建在huge page内存中若干内存块,内存块部分空间用于存储内存块自身信息,其余空间用于存储网络数据包;
内存环采用无锁结构设计,内存环中存储的是网络数据包所在内存块的指针地址。
网络数据包调度策略包括,
a、按VLAN号分配:根据网络数据包中的VLAN号,将接收到的网络数据包分配给工作线程进行处理;
b、按地址分配:根据网络数据包的源地址和目的地址,识别出通信双方,保证同一源地址和目的地址的网络数据包被分配到同一工作线程;
c、按流分配:根据网络数据包的源地址、目的地址、源端口、目的端口及传输协议,识别出会话数据流,保证同一会话数据流被分配到同一工作线程。
当Intel网卡硬件支持RSS时,网络数据包调度为硬件调度;当Intel网卡硬件不支持RSS时,网络数据包调度为软件调度。
工作线程与CPU核一对一绑定,每一个工作线程都分配有一个RX内存环和一个TX内存环,同一网络数据包的处理均在同一个工作线程中完成。
本发明所达到的有益效果:本发明提出的基于Intel DPDK的网络数据包并行处理方法,充分利用多核CPU的性能优势,通过无锁的数据结构设计,并行的网络处理框架,高效的网络数据包分发,实现网络数据包在多个CPU核上的并行处理,该方法减少了不必要的数据拷贝,提升了cache命中率,消除了系统调用、网卡中断带来的切换损耗,大幅提升了整机的处理性能,从而能够在千兆网络环境下,利用普通工控机实现对高速网络数据包的线速处理。
附图说明
图1为本发明的结构图。
图2为网络数据包处理流程。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
高速网络环境下,每秒处理的网络数据包个数显著增加,尤其是小包居多时,如千兆网络下,每秒可以收发约1.48Mpps的64字节小包,如此快速的数据包速率,每一个网络数据包留给一个2GHZ的CPU核的处理时间约为1350个CPU周期,要想实现实时不丢包处理,一方面要尽量减少甚至消除在网络数据包处理时,存在的额外消耗CPU周期的事务,另一方面,在多核环境下,尽量将数据包分摊到多个CPU核进行并行处理,同时减少甚至消除核间不必要通信。基于以上思路,提出一种基于Intel DPDK的网络数据包并行处理方法,将数据面与控制面分开,控制面留给Linux系统本身,并绑定在单独的CPU核上,数据面交给应用程序,同时为数据面创造一个没有线程调度,没有系统调用,没有网卡中断的环境,实现对数据的高效分析与并行处理。如图1所示,具体步骤如下:
步骤一,构建Intel DPDK运行环境。
Intel DPDK运行环境包括硬件环境和软件环境。
硬件环境包括:
CPU:需要使用Intel的CPU,整个系统的CPU核数不少于2。
物理网卡:需要使用Intel的千兆、万兆网卡,网卡硬件带RSS支持更好。
软件环境包括:
Linux内核:支持UIO、HUGETLBFS等功能。
DPDK开发包:包括网卡驱动、DPDK库等。
构建Intel DPDK运行环境的过程如下:
A1)启动配置;
包括设置Linux内核启动参数和设置huge page内存。
设置Linux内核启动参数:
设置内核启动参数isolcpus=1-n(n为从0开始的最后一个CPU core的序号),使得Linux系统本身在进行进程调度时,只使用core0,不使用其他的CPU core,从而可以让其他的CPU core专门用来进行数据面事务的处理。
设置huge page内存:
设置huge pages个数,如hugepages=640,表示预留640×2MB=1280MB的内存空间作为大页面内存(默认一个huge page大小为2MB),当然huge pages个数也可以在Linux系统启动完成后通过命令进行设置。
A2)加载Linux系统UIO驱动框架模块,加载Intel网卡 UIO内核驱动模块;
其中,驱动采用Poll模式来获取网卡数据包,不采用中断模式,从而减少中断切换带来的CPU损耗。
A3)绑定当前物理网口到Intel UIO驱动,使得当前物理网口脱离Linux内核网络协议栈。
A4) 加载hugetlbfs文件系统,如mount -t hugetlbfs nodev /mnt/huge,利用hugetlbfs文件实现对huge page内存映射操作。
A5)获取Linux系统信息;
Linux系统信息包括CPU颗粒数、内存通道及容量、每颗CPU的核心数以及DPDK可使用的网络接口。这些Linux系统信息作为后续CPU核绑定,内存分配,网口使用的基础。
步骤二,创建内存池,创建用于接收网络数据包的RX内存环和用于发送网络数据包的TX内存环。
内存池为创建在huge page内存中若干内存块,内存块部分空间用于存储内存块自身信息,包括自身状态、特性等,其余空间用于存储网络数据包。内存池在程序启动的时候创建,程序运行过程中不进行内存的分配、释放操作,以提升性能。
内存环采用无锁结构设计,通过CAS(Compare And Swap)原子操作,实现多生产者和多消费者并发访问,内存环中存储的是网络数据包所在内存块的指针地址。
步骤三,设置网络数据包调度策略,准备进行网络数据包调度。
网络数据包调度策略包括:
a、按VLAN号分配:根据网络数据包中的VLAN号,将接收到的网络数据包分配给工作线程进行处理;
b、按地址分配:根据网络数据包的源地址和目的地址,识别出通信双方,保证同一源地址和目的地址的网络数据包被分配到同一工作线程;
c、按流分配:根据网络数据包的源地址、目的地址、源端口、目的端口及传输协议,识别出会话数据流,保证同一会话数据流被分配到同一工作线程。
网络数据包调度包括硬件调度和软件调度。当Intel网卡硬件支持RSS时,网络数据包调度为硬件调度,通过配置网卡硬件RSS相关寄存器,绑定内存环,实现网络数据包的硬件调度。当Intel网卡硬件不支持RSS时,网络数据包调度为软件调度,通过软件调度进行网络数据包分发,具体为:创建软件调度线程,并绑定到单独的一个CPU核;接收时,软件调度线程按照设置的调度策略将网络数据包快速分类,根据分类结果将网络数据包所在内存块的内存指针地址写入相应工作线程的RX内存环;发送时,相关工作线程将待发送网络数据包所在内存块的内存指针地址写入到自身对应的TX内存环,并启动发送。
步骤四,创建多个工作线程,进行网络数据包的并行处理。
工作线程为网络数据包的处理线程,负责网络数据包的接收、处理与发送。工作线程与CPU核一对一绑定,即一个工作线程绑定到一个CPU核,不同工作线程绑定到不同CPU核,被绑定的CPU核只运行绑定的工作线程,不参与Linux进程调度,同一网络数据包的处理均在同一个工作线程中完成,多个工作线程并行处理,互不干扰。
每一个工作线程都分配有一个RX内存环和一个TX内存环,RX内存环用于存放接收到的网络数据包所在内存块的内存指针地址,TX内存环用于存放待发送的网络数据包所在内存块的内存指针地址,根据调度策略,通过RSS硬件调度方法或软件调度方法,将接收到的网络数据包分发给相应的工作线程,将相应网络数据包所在内存块的内存指针地址写入到相应工作线程的RX内存环的内存单元中,工作线程不断从RX内存环中获取待处理的网络数据包所在内存块的内存指针地址,定位到相关网络数据包的内容并进行处理,处理完成后,或者进行发送,或者丢弃。
工作线程的网络数据包处理流程如图2所述,具体的处理流程如下:
1、获取当前时间戳,并检查发送定时器是否超时。时间戳从CPU的TSC(Time StampCounter,时间戳计数器)获取。
2、如果发送定时器超时,则检查TX内存环是否有网络数据包需要发送,如果有,则进行批量发送,发送完成后,将已发送网络数据包所占用的内存空间释放到内存池。
3、从RX内存环获取新网络数据包所在内存块的内存指针地址。如果没有新网络数据包,则循环检查,不休眠。如果RX内存环中有大量新网络数据包,则一次批量处理一部分。
4、根据从RX内存环获取的新网络数据包所在内存块的内存指针地址,定位到新网络数据包的内容区域,进行相应的内容处理。根据不同应用场景,处理网络数据包的方法不同,但是需要在原来的内存块中完成数据包的处理,避免内存申请、复制操作。如果处理网络数据包后,网络数据包长度会增加,则在内存池创建的时候,需要为每个内存块预留一定的空间。
5、处理完成后,如果不需要发送网络数据包,则直接丢弃,并将已丢弃的网络数据包所占用的内存空间释放到内存池。
6、如果需要发送网络数据包,则将待发送网络数据包所在内存块的内存指针地址写入TX内存环。
7、检查是否需要立即发送。如果TX内存环中待发送网络数据包个数达到设定的数量,则立即批量发送网络数据包。
8、释放已发送的网络数据包所占内存空间到内存池。
上述基于Intel DPDK的网络数据包并行处理方法,充分利用多核CPU的性能优势,通过无锁的数据结构设计,并行的网络处理框架,高效的网络数据包分发,实现网络数据包在多个CPU核上的并行处理,减少了不必要的数据拷贝,提升了cache命中率,消除了系统调用、网卡中断带来的切换损耗,大幅提升了整机的处理性能,从而能够在千兆网络环境下,利用普通工控机实现对高速网络数据包的线速处理。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (4)

1.基于Intel DPDK的网络数据包并行处理方法,其特征在于:包括以下步骤,
步骤一,构建Intel DPDK运行环境;
步骤一中,构建Intel DPDK运行环境的过程为,
A1)启动配置;
包括设置Linux内核启动参数和设置huge page内存;
A2)加载Linux系统UIO驱动框架模块,加载Intel网卡 UIO内核驱动模块;
其中,驱动采用Poll模式来获取网卡数据包;
A3)绑定当前物理网口到Intel UIO驱动,使得当前物理网口脱离Linux内核网络协议栈;
A4) 加载hugetlbfs文件系统,利用hugetlbfs文件实现对huge page内存映射操作;
A5)获取Linux系统信息;
Linux系统信息包括CPU颗粒数、内存通道及容量、每颗CPU的核心数以及DPDK可使用的网络接口;
步骤二,创建内存池,创建用于接收网络数据包的RX内存环和用于发送网络数据包的TX内存环;
所述内存池为创建在huge page内存中若干内存块,内存块部分空间用于存储内存块自身信息,其余空间用于存储网络数据包;
步骤三,设置网络数据包调度策略,准备进行网络数据包调度;
网络数据包调度策略包括,
a、按VLAN号分配:根据网络数据包中的VLAN号,将接收到的网络数据包分配给工作线程进行处理;
b、按地址分配:根据网络数据包的源地址和目的地址,识别出通信双方,保证同一源地址和目的地址的网络数据包被分配到同一工作线程;
c、按流分配:根据网络数据包的源地址、目的地址、源端口、目的端口及传输协议,识别出会话数据流,保证同一会话数据流被分配到同一工作线程;
步骤四,创建多个工作线程,进行网络数据包的并行处理。
2.根据权利要求1所述的基于Intel DPDK的网络数据包并行处理方法,其特征在于:内存环采用无锁结构设计,内存环中存储的是网络数据包所在内存块的指针地址。
3.根据权利要求1所述的基于Intel DPDK的网络数据包并行处理方法,其特征在于:当Intel网卡硬件支持RSS时,网络数据包调度为硬件调度;当Intel网卡硬件不支持RSS时,网络数据包调度为软件调度。
4.根据权利要求1所述的基于Intel DPDK的网络数据包并行处理方法,其特征在于:工作线程与CPU核一对一绑定,每一个工作线程都分配有一个RX内存环和一个TX内存环,同一网络数据包的处理均在同一个工作线程中完成。
CN201610064205.5A 2016-01-29 2016-01-29 基于Intel DPDK的网络数据包并行处理方法 Active CN105577567B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610064205.5A CN105577567B (zh) 2016-01-29 2016-01-29 基于Intel DPDK的网络数据包并行处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610064205.5A CN105577567B (zh) 2016-01-29 2016-01-29 基于Intel DPDK的网络数据包并行处理方法

Publications (2)

Publication Number Publication Date
CN105577567A CN105577567A (zh) 2016-05-11
CN105577567B true CN105577567B (zh) 2018-11-02

Family

ID=55887244

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610064205.5A Active CN105577567B (zh) 2016-01-29 2016-01-29 基于Intel DPDK的网络数据包并行处理方法

Country Status (1)

Country Link
CN (1) CN105577567B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106101019A (zh) * 2016-06-22 2016-11-09 浪潮电子信息产业股份有限公司 一种基于中断绑定的多队列网卡性能调优方法
CN106571978B (zh) * 2016-10-28 2020-11-27 东软集团股份有限公司 数据包捕获方法及装置
CN108270676B (zh) * 2016-12-31 2020-07-28 普天信息技术有限公司 一种基于Intel DPDK的网络数据处理方法及装置
CN108366018B (zh) * 2017-01-26 2020-11-27 普天信息技术有限公司 一种基于dpdk的网络数据包处理方法
CN107181738B (zh) * 2017-04-25 2020-09-11 中国科学院信息工程研究所 一种软件化入侵检测系统及方法
CN107257352B (zh) * 2017-08-02 2020-09-08 赛尔网络有限公司 基于dpdk的url认证的重定向系统与方法
CN107483237A (zh) * 2017-08-02 2017-12-15 赛尔网络有限公司 基于dpdk转发的性能优化系统及方法
CN107623632B (zh) * 2017-08-10 2020-08-25 赛尔网络有限公司 基于dpdk的网络协议的连接方法及系统
CN107368178A (zh) * 2017-08-21 2017-11-21 湖南大学 基于dpdk数据包处理平台的功耗优化方法
CN107682312A (zh) * 2017-08-25 2018-02-09 中国科学院信息工程研究所 一种安全防护系统及方法
CN110022267A (zh) * 2018-01-09 2019-07-16 阿里巴巴集团控股有限公司 网络数据包处理方法及装置
CN108664419A (zh) * 2018-04-03 2018-10-16 郑州云海信息技术有限公司 一种确定内存大页数目的方法及其装置
CN108519912B (zh) * 2018-04-04 2021-05-11 网易(杭州)网络有限公司 数据清洗方法、装置、计算机可读存储介质及电子设备
CN108628681A (zh) * 2018-04-13 2018-10-09 电信科学技术第五研究所有限公司 多用户环境下流式数据处理方法
CN109495404B (zh) * 2018-12-14 2021-03-26 北京金山云网络技术有限公司 一种报文处理方法、装置、交换机设备及存储介质
CN111371694B (zh) * 2018-12-26 2022-10-04 中兴通讯股份有限公司 一种分流方法、装置和系统、处理设备和存储介质
CN110677397A (zh) * 2019-09-18 2020-01-10 广东网堤信息安全技术有限公司 基于dpdk下的nat转发数据的方法
CN110768829B (zh) * 2019-10-23 2022-02-15 江苏省未来网络创新研究院 一种基于dpdk实现流量分析业务性能线性增长的方法
CN111488219B (zh) * 2020-04-07 2022-08-02 中国科学院自动化研究所 用于高速数据采集系统的以太网数据流记录方法
CN112383452B (zh) * 2021-01-15 2021-03-23 奥特酷智能科技(南京)有限公司 基于dpdk框架的dds数据传输诊断方法及系统
CN113128142B (zh) * 2021-04-27 2022-04-01 北京智芯仿真科技有限公司 基于文件锁的集成电路电磁仿真粗颗粒并行方法及装置
CN114095251B (zh) * 2021-11-19 2024-02-13 南瑞集团有限公司 一种基于dpdk与vpp的sslvpn实现方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101764760A (zh) * 2010-03-24 2010-06-30 深圳市中科新业信息科技发展有限公司 多链路报文捕获方法、多链路报文处理方法及系统
CN102541803A (zh) * 2011-12-31 2012-07-04 曙光信息产业股份有限公司 数据发送方法和计算机
CN104821924A (zh) * 2014-01-30 2015-08-05 西门子公司 一种网络数据包处理方法、装置和网络处理设备
CN105099957A (zh) * 2015-08-20 2015-11-25 电子科技大学 一种基于软件查表的数据包转发方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10038626B2 (en) * 2013-04-16 2018-07-31 Amazon Technologies, Inc. Multipath routing in a distributed load balancer
US9742632B2 (en) * 2013-12-27 2017-08-22 Intel Corporation Hybrid SDN controller

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101764760A (zh) * 2010-03-24 2010-06-30 深圳市中科新业信息科技发展有限公司 多链路报文捕获方法、多链路报文处理方法及系统
CN102541803A (zh) * 2011-12-31 2012-07-04 曙光信息产业股份有限公司 数据发送方法和计算机
CN104821924A (zh) * 2014-01-30 2015-08-05 西门子公司 一种网络数据包处理方法、装置和网络处理设备
CN105099957A (zh) * 2015-08-20 2015-11-25 电子科技大学 一种基于软件查表的数据包转发方法

Also Published As

Publication number Publication date
CN105577567A (zh) 2016-05-11

Similar Documents

Publication Publication Date Title
CN105577567B (zh) 基于Intel DPDK的网络数据包并行处理方法
CN110535813B (zh) 内核态协议栈与用户态协议栈并存处理方法和装置
EP2647163B1 (en) A method and system for improved multi-cell support on a single modem board
CN102497322A (zh) 一种基于分流网卡和多核cpu实现的高速包过滤设备和方法
CN105511954A (zh) 一种报文处理方法及装置
TWI408934B (zh) 網路介面技術
García-Dorado et al. High-performance network traffic processing systems using commodity hardware
CN109768939A (zh) 一种支持优先级的标签化网络栈方法和系统
CN103946803A (zh) 具有高效工作排队的处理器
CN103617142B (zh) 一种基于pf_ring的高速网络数据采集方法
CN102724035B (zh) 一种加密卡的加解密方法
CN103176780A (zh) 一种多网络接口绑定系统及方法
CN106571978B (zh) 数据包捕获方法及装置
CN111813547B (zh) 基于dpdk的数据包处理方法及装置
CN107577534A (zh) 一种资源调度方法及装置
CN108366018A (zh) 一种基于dpdk的网络数据包处理方法
CN110138553A (zh) 一种IPSec VPN网关数据包处理装置及方法
CN102891809A (zh) 多核网络设备报文按接口保序方法及系统
CN101540764A (zh) 一种基于fpga的面向虚拟机的数据传输和路由方法
CN102609307A (zh) 多核多线程双操作系统网络设备及其控制方法
CN110874336B (zh) 一种基于申威平台的分布式块存储低延迟控制方法及系统
CN102750245A (zh) 报文接收方法、报文接收模块、装置及系统
CN103731364A (zh) 基于x86平台实现万兆大流量快速收包的方法
US11347567B2 (en) Methods and apparatus for multiplexing data flows via a single data structure
CN101272334B (zh) 使用多核CPU处理QoS业务的方法、装置和设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100031 Xicheng District West Chang'an Avenue, No. 86, Beijing

Co-patentee after: NARI Group Corp.

Patentee after: State Grid Corporation of China

Co-patentee after: NARI INFORMATION AND COMMUNICATION TECHNOLOGY Co.

Co-patentee after: STATE GRID SHANXI ELECTRIC POWER Co.

Address before: 100031 Xicheng District West Chang'an Avenue, No. 86, Beijing

Co-patentee before: NARI Group CORPORATION STATE GRID ELECTRIC POWER INSTITUTE

Patentee before: State Grid Corporation of China

Co-patentee before: NARI INFORMATION AND COMMUNICATION TECHNOLOGY Co.

Co-patentee before: STATE GRID SHANXI ELECTRIC POWER Co.

CP01 Change in the name or title of a patent holder