CN108718259B - 一种报文处理方法及多核处理器 - Google Patents

一种报文处理方法及多核处理器 Download PDF

Info

Publication number
CN108718259B
CN108718259B CN201810541501.9A CN201810541501A CN108718259B CN 108718259 B CN108718259 B CN 108718259B CN 201810541501 A CN201810541501 A CN 201810541501A CN 108718259 B CN108718259 B CN 108718259B
Authority
CN
China
Prior art keywords
message
core
flow label
packet
class
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
CN201810541501.9A
Other languages
English (en)
Other versions
CN108718259A (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.)
New H3C Security Technologies Co Ltd
Original Assignee
New H3C Security Technologies 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 New H3C Security Technologies Co Ltd filed Critical New H3C Security Technologies Co Ltd
Priority to CN201810541501.9A priority Critical patent/CN108718259B/zh
Publication of CN108718259A publication Critical patent/CN108718259A/zh
Application granted granted Critical
Publication of CN108718259B publication Critical patent/CN108718259B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • 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
    • H04L63/0227Filtering policies
    • H04L63/0254Stateful filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例提供了一种报文处理方法及多核处理器。网络设备中的多核处理器包括第一类核和至少两个第二类核,该方法包括:第一类核,获取报文以及报文的流标签,根据报文的流标签,以及预设的流标签与第二类核的对应关系,确定报文的流标签对应的第二类核,并将报文发送至报文的流标签对应的第二类核。第二类核,接收所述第一类核发送的报文,对报文进行处理。流标签用于表示报文归属的报文流。应用本申请实施例提供的方案,能够实现对报文的保序处理。

Description

