CN108494705A - 一种网络报文高速处理***和方法 - Google Patents
一种网络报文高速处理***和方法 Download PDFInfo
- Publication number
- CN108494705A CN108494705A CN201810205530.8A CN201810205530A CN108494705A CN 108494705 A CN108494705 A CN 108494705A CN 201810205530 A CN201810205530 A CN 201810205530A CN 108494705 A CN108494705 A CN 108494705A
- Authority
- CN
- China
- Prior art keywords
- processor
- network
- network message
- core group
- function core
- 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
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/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/622—Queue service order
-
- 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
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种网络报文高速处理***和方法,涉及网络安全领域,利用飞腾处理器的多核分组的架构,采用功能核组间并行运行,功能核组内多核流水线方式,高效并行处理网络报文;多核组并行网络数据包,利于核组按照网络流量伸缩,提高多核利用效率,同时软件开发相对简单,利于向下一代处理器平台的平滑迁移;各核组内多个核以流水线的形式处理转发网络数据包,流水线内各个核心任务单一明确,显著提高了缓存命中率,提升网络吞吐量,提升了网络报文处理速度。将本发明应用于网络安全设备中;拓展了国产处理器的应用领域,提升了网络安全设备的国产化水平,在信息安全自主可控方面有重大意义。
Description
技术领域
本发明涉及网络安全领域,具体的说是一种网络报文高速处理***和方法。
背景技术
随着网络中业务流量***式增长,对网络安全设备性能的需求也越来越高。各个厂商不断的对网络安全设备的硬件和软件架构进行改进和完善,使网络安全设备的处理性能不断提高。目前在网络安全领域,网络安全设备核心硬件芯片均采用国外产品或解决方案。网络安全设备是网络信息安全的基石,网络安全设备核心器件不能国产,使得国内网络信息安全严重受限,意味着信息安全难以治理,成为国内网络信息安全领域的重大风险。
近年来,围绕发展自主可控、安全可信的国产软硬件,国内一些企业进行了积极的探索,涌现了一批以飞腾多核处理器为代表的自主处理器芯片。在硬件方面,网络安全设备厂商普遍采用多核处理器,利用多核并发处理的特性,提高设备的吞吐量。
传统的多核处理器上网络包处理方案可分为并行(Run-to-Completion)方案和流水线(Pipeline)方案。
并行方案中,网络包处理程序处理从收包到发包的整个数据包生命周期,程序通过核绑定技术绑定在多个核上,多个核并行运行,每个核都可接收、处理、发送数据包,多核并行方案运行如图1所示。
流水线方案借鉴了工业上的流水线技术,将数据包处理的过程分解为多个独立的阶段,如收数据包、数据包预处理、报文处理、发数据包等,每个阶段都是独立程序,运行在不同的核上,不同的核通过队列连接起来,按照顺序处理数据包,多核流水线方案运行如图2所示。
并行方案和流水线方案比较如下表所示。
国产飞腾2000处理器核心较多,且采用多核分组的架构设计,若完全采用流水线方案,开发设计难度比较大;若采用并行方案,每个核程序复杂,缓存命中率低,若缓存未命中,需要将数据从内存加载到缓存,这个时间对于高速网络数据处理流程而言不可忽略。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种基于国产飞腾多核处理器的网络报文高速处理***和方法。
本发明所述一种网络报文高速处理***,解决上述技术问题采用的技术方案如下:所述一种网络报文高速处理***,利用飞腾处理器的多核分组的架构,采用功能核组间并行运行,功能核组内多核流水线方式,高效并行处理网络报文;
其***架构包括:
数据输入网卡端,包括若干网卡,负责输出网络数据包到处理器;
处理器,采用飞腾多核处理器,以并行加流水线的方式高效处理网络报文;
数据输出网卡端,包括若干网卡,负责接收处理器的输出数据。
具体的,利用飞腾多核处理器的多核分组架构,处理器内部划分为多个功能核组,每个功能核组内部包括多个核心;各个功能核组并行运行,并发处理网络报文;
处理器的网络报文处理流程划分为多个子任务,每个子任务程序分别绑定到各个功能核组内多个核心上,多个核心以流水线的形式,顺序处理网络报文。
具体的,所述处理器采用飞腾2000处理器。
具体的,所述飞腾2000处理器64个核心划分为16个功能核组;每个功能核组包括4个核心;各个功能核组并行运行,并发处理网络数据包。
具体的,所述处理器的数据包检测转发流程划分为4个阶段,分别为接收数据包、数据包预处理、数据包过滤、数据包发送;各个阶段的程序利用绑定技术分别绑定到每个功能核组的4个核心上;各个功能核组内多个核心使用队列连接起来,以流水线方式运行,顺序处理数据包。
本发明还提出了一种网络报文高速处理方法,利用飞腾处理器的多核分组的架构,采用功能核组间并行运行,功能核组内多核流水线方式,高效并行处理网络报文;
具体实现流程包括:
步骤1,数据输入网卡端输出网络数据包到处理器;
步骤2,飞腾多核处理器以并行加流水线的方式高效处理网络报文;
步骤3,处理器对网络报文高速处理后输出给数据输出网卡端。
具体的,所述步骤2,
利用飞腾多核处理器的多核分组架构,处理器内部划分为多个功能核组,每个功能核组内部包括多个核心;各个功能核组并行运行,并发处理网络报文;
处理器的网络报文处理流程划分为多个子任务,每个子任务程序分别绑定到各个功能核组内多个核心上,多个核心以流水线的形式,顺序处理网络报文。
具体的,所述处理器采用飞腾2000处理器。
具体的,所述飞腾2000处理器64个核心划分为16个功能核组;每个功能核组包括4个核心;各个功能核组并行运行,并发处理网络数据包。
具体的,所述处理器的数据包检测转发流程划分为4个阶段,分别为接收数据包、数据包预处理、数据包过滤、数据包发送;各个阶段的程序利用绑定技术分别绑定到每个功能核组的4个核心上;各个功能核组内多个核心使用队列连接起来,以流水线方式运行,顺序处理数据包。
本发明所述一种网络报文高速处理***和方法,与现有技术相比具有的有益效果是:本发明利用国产处理器的多核处理能力,综合传统的并行方案和流水线方案,实现并行加流水线进行高速处理网络报文的目的;多核组并行的设计,将核组资源池化,以核组为功能单位模块化设计,利于核组按照网络流量伸缩,提高多核利用效率,同时软件开发相对简单,利于向下一代处理器平台的平滑迁移;
各核组内多个核以流水线的形式处理转发网络数据包;流水线内各个核心任务单一明确,显著提高了缓存命中率,提升网络吞吐量;其次,核组内各核心共享本组的缓存和高速总线,提高了核间通信速率,降低流水线递交时延;
因此本发明利用飞腾处理器多核分组的架构,采用核组间并行、核组内多核流水的设计,多核高速并行运行,并发处理网络数据包,提升了网络报文处理速度,提高网络设备的吞吐量;将本发明应用于网络安全设备,如防火墙、入侵检测***、统一威胁管理等设备中;拓展了国产处理器的应用领域,提升了网络安全设备的国产化水平,在信息安全自主可控方面有重大意义。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术内容,下面对本发明实施例或现有技术中所需要的附图做简单介绍。显而易见的,下面所描述附图仅仅是本发明的一部分实施例,对于本领域技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,但均在本发明的保护范围之内。
附图1为传统的多核处理器上网络包并行处理方案的示意图;
附图2为传统的多核处理器上网络包流水线处理方案的示意图;
附图3为实施例1网络报文高速处理***的示意图。
具体实施方式
为使本发明的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本发明的技术方案进行清查、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下获得的所有实施例,都在本发明的保护范围之内。
实施例1:
为了在国产多核处理器上实现网络处理的高速性,并兼顾开发难度和可扩展性,本实施例提出一种网络报文高速处理***,利用飞腾处理器的多核处理能力,综合传统的并行方案和流水线方案,实现并行加流水线对网络报文高速处理的目的,多核高速并行运行,提升网络报文处理速度,提高网络设备的吞吐量。
本实施例网络报文高速处理***,如附图3所示,其***架构包括:
数据输入网卡端,包括若干网卡,负责输出网络数据包到处理器;
处理器,采用飞腾多核处理器,以并行加流水线的方式高效处理网络报文;
具体的,利用飞腾多核处理器的多核分组架构,处理器内部划分为多个功能核组,每个功能核组内部包括多个核心;各个功能核组并行运行,并发处理网络报文;
处理器的网络报文处理流程划分为多个子任务,每个子任务程序分别绑定到各个功能核组内多个核心上,多个核心以流水线的形式,顺序处理网络报文。
数据输出网卡端,包括若干网卡,负责接收处理器的输出数据。
本实施例还提出了一种网络报文高速处理方法,利用飞腾处理器的多核分组的架构,采用功能核组间并行,功能核组内多核流水设计,多个功能核组高速并行运行,提升网络报文处理速度,提高网络设备的吞吐量。
本实施例还提出一种网络报文高速处理方法,其技术方案与实施例1网络报文高速处理***可以相互参照,具体实现流程包括:
步骤1,数据输入网卡端输出网络数据包到处理器;
步骤2,飞腾多核处理器以并行加流水线的方式高效处理网络报文;
具体的,利用飞腾多核处理器的多核分组架构,处理器内部划分为多个功能核组,每个功能核组内部包括多个核心;各个功能核组并行运行,并发处理网络报文;
处理器的网络报文处理流程划分为多个子任务,每个子任务程序分别绑定到各个功能核组内多个核心上,多个核心以流水线的形式,顺序处理网络报文。
步骤3,处理器对网络报文高速处理后输出给数据输出网卡端。
实施例2:
本实施例提出的一种网络报文高速处理***,是本发明的另一个具体实施方式,在实施例1网络报文高速处理***的基础上,处理器可以采用飞腾2000处理器,飞腾2000处理器核组内8个核心划分为2个功能核组,每个功能核组包括4个核心;飞腾2000处理器64个核心划分为16个功能核组。
所述处理器的数据包检测转发流程划分为4个阶段,分别为接收数据包、数据包预处理、数据包过滤、数据包发送;各个阶段的程序利用绑定技术分别绑定到功能核组的4个核心上。
各个功能核组内多个核心使用队列连接起来,以流水线方式运行,顺序处理数据包。整个飞腾2000处理器16个功能核组并行运行,并发处理网络数据包。
本实施例还提出一种网络报文高速处理方法,其技术方案与实施例2网络报文高速处理***可以相互参照,以飞腾2000处理器来详细说明本发明的技术方案和技术特点。
所述步骤2,飞腾多核处理器采用飞腾2000处理器,飞腾2000处理器核组内8个核心划分为2个功能核组,每个功能核组包括4个核心;飞腾2000处理器64个核心划分为16个功能核组;各个功能核组并行运行,并发处理网络数据包。
所述处理器的网络报文处理流程划分为4个阶段,分别为接收数据包、数据包预处理、数据包过滤、数据包发送;各个阶段的程序利用绑定技术分别绑定到每个功能核组的4个核心上;各个功能核组内多个核心使用队列连接起来,以流水线方式运行,顺序处理数据包。
本实施例网络报文高速处理方法,利用飞腾2000处理器多核分组的架构,采用核组间并行,核组内多核流水的设计,将数据包检测转发的流程,划分为多个子任务,各个核组内的多个核心分别绑定这些子任务进程,以流水线的形式处理转发网络数据包,多个核组以并行模式运行,并发处理网络数据包;多核组并行,以核组为功能单位化设计,利于核组按照网络流量伸缩,提高多核利用效率;单个核组流水线内各个核心任务单一明确,显著提高缓存命中率,提升网络吞吐量。
以上应用具体个例对本发明的原理及实施方式进行了详细阐述,这些实施例只是用于帮助理解本发明的核心技术内容,并不用于限制本发明的保护范围,本发明的技术方案不限制于上述具体实施方式内。基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。
Claims (10)
1.一种网络报文高速处理***,其特征在于,利用飞腾处理器的多核分组的架构,采用功能核组间并行运行,功能核组内多核流水线方式,高效并行处理网络报文;
其***架构包括:
数据输入网卡端,包括若干网卡,负责输出网络数据包到处理器;
处理器,采用飞腾多核处理器,以并行加流水线的方式高效处理网络报文;
数据输出网卡端,包括若干网卡,负责接收处理器的输出数据。
2.根据权利要求1所述一种网络报文高速处理***,其特征在于,所述处理器内部划分为多个功能核组,每个功能核组内部包括多个核心;各个功能核组并行运行,并发处理网络报文;
处理器的网络报文处理流程划分为多个子任务,每个子任务程序分别绑定到各个功能核组内多个核心上,多个核心以流水线的形式,顺序处理网络报文。
3.根据权利要求2所述一种网络报文高速处理***,其特征在于,所述处理器采用飞腾2000处理器。
4.根据权利要求3所述一种网络报文高速处理***,其特征在于,所述飞腾2000处理器64个核心划分为16个功能核组;每个功能核组包括4个核心;各个功能核组并行运行,并发处理网络数据包。
5.根据权利要求4所述一种网络报文高速处理***,其特征在于,所述处理器的数据包检测转发流程划分为4个阶段,分别为接收数据包、数据包预处理、数据包过滤、数据包发送;各个阶段的程序利用绑定技术分别绑定到每个功能核组的4个核心上;各个功能核组内多个核心使用队列连接起来,以流水线方式运行,顺序处理数据包。
6.一种网络报文高速处理方法,其特征在于,利用飞腾处理器的多核分组的架构,采用功能核组间并行运行,功能核组内多核流水线方式,高效并行处理网络报文;
具体实现流程包括:
步骤1,数据输入网卡端输出网络数据包到处理器;
步骤2,飞腾多核处理器以并行加流水线的方式高效处理网络报文;
步骤3,处理器对网络报文高速处理后输出给数据输出网卡端。
7.根据权利要求6所述一种网络报文高速处理方法,其特征在于,所述步骤2,
利用飞腾多核处理器的多核分组架构,处理器内部划分为多个功能核组,每个功能核组内部包括多个核心;各个功能核组并行运行,并发处理网络报文;
处理器的网络报文处理流程划分为多个子任务,每个子任务程序分别绑定到各个功能核组内多个核心上,多个核心以流水线的形式,顺序处理网络报文。
8.根据权利要求7所述一种网络报文高速处理方法,其特征在于,所述处理器采用飞腾2000处理器。
9.根据权利要求8所述一种网络报文高速处理方法,其特征在于,所述飞腾2000处理器64个核心划分为16个功能核组;每个功能核组包括4个核心;各个功能核组并行运行,并发处理网络数据包。
10.根据权利要求9所述一种网络报文高速处理方法,其特征在于,所述处理器的数据包检测转发流程划分为4个阶段,分别为接收数据包、数据包预处理、数据包过滤、数据包发送;各个阶段的程序利用绑定技术分别绑定到每个功能核组的4个核心上;各个功能核组内多个核心使用队列连接起来,以流水线方式运行,顺序处理数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810205530.8A CN108494705A (zh) | 2018-03-13 | 2018-03-13 | 一种网络报文高速处理***和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810205530.8A CN108494705A (zh) | 2018-03-13 | 2018-03-13 | 一种网络报文高速处理***和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108494705A true CN108494705A (zh) | 2018-09-04 |
Family
ID=63339032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810205530.8A Pending CN108494705A (zh) | 2018-03-13 | 2018-03-13 | 一种网络报文高速处理***和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108494705A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110097268A (zh) * | 2019-04-19 | 2019-08-06 | 北京金山安全软件有限公司 | 一种任务分配方法、装置、电子设备及存储介质 |
CN115185878A (zh) * | 2022-05-24 | 2022-10-14 | 中科驭数(北京)科技有限公司 | 一种多核分组网络处理器架构及任务调度方法 |
CN111949740B (zh) * | 2019-05-15 | 2024-03-26 | 中国科学院声学研究所 | 基于多核处理器的并行网包分类方法、***及网络设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102331923A (zh) * | 2011-10-13 | 2012-01-25 | 西安电子科技大学 | 一种基于多核多线程处理器的功能宏流水线实现方法 |
CN103838552A (zh) * | 2014-03-18 | 2014-06-04 | 北京邮电大学 | 4g宽带通信***多核并行流水线信号的处理***和方法 |
CN104639460A (zh) * | 2015-02-03 | 2015-05-20 | 重庆邮电大学 | 一种基于众核处理器的高速网络数据包并行化接收方法 |
CN105022671A (zh) * | 2015-07-20 | 2015-11-04 | 中国科学院计算技术研究所 | 一种用于流式数据并行处理的负载均衡方法 |
CN105227547A (zh) * | 2015-09-09 | 2016-01-06 | 重庆邮电大学 | 一种基于众核平台的流媒体流量发生*** |
-
2018
- 2018-03-13 CN CN201810205530.8A patent/CN108494705A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102331923A (zh) * | 2011-10-13 | 2012-01-25 | 西安电子科技大学 | 一种基于多核多线程处理器的功能宏流水线实现方法 |
CN103838552A (zh) * | 2014-03-18 | 2014-06-04 | 北京邮电大学 | 4g宽带通信***多核并行流水线信号的处理***和方法 |
CN104639460A (zh) * | 2015-02-03 | 2015-05-20 | 重庆邮电大学 | 一种基于众核处理器的高速网络数据包并行化接收方法 |
CN105022671A (zh) * | 2015-07-20 | 2015-11-04 | 中国科学院计算技术研究所 | 一种用于流式数据并行处理的负载均衡方法 |
CN105227547A (zh) * | 2015-09-09 | 2016-01-06 | 重庆邮电大学 | 一种基于众核平台的流媒体流量发生*** |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110097268A (zh) * | 2019-04-19 | 2019-08-06 | 北京金山安全软件有限公司 | 一种任务分配方法、装置、电子设备及存储介质 |
CN110097268B (zh) * | 2019-04-19 | 2022-08-19 | 北京金山安全软件有限公司 | 一种任务分配方法、装置、电子设备及存储介质 |
CN111949740B (zh) * | 2019-05-15 | 2024-03-26 | 中国科学院声学研究所 | 基于多核处理器的并行网包分类方法、***及网络设备 |
CN115185878A (zh) * | 2022-05-24 | 2022-10-14 | 中科驭数(北京)科技有限公司 | 一种多核分组网络处理器架构及任务调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3612942B1 (en) | Queue management for direct memory access | |
CN102710477B (zh) | 一种基于vpx总线结构的数据处理*** | |
JP6974270B2 (ja) | 知能型高帯域幅メモリシステム及びそのための論理ダイ | |
CN105577567B (zh) | 基于Intel DPDK的网络数据包并行处理方法 | |
CN104915322B (zh) | 一种卷积神经网络硬件加速方法 | |
CN100449522C (zh) | 基于多fpga的矩阵乘法并行计算*** | |
DE102018126150A1 (de) | Einrichtung, verfahren und systeme für multicast in einem konfigurierbaren räumlichen beschleuniger | |
CN107392308A (zh) | 一种基于可编程器件的卷积神经网络加速方法与*** | |
CN108494705A (zh) | 一种网络报文高速处理***和方法 | |
CN101304322B (zh) | 一种网络设备和报文转发方法 | |
CN104820657A (zh) | 一种基于嵌入式异构多核处理器上的核间通信方法及并行编程模型 | |
CN102724035B (zh) | 一种加密卡的加解密方法 | |
CN106951926A (zh) | 一种混合架构的深度学习***方法及装置 | |
CN104699654B (zh) | 一种基于chi片内互联总线与qpi片间互联总线互联适配***和方法 | |
EP1835414A3 (en) | Reduction processing method for parallel computer, and parallel computer | |
CN107256180A (zh) | 数据处理方法、装置及终端 | |
CN113312283B (zh) | 一种基于fpga加速的异构图学习*** | |
CN108595379A (zh) | 一种基于多级缓存的并行化卷积运算方法及*** | |
CN209149287U (zh) | 大数据运算加速*** | |
WO2023040197A1 (zh) | 一种跨节点通信方法、装置、设备及可读存储介质 | |
CN109472734A (zh) | 一种基于fpga的目标检测网络及其实现方法 | |
CN115880132A (zh) | 图形处理器、矩阵乘法任务处理方法、装置及存储介质 | |
CN103312627A (zh) | 基于两级存储的正则表达式匹配方法 | |
CN111653317B (zh) | 基因比对加速装置、方法及*** | |
CN109993286A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180904 |