CN108494705A - 一种网络报文高速处理***和方法 - Google Patents

一种网络报文高速处理***和方法 Download PDF

Info

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
Application number
CN201810205530.8A
Other languages
English (en)
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.)
Shandong Chaoyue CNC Electronics Co Ltd
Original Assignee
Shandong Chaoyue CNC Electronics 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 Shandong Chaoyue CNC Electronics Co Ltd filed Critical Shandong Chaoyue CNC Electronics Co Ltd
Priority to CN201810205530.8A priority Critical patent/CN108494705A/zh
Publication of CN108494705A publication Critical patent/CN108494705A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network 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个核心上;各个功能核组内多个核心使用队列连接起来,以流水线方式运行,顺序处理数据包。
CN201810205530.8A 2018-03-13 2018-03-13 一种网络报文高速处理***和方法 Pending CN108494705A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 重庆邮电大学 一种基于众核平台的流媒体流量发生***

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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