一种报文处理方法及多核处理器
技术领域
本申请涉及通信技术领域,特别是涉及一种报文处理方法及多核处理器。
背景技术
随着网络技术的发展,大数据、云计算等新形式的网络应用越来越广泛,这就造成网络中的数据流量急剧增大。防火墙等网络设备主要依靠CPU对接收的报文进行分析和诊断,以便对报文进行相应的处理。
当网络中的数据流量急剧增大时,防火墙会接收到大量报文。为了应对这种大数据流量的情况,提高报文处理效率,防火墙通常采用多核CPU对报文进行处理。多核CPU在处理大量报文时面临的一个问题是,如何对报文进行保序处理。对报文进行保序处理可以理解为,在同一报文流中,先到达的报文应先被处理。在一段时间内,特征信息均相同的多个报文组成同一报文流。特征信息可以为报文的三元组、五元组等信息。但是,防火墙中的多个核的负载情况不同,对报文的处理速度也不同,如何尽可能保证对报文进行保序处理,是亟待解决的一个问题。
发明内容
本申请实施例的目的在于提供了一种报文处理方法及多核处理器,以实现对报文的保序处理。
为了达到上述目的,本申请实施例提供了一种报文处理方法,该方法应用于网络设备中的多核处理器,所述多核处理器包括第一类核和至少两个第二类核,所述方法包括:
所述第一类核,获取报文以及所述报文的流标签,根据所述报文的流标签,以及预设的流标签与第二类核的对应关系,确定所述报文的流标签对应的第二类核,并将所述报文发送至所述报文的流标签对应的第二类核;所述流标签用于表示所述报文归属的报文流,所述流标签为根据所述报文的第一特征信息计算得到;
所述第二类核,接收所述第一类核发送的报文,对报文进行处理。
本申请实施例还提供了一种多核处理器,该多核处理器包括第一类核和至少两个第二类核;
所述第一类核,获取报文以及所述报文的流标签,根据所述报文的流标签,以及预设的流标签与第二类核的对应关系,确定所述报文的流标签对应的第二类核,并将所述报文发送至所述报文的流标签对应的第二类核;所述流标签用于表示所述报文归属的报文流,所述流标签为根据所述报文的第一特征信息计算得到;
所述第二类核,接收所述第一类核发送的报文,对报文进行处理。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现本申请实施例提供的报文处理方法。该方法包括:
第一类核,获取报文以及所述报文的流标签,根据所述报文的流标签,以及预设的流标签与第二类核的对应关系,确定所述报文的流标签对应的第二类核,并将所述报文发送至所述报文的流标签对应的第二类核;所述流标签用于表示所述报文归属的报文流,所述流标签为根据所述报文的第一特征信息计算得到;
第二类核,接收所述第一类核发送的报文,对报文进行处理。
本申请实施例提供的报文处理方法及多核处理器中,多核处理器中的第一类核根据报文的流标签以及流标签与第二类核的对应关系,确定报文的流标签对应的第二类核,并将报文发送至所确定的第二类核,该第二类核对第一类核发送的报文进行处理。由于流标签能够表示报文归属的报文流,流标签相同的报文属于同一报文流,第一类核可以根据流标签与第二类核的对应关系,将流标签相同的报文发送至同一第二类核。这样,属于同一报文流的报文均由同一第二类核处理,能够实现属于同一报文流的报文按照顺序被处理。因此本申请实施例能够实现对报文的保序处理。当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的报文处理方法的一种流程示意图;
图2为本申请实施例提供的一种应用场景示意图;
图3为本申请实施例提供的一种报文保序及处理流程示意图;
图4为本申请实施例提供的多核处理器的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了实现对报文的保序处理,本申请实施例提供了一种报文处理方法及多核处理器。下面通过具体实施例,对本申请进行详细说明。
图1为本申请实施例提供的报文处理方法的一种流程示意图。该方法应用于网络设备中的多核处理器,该处理器可以为CPU、数字信号处理器(Digital SignalProcessing,DSP)或微处理器单元(Micro Processor Uint,MPU)等。该多核处理器包括第一类核和至少两个第二类核。第一类核可以为一个或多个。本实施例从软件层面上将多核处理器包含的多个核分成两类,不同类的核执行不同的操作。第一类核可以称为报文保序平面上的核,第二类核可以称为数据处理平面上的核。每一个平面都包含n个核,n≥1。网络设备可以为路由器或交换机等设备。该方法包括如下步骤S101~步骤S102。
步骤S101:第一类核获取报文以及报文的流标签,根据报文的流标签,以及预设的流标签与第二类核的对应关系,确定报文的流标签对应的第二类核,并将报文发送至报文的流标签对应的第二类核。
其中,流标签用于表示报文归属的报文流,流标签为根据报文的第一特征信息计算得到。流标签可以采用数字类字符或字母类字符表示。同一报文流是指具有相同第一特征信息的一系列报文。该第一特征信息可以为报文的五元组信息,即源地址、源端口、目的地址、目的端口和传输层协议等信息。当多个报文属于同一报文流的报文时,该多个报文具有相同的流标签。不同的流标签表示报文属于不同的报文流。在实际应用中,流标签可以为根据报文的第一特征信息以及预设算法计算得到。
流标签与第二类核的对应关系可以是预先配置的。一个流标签只对应一个第二类核,一个第二类核可以对应一个或多个流标签。第二类核对应的流标签,可以理解为,该第二类核处理具有对应的流标签的报文。流标签的种类数量也是预先配置的。例如,表1为流标签与第二类核的对应关系的一个例子。
表1
第二类核 核4 核5 核6 核7 核8 …… 核43
流标签 0,40 1,41 2,42 3,43 4,44 39
在表1中,流标签的种类数量为64个,流标签的编号为0~63。核4~核43均为第二类核,核4、核5和核6等第二类核对应两个流标签,核43等第二类核对应一个流标签。
当多核处理器包含的核数量较多且流标签的种类数量较多时,为了提高确定效率,根据报文的流标签,以及预设的流标签与第二类核的对应关系,确定报文的流标签对应的第二类核时,具体可以根据公式Gn=Tx%Cn+m,确定报文的流标签对应的第二类核Gn
其中,Cn为多核处理器包含的第二类核的总数量。Tx为报文的流标签。Tx为流标签的编号,流标签的编号存在取值范围。例如,当流标签的编号范围为0~63时,0≤Tx≤63。%为取余符号,Tx%Cn表示取Tx除以Cn的余数。m为预设的常量,m的数值可以预先根据第二类核的总数量确定。
例如,流标签与第二类核的对应关系如表1所示,其中第二类核的总数量为40,则根据表1的数据以及公式Gn=Tx%Cn+m,可以得到m取4。这样,在确定报文的流标签对应的第二类核时,可以根据Gn=Tx%Cn+4计算得到。这样可以更快速地确定第二类核,提高确定效率。
步骤S102:第二类核接收第一类核发送的报文,对报文进行处理。
第二类核接收到第一类核发送的报文时,可以按照相关技术中的方式对报文进行处理。例如,第二类核可以对报文进行深度包检测(Deep Packet Inspection,DPI)等处理。
当第二类核对报文处理完成后,将报文发送出去,完成一次报文处理流程。
由上述内容可知,本实施例中,多核处理器中的第一类核根据报文的流标签以及流标签与第二类核的对应关系,确定报文的流标签对应的第二类核,并将报文发送至所确定的第二类核,该第二类核对第一类核发送的报文进行处理。由于流标签能够表示报文归属的报文流,流标签相同的报文属于同一报文流,第一类核可以根据流标签与第二类核的对应关系,将流标签相同的报文发送至同一第二类核。这样,属于同一报文流的报文均由同一第二类核处理,能够实现属于同一报文流的报文按照顺序被处理。因此本实施例能够实现对报文的保序处理。
同时,本实施例从软件层面上将多核处理器的核分成两类,第一类核确定报文的流标签对应的第二类核,将报文发送至第二类核处理,实现了对报文的保序操作。因此,本实施例无需在多核处理器中添加额外的进度/同步/序列单元SSO(Schedule/Synchronize/Order Unit,SSO单元)或报文保序引擎(Packet Ordering Engine,POE)等用于对报文进行保序的硬件模块,而是对多核处理器进行软件上的改进后即可以实现对报文的保序处理,因此本实施例的报文处理方法可以应用在类型更广泛的多核处理器芯片中。
在大数据流量的情况下,多核处理器可能会接收到大量的报文,为了提高整体的处理效率,可以设置多个第一类核,由多个第一类核共同确定报文由哪个第二类核处理。同时,当多核处理器接收到大量报文时,为了对多个第一类核进行负载分担,多核处理器还可以包括报文分析模块,该报文分析模块可以按照一定方式确定将报文发送至哪个第一类核。
在本申请的另一实施例中,当多核处理器包括至少两个第一类核时,报文分析模块可以采用以下步骤1~步骤3将报文发送至第一类核。
步骤1:接收报文,并根据报文携带的第二特征信息,计算报文的特征值。
其中,第二特征信息可以与第一特征信息相同,也可以与第一特征信息不同。例如第二特征信息可以为报文携带的五元组信息、五元组信息中的部分信息或五元组信息与其他信息的组合等。
在根据报文携带的第二特征信息,计算报文的特征值时,可以根据报文携带的五元组信息,计算报文的哈希值,作为报文的特征值。在计算报文的哈希值时,可以根据哈希算法计算。报文的特征值与报文的流标签不同。属于同一报文流的报文可以具有相同的特征值。
步骤2:根据报文的特征值,以及预设的特征值与第一类核的对应关系,确定报文的特征值对应的第一类核。
其中,特征值与第一类核的对应关系可以是预先配置的。
步骤3:将报文发送至确定的第一类核。
本实施例中,第一类核可以接收报文分析模块发送的报文。
综上,本实施例中,报文分析模块可以根据报文的特征值与第一类核的对应关系,确定将报文发送至哪个第一类核,实现对第一类核的负载分担。第一类核也可以较均衡地接收到报文,实现对负载的均衡处理。
在本申请的另一实施例中,第一类核在接收到报文后,可以采用以下方式获取报文的流标签:
根据报文携带的第一特征信息,计算报文的流标签。
本步骤具体可以为,根据报文携带的五元组信息,计算报文的流标签。例如,根据报文携带的五元组信息以及预设算法,计算报文的流标签。在这种实施方式中,五元组信息即为第一特征信息。
在另一实施方式中,报文分析模块可以将报文以及报文的特征值均发送至确定的第一类核。第一类核接收到报文分析模块发送的报文以及报文的特征值时,可以根据报文的特征值计算报文的流标签。第一类核可以按照预设算法,根据报文的特征值计算报文的流标签。报文的特征值可以为根据报文的五元组信息计算得到的。
本实施例中,第一类核自身提取报文的第一特征信息,并根据第一特征信息计算报文的流标签。这样能够减少发送的信息,提高流标签的准确性。
在本申请的另一实施例中,为了减少第一类核的计算量,报文分析模块还可以在确定报文的特征值对应的第一类核之后,根据报文携带的第一特征信息,计算报文的流标签,并将报文的流标签发送至确定的第一类核。第一类核可以接收报文分析模块发送的报文的流标签。
报文分析模块在根据报文携带的第一特征信息,计算报文的流标签时,可以根据报文携带的五元组信息,计算所述报文的流标签。在这种实施方式中,五元组信息即为第一特征信息。
本实施例中,报文分析模块根据报文携带的第一特征信息计算报文的流标签,并将报文的流标签发送至第一类核。这样,第一类核直接接收报文分析模块计算得到的流标签即可,第一类核自身无需计算流标签,因此能够减少第一类核的计算量,提高第一类核的处理效率。
在本申请的另一实施例中,为了提高处理效率,使多核处理器的各个核的负载更均衡,本实施例中,第一类核的总数量和第二类核的总数量均可以为预先根据流标签的种类数量确定的数量。
具体的,第一类核的总数量按照以下规则确定:流标签的种类数量为第一类核的总数量的整数倍;和/或,第二类核的总数量按照以下规则确定:流标签的种类数量为第二类核的总数量的整数倍。
本实施例中,属于同一报文流的报文具有相同的特征值,属于同一报文流的报文具有相同的流标签。在划分第一类核和第二类核时,可以按照流标签的种类数量进行划分,尽可能使每个第一类核都对应相同数量的流标签,使每个第二类核都对应相同数量的流标签。在无法同时保证每个第一类核和每个第二类核都对应相同数量的流标签时,可以选择其中一类核中的每个核对应相同数量的流标签。即,使一类核的总数量满足流标签的种类数量为其总数量的整数倍,则另一类核为多核处理器包含的总核数量减去已确定的一类核的总数量。
同时,在确定第一类核的总数量和第二类核的总数量时,还可以遵循指数对应关系,即符合函数关系f(k)=2k,k取0,1,2,3等非零整数。也就是说,第一类核的总数量和第二类核的总数量均可以从1,2,4,8,16,32等中取值。
例如,当流标签的种类数量为64个,多核处理器包含的核的总数量为44个时,可以将第一类核的总数量确定为4,将第二类核的总数量确定为40。每个第一类核均对应64/4=16个流标签;或者,可以将第一类核的总数量确定为8,将第二类核的总数量确定为36,每个第一类核均对应64/8=8个流标签。这种方式中,流标签的种类数量为第一类核的总数量的整数倍,这样能够使得第一类核尽可能负载均衡。又或者,可以将第一类核的总数量确定为12,将第二类核的总数量确定为32,每个第二类核均对应64/32=2个流标签。这种方式中,流标签的种类数量为第二类核的总数量的整数倍,这样能够使得第二类核尽可能负载均衡。
图2为本申请实施例提供的一种应用场景示意图。其中,网络设备为防火墙设备。该网络设备为多核多核处理器设备。内网中的主机(即计算机设备)可以通过网络设备连接互联网。本实施例中,可以预先根据网络设备记录的源设备与目的设备的通信记录,确定通过网络设备通信的源设备与目的设备的组合,根据每一种组合对应一个流标签,得到流标签的种类数量。当网络设备应用本申请实施例的报文处理方法时,可以实现对报文的保序处理。
图3为本申请实施例提供的一种报文保序及处理流程图。该流程应用于多核处理器。其中,报文分析模块接收报文,根据报文的五元组信息计算报文的哈希值,作为报文的特征值。报文分析模块根据计算的报文特征值,以及预设的特征值与报文保序平面核的对应关系,从核0~核3中确定报文对应的目标核,例如目标核为核2。报文分析模块将报文以及特征值发送至核2。核2接收报文分析模块发送的报文以及特征值,根据特征值计算流标签,并根据计算得到的流标签,以及预设的流标签与数据处理平面核的对应关系,确定报文对应的目标核,例如目标核为核23。核2将报文发送至核23。核23接收核2发送的报文,并对报文进行业务处理。在处理完毕后,核23将报文发送出去。
图4为本申请实施例提供的多核处理器的一种结构示意图。该实施例与图1所示方法实施例相对应。该多核处理器包括第一类核401和至少两个第二类核402。多核处理器可以为CPU、DSP或MPU等。第一类核401可以为一个或多个。
第一类核401,获取报文以及报文的流标签,根据报文的流标签,以及预设的流标签与第二类核的对应关系,确定报文的流标签对应的第二类核402,并将报文发送至报文的流标签对应的第二类核402。流标签用于表示所述报文归属的报文流。
第二类核402,接收第一类核401发送的报文,对报文进行处理。
本实施例中的多核处理器可以是网络设备的多核处理器,网络设备可以为路由器或交换机等设备。
在本申请的另一实施例中,多核处理器还可以包括报文分析模块(图中未示出)。
当多核处理器包括至少两个第一类核时,报文分析模块可以接收报文,并根据报文携带的第二特征信息,计算报文的特征值;根据报文的特征值,以及预设的特征值与第一类核的对应关系,确定报文的特征值对应的第一类核,将报文发送至确定的第一类核401;
第一类核401,接收报文分析模块发送的报文。
在本申请的另一实施例中,第一类核401在接收到报文之后,根据报文携带的第一特征信息,计算报文的流标签。
在本申请的另一实施例中,报文分析模块,还在确定报文的特征值对应的第一类核之后,根据报文携带的第一特征信息,计算报文的流标签,并将报文的流标签发送至确定的第一类核;
第一类核401,接收报文分析模块发送的报文的流标签。
在本申请的另一实施例中,第一类核401根据报文携带的五元组信息,计算报文的流标签;或,报文分析模块,根据报文携带的五元组信息,计算报文的流标签;
报文分析模块,根据报文携带的五元组信息,计算报文的哈希值,作为特征值。
在本申请的另一实施例中,第一类核401的总数量按照以下规则确定:流标签的种类数量为第一类核的总数量的整数倍;和/或,第二类核402的总数量按照以下规则确定:流标签的种类数量为第二类核的总数量的整数倍。
由于上述处理器实施例是基于方法实施例得到的,与该方法具有相同的技术效果,因此处理器实施例的技术效果在此不再赘述。对于处理器实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被多核处理器执行时实现本申请实施例提供的报文处理方法。该方法包括:
第一类核,获取报文以及报文的流标签,根据报文的流标签,以及预设的流标签与第二类核的对应关系,确定报文的流标签对应的第二类核,并将报文发送至报文的流标签对应的第二类核。流标签用于表示所述报文归属的报文流。
第二类核,接收第一类核发送的报文,对报文进行处理。
本实施例中,由于流标签能够表示报文归属的报文流,流标签相同的报文属于同一报文流,第一类核可以根据流标签与第二类核的对应关系,将流标签相同的报文发送至同一第二类核。这样,属于同一报文流的报文均由同一第二类核处理,能够实现属于同一报文流的报文按照顺序被处理。因此本申请实施例能够实现对报文的保序处理。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (11)

1.一种报文处理方法,其特征在于,应用于网络设备中的多核处理器,所述多核处理器包括第一类核和至少两个第二类核,所述方法包括:
所述第一类核,获取报文以及所述报文的流标签,根据所述报文的流标签,以及预设的流标签与第二类核的对应关系,确定所述报文的流标签对应的第二类核,并将所述报文发送至所述报文的流标签对应的第二类核;所述流标签用于表示所述报文归属的报文流,所述流标签为根据所述报文的第一特征信息计算得到;
所述第二类核,接收所述第一类核发送的报文,对报文进行处理;
其中,所述第一类核的总数量按照以下规则确定:所述流标签的种类数量为所述第一类核的总数量的整数倍;和/或,所述第二类核的总数量按照以下规则确定:所述流标签的种类数量为所述第二类核的总数量的整数倍;所述第一类核的总数量和所述第二类核的总数量遵循指数对应关系。
2.根据权利要求1所述的方法,其特征在于,所述多核处理器还包括报文分析模块;
当所述多核处理器包括至少两个第一类核时,所述报文分析模块,接收报文,并根据所述报文携带的第二特征信息,计算所述报文的特征值;根据所述报文的特征值,以及预设的特征值与第一类核的对应关系,确定所述报文的特征值对应的第一类核,将所述报文发送至确定的第一类核;
所述第一类核,接收所述报文分析模块发送的报文。
3.根据权利要求2所述的方法,其特征在于,所述第一类核,在接收到所述报文之后,根据所述报文携带的第一特征信息,计算所述报文的流标签。
4.根据权利要求2所述的方法,其特征在于,所述报文分析模块,还在确定所述报文的特征值对应的第一类核之后,根据所述报文携带的第一特征信息,计算所述报文的流标签,并将所述报文的流标签发送至确定的第一类核;
所述第一类核,接收所述报文分析模块发送的所述报文的流标签。
5.根据权利要求3或4所述的方法,其特征在于,所述根据所述报文携带的第一特征信息,计算所述报文的流标签的步骤,包括:
根据所述报文携带的五元组信息,计算所述报文的流标签;
所述根据所述报文携带的第二特征信息,计算所述报文的特征值的步骤,包括:
根据所述报文携带的五元组信息,计算所述报文的哈希值,作为特征值。
6.一种多核处理器,其特征在于,所述多核处理器包括第一类核和至少两个第二类核;
所述第一类核,获取报文以及所述报文的流标签,根据所述报文的流标签,以及预设的流标签与第二类核的对应关系,确定所述报文的流标签对应的第二类核,并将所述报文发送至所述报文的流标签对应的第二类核;所述流标签用于表示所述报文归属的报文流,所述流标签为根据所述报文的第一特征信息计算得到;
所述第二类核,接收所述第一类核发送的报文,对报文进行处理;
其中,所述第一类核的总数量按照以下规则确定:所述流标签的种类数量为所述第一类核的总数量的整数倍;和/或,所述第二类核的总数量按照以下规则确定:所述流标签的种类数量为所述第二类核的总数量的整数倍;所述第一类核的总数量和所述第二类核的总数量遵循指数对应关系。
7.根据权利要求6所述的多核处理器,其特征在于,所述多核处理器还包括报文分析模块;
当所述多核处理器包括至少两个第一类核时,所述报文分析模块,接收报文,并根据所述报文携带的第二特征信息,计算所述报文的特征值;根据所述报文的特征值,以及预设的特征值与第一类核的对应关系,确定所述报文的特征值对应的第一类核,将所述报文发送至确定的第一类核;
所述第一类核,接收所述报文分析模块发送的报文。
8.根据权利要求7所述的多核处理器,其特征在于,所述第一类核,在接收到所述报文之后,根据所述报文携带的第一特征信息,计算所述报文的流标签。
9.根据权利要求7所述的多核处理器,其特征在于,所述报文分析模块,还在确定所述报文的特征值对应的第一类核之后,根据所述报文携带的第一特征信息,计算所述报文的流标签,并将所述报文的流标签发送至确定的第一类核;
所述第一类核,接收所述报文分析模块发送的所述报文的流标签。
10.根据权利要求8或9所述的多核处理器,其特征在于,所述第一类核,根据所述报文携带的五元组信息,计算所述报文的流标签;或,所述报文分析模块,根据所述报文携带的五元组信息,计算所述报文的流标签;
所述报文分析模块,根据所述报文携带的五元组信息,计算所述报文的哈希值,作为特征值。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。
CN201810541501.9A 2018-05-30 2018-05-30 一种报文处理方法及多核处理器 Active CN108718259B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810541501.9A CN108718259B (zh) 2018-05-30 2018-05-30 一种报文处理方法及多核处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810541501.9A CN108718259B (zh) 2018-05-30 2018-05-30 一种报文处理方法及多核处理器

Publications (2)

Publication Number Publication Date
CN108718259A CN108718259A (zh) 2018-10-30
CN108718259B true CN108718259B (zh) 2020-07-03

Family

ID=63912344

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810541501.9A Active CN108718259B (zh) 2018-05-30 2018-05-30 一种报文处理方法及多核处理器

Country Status (1)

Country Link
CN (1) CN108718259B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112383480B (zh) * 2020-10-29 2022-11-04 曙光网络科技有限公司 流表的处理方法、装置、监管设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436989A (zh) * 2008-12-26 2009-05-20 福建星网锐捷网络有限公司 一种转发报文的方法及装置
CN102004673A (zh) * 2010-11-29 2011-04-06 中兴通讯股份有限公司 多核处理器负载均衡的处理方法及系统
CN102801635A (zh) * 2012-08-30 2012-11-28 北京傲天动联技术有限公司 在多核处理器系统中使用的报文保序方法
CN102811169A (zh) * 2012-07-24 2012-12-05 成都卫士通信息产业股份有限公司 采用哈希算法进行多核并行处理的vpn实现方法及系统
CN104618253A (zh) * 2015-01-22 2015-05-13 大唐移动通信设备有限公司 一种动态变更的传输报文处理方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104159299B (zh) * 2013-05-15 2018-06-05 华为终端(东莞)有限公司 一种服务公告消息的传输方法及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436989A (zh) * 2008-12-26 2009-05-20 福建星网锐捷网络有限公司 一种转发报文的方法及装置
CN102004673A (zh) * 2010-11-29 2011-04-06 中兴通讯股份有限公司 多核处理器负载均衡的处理方法及系统
CN102811169A (zh) * 2012-07-24 2012-12-05 成都卫士通信息产业股份有限公司 采用哈希算法进行多核并行处理的vpn实现方法及系统
CN102801635A (zh) * 2012-08-30 2012-11-28 北京傲天动联技术有限公司 在多核处理器系统中使用的报文保序方法
CN104618253A (zh) * 2015-01-22 2015-05-13 大唐移动通信设备有限公司 一种动态变更的传输报文处理方法和装置

Also Published As

Publication number Publication date
CN108718259A (zh) 2018-10-30

Similar Documents

Publication Publication Date Title
US8656406B2 (en) Load balancer and load balancing system
US8913613B2 (en) Method and system for classification and management of inter-blade network traffic in a blade server
US9106610B2 (en) Regional firewall clustering in a networked computing environment
US20150096008A1 (en) Method for providing authoritative application-based routing and an improved application firewall
US9086900B2 (en) Data flow affinity for heterogenous virtual machines
US9501326B2 (en) Processing control system, processing control method, and processing control program
WO2016038857A1 (ja) スケール数推定装置、スケール数管理システム、スケール数推定方法、スケール数管理方法、および、記憶媒体
CN107241280A (zh) 基于信誉的网络流量的动态优先级排序
US11115427B2 (en) Monitoring device, monitoring method, and monitoring program
CN101159673B (zh) 一种随机抽样方法和装置
CN108718259B (zh) 一种报文处理方法及多核处理器
US10554513B2 (en) Technologies for filtering network packets on ingress
KR20180058880A (ko) 오픈스택 기반의 분산 클라우드 데이터센터 환경에서 메시지 큐 부하 분산 및 성능 최적화 방법
US11743236B2 (en) Generating an application-based proxy auto configuration
CN107896196B (zh) 一种分配报文的方法和装置
CN111131068A (zh) 互联网专线数据传输方法及装置
US9912563B2 (en) Traffic engineering of cloud services
US10129147B2 (en) Network-on-chip flit transmission method and apparatus
CN113114588B (zh) 数据处理方法、装置、电子设备和存储介质
CN112491066B (zh) 负载均衡方法、装置、系统、目标负载均衡设备及介质
CN108449252B (zh) 一种访问日志的转储方法及装置
CN113422699A (zh) 数据流处理方法、装置、计算机可读存储介质及电子设备
CN104378214A (zh) 流量计费方法及装置
US11824767B2 (en) Communication system and method of verifying continuity
CN113992760B (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
GR01 Patent grant
GR01 Patent grant