CN112311678A - 报文分发的实现方法及装置 - Google Patents
报文分发的实现方法及装置 Download PDFInfo
- Publication number
- CN112311678A CN112311678A CN202011045750.2A CN202011045750A CN112311678A CN 112311678 A CN112311678 A CN 112311678A CN 202011045750 A CN202011045750 A CN 202011045750A CN 112311678 A CN112311678 A CN 112311678A
- Authority
- CN
- China
- Prior art keywords
- forwarding
- core
- forwarding core
- mapping table
- identifier
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000013507 mapping Methods 0.000 claims abstract description 117
- 238000012545 processing Methods 0.000 claims abstract description 24
- 230000032683 aging Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种报文分发的实现方法及装置,所述方法应用于网络设备包括的分发核,所述网络设备还包括多个转发核以及用于转发业务报文的出接口,所述方法包括:当所述出接口为拥塞状态时,从转发队列中获取待转发的第一业务报文,并从用户域中获取将所述第一业务报文放入所述转发队列的第一转发核的第一标识;根据所述第一转发核的第一标识,查找转发核映射表;如果所述转发核映射表中未存在与所述第一标识对应的转发核映射表项,则确定除所述第一转发核之外的其他多个转发核的空闲状态;根据所述其他多个转发核的空闲状态,选择第二转发核;向所述第二转发核转发所述第一业务报文,以使得所述第二转发核对所述第一业务报文进行转发处理。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种报文分发的实现方法及装置。
背景技术
QoS技术即服务质量(英文:Quality of Service,简称:QoS)技术。对于网络业务来说,影响服务质量的因素包括传输的带宽、传送的时延、数据的丢包率等。通过保证传输的带宽、降低传送的时延、降低数据的丢包率以及时延抖动等措施提高服务质量。但是,网络资源总是有限的,在保证某类业务的服务质量的同时,可能就是在损害其它业务的服务质量。因此,网络管理者需根据各种业务的特点来对网络资源进行合理的规划和分配,从而使网络资源得到高效利用。
目前,QoS技术包括流分类、流量监管、流量整形、限速、拥塞管理、拥塞避免等方面。其中,对于拥塞管理,通常采用队列技术实现。即,使用队列算法对业务报文进行分类,然后,通过某种优先级别算法转发业务报文。具体的处理过程包括队列的创建、业务报文的分类、将业务报文送入不同的队列中、队列调度等。如图1所示,图1为业务报文通过FIFO队列转发示意图。
在图1中,当采用多个转发核转发业务报文时,多个转发核同时从队列中出业务报文,会出现同一业务流的业务报文通过不同的转发核转发出去的情况发生,进一步,可能导致同一业务流的后续业务报文由空闲的转发核先转发出去,继而导致业务报文的乱序。
如图2所示,图2为多个转发核转发业务报文示意图。在图2中,转发核1入队两个业务报文,即业务报文1、业务报文2。转发核3中已存在一个待转发的业务报文,即业务报文3。此时,转发核3出队业务报文1,转发核4出队业务报文2。由于转发核4当前没有待转发的业务报文,则转发核4转发业务报文2,而转发核3先将业务报文3转发,然后再转发业务报文1。如此,出现了业务报文的乱序。
但是,当采用单个转发核转发业务报文时,由于当前仅有1个转发核,网络设备的转发性能又会被影响。如图3所示,图3为单个转发核转发业务报文示意图。在图3中,转发核1入队两个业务报文,即业务报文1、业务报文2。转发核3中已存在一个待转发的业务报文,即业务报文3。此时,转发核3出队业务报文1、业务报文2。转发核3先将业务报文3转发,然后再转发业务报文1、业务报文2,而转发核4一直处于空闲。如此,设备转发性能受到影响,一旦出现拥塞,多个转发核无法发挥作用。
发明内容
有鉴于此,本申请提供了一种报文分发的实现方法及装置,用以解决现有技术中QoS队列出队的业务报文乱序的问题,并充分利用网络设备中的转发核转发业务报文。
第一方面,本申请提供了一种报文分发的实现方法,所述方法应用于网络设备包括的分发核,所述网络设备还包括多个转发核以及用于转发业务报文的出接口,所述方法包括:
当所述接口为拥塞状态时,从转发队列中获取待转发的第一业务报文,并从用户域中获取将所述第一业务报文放入所述转发队列的第一转发核的第一标识;
根据所述第一转发核的第一标识,查找转发核映射表;
如果所述转发核映射表中未存在与所述第一标识对应的转发核映射表项,则确定除所述第一转发核之外的其他多个转发核的空闲状态;
根据所述其他多个转发核的空闲状态,选择第二转发核;
向所述第二转发核转发所述第一业务报文,以使得所述第二转发核对所述第一业务报文进行转发处理。
第二方面,本申请提供了一种报文分发的实现装置,所述装置应用于网络设备包括的分发核,所述网络设备还包括多个转发核以及用于转发业务报文的出接口,所述装置包括:
获取单元,用于当所述接口为拥塞状态时,从转发队列中获取待转发的第一业务报文,并从用户域中获取将所述第一业务报文放入所述转发队列的第一转发核的第一标识;
查找单元,用于根据所述第一转发核的第一标识,查找转发核映射表;
确定单元,用于如果所述转发核映射表中未存在与所述第一标识对应的转发核映射表项,则确定除所述第一转发核之外的其他多个转发核的空闲状态;
选择单元,用于根据所述其他多个转发核的空闲状态,选择第二转发核;
发送单元,用于向所述第二转发核转发所述第一业务报文,以使得所述第二转发核对所述第一业务报文进行转发处理。
第三方面,本申请提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本申请第一方面所提供的方法。
因此,通过应用本申请提供的报文分发的实现方法及装置,当网络设备包括的出接口为拥塞状态时,分发核从转发队列中获取待转发的第一业务报文,并从用户域中获取将第一业务报文放入转发队列的第一转发核的第一标识;根据第一转发核的第一标识,分发核查找转发核映射表。如果转发核映射表中未存在与第一标识对应的转发核映射表项,则分发核确定除第一转发核之外的其他多个转发核的空闲状态。根据其他多个转发核的空闲状态,分发核选择第二转发核。分发核向第二转发核转发第一业务报文,以使得第二转发核对第一业务报文进行转发处理。
分发核按序从转发队列中获取待转发的业务报文,在未存在转发核映射表时,根据多个转发核的空闲状态,选择转发该业务报文的转发核。如此,解决了现有技术中QoS队列出队的业务报文乱序的问题,并充分利用网络设备中的转发核转发业务报文。
附图说明
图1为业务报文通过FIFO队列转发示意图;
图2为多个转发核转发业务报文示意图;
图3为单个转发核转发业务报文示意图;
图4为本申请实施例提供的报文分发的实现方法的流程图;
图5为本申请实施例提供的多个转发核转发业务报文示意图;
图6为本申请实施例提供的一种报文分发的实现装置结构图;
图7为本申请实施例提供的一种网络设备硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本申请相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面对本申请实施例提供的报文分发的实现方法进行详细地说明。参见图4,图4为本申请实施例提供的报文分发的实现方法的流程图。该方法应用于网络设备包括的分发核,本申请实施例提供的报文分发的实现方法可包括如下所示步骤。
步骤410、当所述出接口为拥塞状态时,从转发队列中获取待转发的第一业务报文,并从用户域中获取将所述第一业务报文放入所述转发队列的第一转发核的第一标识。
具体地,网络设备包括多个转发核,每个转发核均可用于实现对业务报文的转发处理。每个转发核在转发业务报文的过程中,根据业务报文包括的目的IP地址查找转发表,从转发表中获取出接口。每个转发核将待转发的业务报文放入出接口对应的发送队列中。根据发送队列中业务报文的发送结果,确定出接口的状态。若业务报文发送失败,则转发核确定出接口的状态为拥塞状态,在出接口的状态为拥塞状态时,转发核将待转发的业务报文放入转发队列中;若业务报文发送成功,则转发核确定当前接口的状态为非拥塞状态。
在本申请实施例中,当出接口为拥塞状态时,网络设备从多个转发核中选择一转发核作为分发核,该分发核用于从转发队列中获取待发送的业务报文,并为该待发送的业务报文选择一转发核进行转发。其中,出接口为网络设备包括的任一接口。
分发核从转发队列中获取待转发的第一业务报文,并从用户域中获取将第一业务报文放入转发队列的第一转发核的第一标识。
可以理解的是,网络设备通过入接口接收到一业务报文后,在内存中为该业务报文划分出两段内存。两段内存可称之为用户域与数据域。其中,数据域用于存储原始的业务报文,用户域用于存储网络设备对业务报文进行处理的各种过程信息,例如,入接口、接收时间、处理业务报文的转发核的标识、业务报文包括的各个字段信息、对业务报文进行转发时的封装信息、出接口、发送时间等等。
步骤420、根据所述第一转发核的第一标识,查找转发核映射表。
具体地,分发核从用户域获取到将第一业务报文放入转发队列的第一转发核的第一标识后,根据第一标识,分发核查找转发核映射表。
在本申请实施例中,转发核映射表用于存储入队转发核与出队转发核之间的映射关系。即,将业务报文放入转发队列的转发核与对业务报文执行转发动作的转发核之间的映射关系。
步骤430、如果所述转发核映射表中未存在与所述第一标识对应的转发核映射表项,则确定除所述第一转发核之外的其他多个转发核的空闲状态。
具体地,分发核查找转发核映射表中是否存在与第一标识对应的转发核映射表项。若分发核在转发核映射表中未查找到与第一标识对应的转发核映射表项,则分发核确定除第一转发核之外的其他多个转发核的空闲状态。
进一步地,若分发核在转发核映射表中查找到与第一标识对应的转发核映射表项,则向转发核映射表项包括的第三标识对应的第三转发核转发第一业务报文。第三转发核接收到第一业务报文后,对该第一业务报文进行转发处理。
更进一步地,第三转发核根据第一业务报文包括的目的IP地址,查找转发表。第三转发核从转发表中获取出接口以及下一跳的IP地址。第三转发核将第一业务报文放入出接口对应的发送队列中,并由发送队列按序发送第一业务报文。
步骤440、根据所述其他多个转发核的空闲状态,选择第二转发核。
具体地,分发核查看多个转发核中每个转发核所关联的发送队列。分发核比较每个转发核所关联的发送队列的长度值,并根据发送队列的长度值,确定该发送队列所关联的转发核的状态。
在本申请实施例中,发送队列的长度值,也即是该发送队列存储的待发送的业务报文的个数值。
例如,如果发送队列为空,即发送队列的长度值为0,发送队列中未存储待发送的业务报文,则分发核确定该发送队列关联的转发核为空闲状态;如果发送队列已存储多个待转发的业务报文,且发送队列的长度值已达到该发送队列的缓存上线,也即是该发送队列已存满待发送的业务报文,则分发核确定该发送队列所关联的转发核为非空闲状态,且该转发核为忙碌状态。
可以理解的是,分发核根据发送队列的长度值确定该发送队列所关联的转发核是否为空闲状态。也即是,发送队列的长度值越小,则该发送队列所关联的转发核越空闲。
分发核根据每个转发核的状态,从多个转发核中,选择空闲状态的转发核作为第二转发核。当然,分发核可选择长度值最小的发送队列所关联的转发核作为第二转发核。
步骤450、向所述第二转发核转发所述第一业务报文,以使得所述第二转发核对所述第一业务报文进行转发处理。
具体地,根据步骤440的描述,分发核从多个转发核中,选择出第二转发核后,向该第二转发核转发第一业务报文。第二转发核接收到该第一业务报文后,对该第一业务报文进行转发处理。
第二转发核根据第一业务报文包括的目的IP地址,查找转发表。第二转发核从转发表中获取出接口以及下一跳的IP地址。第二转发核将第一业务报文放入出接口对应的发送队列中,并由发送队列按序发送第一业务报文。
因此,通过应用本申请提供的报文分发的实现方法,当网络设备包括的出接口为拥塞状态时,分发核从转发队列中获取待转发的第一业务报文,并从用户域中获取将第一业务报文放入转发队列的第一转发核的第一标识;根据第一转发核的第一标识,分发核查找转发核映射表。如果转发核映射表中未存在与第一标识对应的转发核映射表项,则分发核确定除第一转发核之外的其他多个转发核的空闲状态。根据其他多个转发核的空闲状态,分发核选择第二转发核。分发核向第二转发核转发第一业务报文,以使得第二转发核对第一业务报文进行转发处理。
分发核按序从转发队列中获取待转发的业务报文,在未存在转发核映射表时,根据多个转发核的空闲状态,选择转发该业务报文的转发核。如此,解决了现有技术中QoS队列出队的业务报文乱序的问题,并充分利用网络设备中的转发核转发业务报文。
可选地,在本申请实施例中,分发核向第二转发核转发第一业务报文后,分发核创建入队转发核与出队转发核之间的映射关系,并将该映射关系存储至转发核映射表中。
具体地,分发核建立第一标识与第二转发核的第二标识之间的映射关系,并将该映射关系存储至转发核映射表包括的转发核映射表项中。
可以理解的是,分发核可将该映射关系存储至一转发核映射表项中。
可选地,在本申请实施例中,还包括分发核对转发队列中其他待转发的业务报文进行转发的过程。
具体地,转发队列中还包括待转发的第二业务报文。分发核从转发队列中获取第二业务报文。在本申请实施例中,第二业务报文与第一业务报文属于同一业务流。
分发核从用户域中获取将第二业务报文放入转发队列的第四转发核的第四标识,由于第二业务报文与第一业务报文属于同一业务流,因此,第四标识与第一标识相同。也即是,将第二业务报文放入转发队列的转发核也为第一转发核。分发核从用户域中获取的第四标识也即是第一转发核的第一标识。
分发核根据第四标识,查找转发核映射表。由于前述实施例中,已建立了第一转发核的第一标识与第二转发核的第二标识之间的映射关系。因此,分发核根据第四标识再次查找转发核映射表时,分发核获取与第一标识对应的第二标识。分发核再次向第二标识对应的第二转发核转发第二业务报文。
第二转发核接收到该第二业务报文后,对该第二业务报文进行转发处理。
第二转发核根据第一业务报文包括的目的IP地址,查找转发表。第二转发核从转发表中获取出接口以及下一跳的IP地址。第二转发核将第一业务报文放入出接口对应的发送队列中,并由发送队列按序发送第一业务报文。可选地,在本申请实施例中,还包括分发核删除转发核映射表中存储的映射关系的步骤。
具体地,当出接口为非拥塞状态时,分发核确定通过该出接口转发业务报文的转发核。分发核获取该转发核的标识,并根据该标识查找转发核映射表。分发核删除与该转发核的标识对应的转发核映射表项。
或者,当转发核映射表中存储的转发核映射表项到达老化时间时,分发核删除该转发核映射表项。
下面通过具体示例对本申请实施例提供的报文分发的实现方法进行详细说明。如图5所示,图5为本申请实施例提供的多个转发核转发业务报文示意图。
在图5中,网络设备包括5个转发核,分别是:转发核1、转发核2、转发核3、转发核4以及转发核5。当出接口为拥塞状态时,网络设备将转发核5设置为分发核。
转发核1将两个待转发的业务报文(业务报文1、业务报文2)放入转发队列中。转发核5从转发队列中获取待转发的业务报文1,并从用户域中获取将业务报文1放入转发队列的转发核1的第一标识。
转发核5从用户域获取到将业务报文1放入转发队列的转发核1的第一标识ID1后,根据ID1,转发核5查找转发核映射表。转发核5查找转发核映射表中是否存在与第一标识对应的转发核映射表项。
由于业务报文1为业务流的首报文,因此,在转发核映射表中未存在与第一标识对应的转发核映射表项。此时,转发核5确定除转发核1之外的其他多个转发核的空闲状态。
转发核5查看多个转发核中每个转发核(转发核2、转发核3、转发核4)所关联的发送队列。转发核5比较每个转发核所关联的发送队列的长度值,并根据发送队列的长度值,确定该发送队列所关联的转发核的状态。
在本申请实施例中,发送队列的长度值,也即是该发送队列存储的待发送的业务报文的个数值。
例如,如果发送队列为空,即发送队列的长度值为0,发送队列中未存储待发送的业务报文,则转发核5确定该发送队列关联的转发核为空闲状态;如果发送队列已存储多个待转发的业务报文,且发送队列的长度值已达到该发送队列的缓存上线,也即是该发送队列已存满待发送的业务报文,则转发核5确定该发送队列所关联的转发核为非空闲状态,且该转发核为忙碌状态。
可以理解的是,分发核根据发送队列的长度值确定该发送队列所关联的转发核是否为空闲状态。也即是,发送队列的长度值越小,则该发送队列所关联的转发核越空闲。
转发核5根据每个转发核的状态,从多个转发核中,选择空闲状态的转发核作为业务报文1的转发核。例如,转发核5选择转发核4作为业务报文1的转发核。
转发核5向转发核4转发业务报文1。转发核4接收到业务报文1后,对业务报文1进行转发处理。
转发核4根据业务报文1包括的目的IP地址,查找转发表。转发核4从转发表中获取出接口以及下一跳的IP地址。转发核4将业务报文1放入出接口对应的发送队列中,并由发送队列按序发送业务报文1。
同时,转发核5获取转发核1的ID1、转发核4的ID4。转发核5建立ID1与ID4之间的映射关系,并将该映射关系存储至转发核映射表中。
转发核5将业务报文1转发至转发核4后,转发核5从转发队列中获取业务报文2。在本申请实施例中,业务报文2与业务报文1属于同一业务流。
转发核5从用户域中获取将业务报文2放入转发队列的转发核的标识,由于业务报文2与业务报文1属于同一业务流,因此,将业务报文2放入转发队列的转发核也为转发核1。转发核5从用户域中获取转发核1的ID1。
转发核5根据ID1,查找转发核映射表。在前述中,转发核5已建立了转发核1的ID1与转发核4的ID4之间的映射关系。因此,转发核5根据ID1再次查找转发核映射表时,转发核5可直接获取与ID1对应的ID4。转发核5再次向ID4对应的转发核4转发业务报文2。
转发核4接收到业务报文2后,对业务报文2进行转发处理。
转发核4根据业务报文2包括的目的IP地址,查找转发表。转发核4从转发表中获取出接口以及下一跳的IP地址。转发核4将业务报文2放入出接口对应的发送队列中,并由发送队列按序发送业务报文2。
可以理解的是,若转发核5在转发核映射表中首次查找到与ID1对应的ID4,则说明该业务报文1为业务流的非首个业务报文。转发核5在先已处理过同一业务流的其他业务报文。此时,转发核5可直接向ID4对应的转发核4转发业务报文1。转发核4接收到业务报文1后,对业务报文1进行转发处理。
基于同一发明构思,本申请实施例还提供了与上述报文分发的实现方法对应的报文分发的实现装置。参见图6,图6为本申请实施例提供的报文分发的实现装置结构图,所述装置应用于网络设备包括的分发核,所述网络设备还包括多个转发核以及用于转发业务报文的出接口,所述装置包括:
获取单元610,用于当所述出接口为拥塞状态时,从转发队列中获取待转发的第一业务报文,并从用户域中获取将所述第一业务报文放入所述转发队列的第一转发核的第一标识;
查找单元620,用于根据所述第一转发核的第一标识,查找转发核映射表;
确定单元630,用于如果所述转发核映射表中未存在与所述第一标识对应的转发核映射表项,则确定除所述第一转发核之外的其他多个转发核的空闲状态;
选择单元640,用于根据所述其他多个转发核的空闲状态,选择第二转发核;
发送单元650,用于向所述第二转发核转发所述第一业务报文,以使得所述第二转发核对所述第一业务报文进行转发处理。
可选地,所述发送单元650还用于,如果所述转发核映射表中存在与所述第一标识对应的转发核映射表项,则向所述转发核映射表项包括的第三标识对应的第三转发核转发所述第一业务报文,以使得所述第三转发核对所述第一业务报文进行转发处理。
可选地,所述装置还包括:建立单元(图中未示出),用于建立所述第一标识与所述第二转发核的第二标识之间的映射关系;
存储单元(图中未示出),用于将所述映射关系存储至所述转发核映射表包括的转发核映射表项中。
可选地,所述获取单元610还用于,从所述转发队列中获取待转发的第二业务报文,所述第二业务报文与所述第一业务报文属于同一业务流;
从所述用户域中获取将所述第二业务报文放入所述转发队列的第四转发核的第四标识;
所述查找单元620还用于,当所述第四标识与所述第一标识相同时,根据所述第四标识,查找所述转发核映射表;
所述发送单元650还用于,如果所述转发核映射表中存在与所述第四标识对应的转发核映射表项,则向所述转发核映射表项包括的第二标识对应的所述第二转发核转发所述第二业务报文,以使得所述第二转发核对所述第二业务报文进行转发处理。
可选地,所述装置还包括:删除单元(图中未示出),用于当所述出接口为非拥塞状态时,删除所述转发核映射表项;
或者,
所述删除单元(图中未示出)还用于,当所述转发核映射表项到达老化时间时,删除所述转发核映射表项。
因此,通过应用本申请提供的报文分发的实现装置,当网络设备包括的出接口为拥塞状态时,该装置从转发队列中获取待转发的第一业务报文,并从用户域中获取将第一业务报文放入转发队列的第一转发核的第一标识;根据第一转发核的第一标识,该装置查找转发核映射表。如果转发核映射表中未存在与第一标识对应的转发核映射表项,则该装置确定除第一转发核之外的其他多个转发核的空闲状态。根据其他多个转发核的空闲状态,该装置选择第二转发核。该装置向第二转发核转发第一业务报文,以使得第二转发核对第一业务报文进行转发处理。
该装置按序从转发队列中获取待转发的业务报文,在未存在转发核映射表时,根据多个转发核的空闲状态,选择转发该业务报文的转发核。如此,解决了现有技术中QoS队列出队的业务报文乱序的问题,并充分利用网络设备中的转发核转发业务报文。
基于同一发明构思,本申请实施例还提供了一种网络设备,如图7所示,包括处理器710、收发器720和机器可读存储介质730,机器可读存储介质730存储有能够被处理器710执行的机器可执行指令,处理器710被机器可执行指令促使执行本申请实施例所提供的报文分发的实现方法。前述图6所示的报文分发的实现装置,可采用如图7所示的网络设备硬件结构实现。
上述计算机可读存储介质730可以包括随机存取存储器(英文:Random AccessMemory,简称:RAM),也可以包括非易失性存储器(英文:Non-volatile Memory,简称:NVM),例如至少一个磁盘存储器。可选的,计算机可读存储介质730还可以是至少一个位于远离前述处理器710的存储装置。
上述处理器710可以是通用处理器,包括中央处理器(英文:Central ProcessingUnit,简称:CPU)、网络处理器(英文:Network Processor,简称:NP)等;还可以是数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例中,处理器710通过读取机器可读存储介质730中存储的机器可执行指令,被机器可执行指令促使能够实现处理器710自身以及调用收发器720执行前述本申请实施例描述的报文分发的实现方法。
另外,本申请实施例提供了一种机器可读存储介质730,机器可读存储介质730存储有机器可执行指令,在被处理器710调用和执行时,机器可执行指令促使处理器710自身以及调用收发器720执行前述本申请实施例描述的报文分发的实现方法。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
对于报文分发的实现装置以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种报文分发的实现方法,其特征在于,所述方法应用于网络设备包括的分发核,所述网络设备还包括多个转发核以及用于转发业务报文的出接口,所述方法包括:
当所述出接口为拥塞状态时,从转发队列中获取待转发的第一业务报文,并从用户域中获取将所述第一业务报文放入所述转发队列的第一转发核的第一标识;
根据所述第一转发核的第一标识,查找转发核映射表;
如果所述转发核映射表中未存在与所述第一标识对应的转发核映射表项,则确定除所述第一转发核之外的其他多个转发核的空闲状态;
根据所述其他多个转发核的空闲状态,选择第二转发核;
向所述第二转发核转发所述第一业务报文,以使得所述第二转发核对所述第一业务报文进行转发处理。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述转发核映射表中存在与所述第一标识对应的转发核映射表项,则向所述转发核映射表项包括的第三标识对应的第三转发核转发所述第一业务报文,以使得所述第三转发核对所述第一业务报文进行转发处理。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
建立所述第一标识与所述第二转发核的第二标识之间的映射关系;
将所述映射关系存储至所述转发核映射表包括的转发核映射表项中。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
从所述转发队列中获取待转发的第二业务报文,所述第二业务报文与所述第一业务报文属于同一业务流;
从所述用户域中获取将所述第二业务报文放入所述转发队列的第四转发核的第四标识;
当所述第四标识与所述第一标识相同时,根据所述第四标识,查找所述转发核映射表;
如果所述转发核映射表中存在与所述第四标识对应的转发核映射表项,则向所述转发核映射表项包括的第二标识对应的所述第二转发核转发所述第二业务报文,以使得所述第二转发核对所述第二业务报文进行转发处理。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述出接口为非拥塞状态时,删除所述转发核映射表项;
或者,
当所述转发核映射表项到达老化时间时,删除所述转发核映射表项。
6.一种报文分发的实现装置,其特征在于,所述装置应用于网络设备包括的分发核,所述网络设备还包括多个转发核以及用于转发业务报文的出接口,所述装置包括:
获取单元,用于当所述出接口为拥塞状态时,从转发队列中获取待转发的第一业务报文,并从用户域中获取将所述第一业务报文放入所述转发队列的第一转发核的第一标识;
查找单元,用于根据所述第一转发核的第一标识,查找转发核映射表;
确定单元,用于如果所述转发核映射表中未存在与所述第一标识对应的转发核映射表项,则确定除所述第一转发核之外的其他多个转发核的空闲状态;
选择单元,用于根据所述其他多个转发核的空闲状态,选择第二转发核;
发送单元,用于向所述第二转发核转发所述第一业务报文,以使得所述第二转发核对所述第一业务报文进行转发处理。
7.根据权利要求6所述的装置,其特征在于,所述发送单元还用于,
如果所述转发核映射表中存在与所述第一标识对应的转发核映射表项,则向所述转发核映射表项包括的第三标识对应的第三转发核转发所述第一业务报文,以使得所述第三转发核对所述第一业务报文进行转发处理。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
建立单元,用于建立所述第一标识与所述第二转发核的第二标识之间的映射关系;
存储单元,用于将所述映射关系存储至所述转发核映射表包括的转发核映射表项中。
9.根据权利要求8所述的装置,其特征在于,所述获取单元还用于,
从所述转发队列中获取待转发的第二业务报文,所述第二业务报文与所述第一业务报文属于同一业务流;
从所述用户域中获取将所述第二业务报文放入所述转发队列的第四转发核的第四标识;
所述查找单元还用于,当所述第四标识与所述第一标识相同时,根据所述第四标识,查找所述转发核映射表;
所述发送单元还用于,如果所述转发核映射表中存在与所述第四标识对应的转发核映射表项,则向所述转发核映射表项包括的第二标识对应的所述第二转发核转发所述第二业务报文,以使得所述第二转发核对所述第二业务报文进行转发处理。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
删除单元,用于当所述出接口为非拥塞状态时,删除所述转发核映射表项;
或者,
所述删除单元还用于,当所述转发核映射表项到达老化时间时,删除所述转发核映射表项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011045750.2A CN112311678B (zh) | 2020-09-29 | 2020-09-29 | 报文分发的实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011045750.2A CN112311678B (zh) | 2020-09-29 | 2020-09-29 | 报文分发的实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112311678A true CN112311678A (zh) | 2021-02-02 |
CN112311678B CN112311678B (zh) | 2022-05-27 |
Family
ID=74489335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011045750.2A Active CN112311678B (zh) | 2020-09-29 | 2020-09-29 | 报文分发的实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112311678B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115580584A (zh) * | 2022-09-27 | 2023-01-06 | 新华三信息安全技术有限公司 | 一种报文处理方法以及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120210018A1 (en) * | 2011-02-11 | 2012-08-16 | Rikard Mendel | System And Method for Lock-Less Multi-Core IP Forwarding |
CN103226496A (zh) * | 2013-03-15 | 2013-07-31 | 杭州华三通信技术有限公司 | 业务同步处理方法和多核设备 |
CN106302185A (zh) * | 2015-05-25 | 2017-01-04 | 中兴通讯股份有限公司 | 一种业务报文转发方法、装置及通信系统 |
CN106936739A (zh) * | 2015-12-30 | 2017-07-07 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN109714269A (zh) * | 2018-12-19 | 2019-05-03 | 迈普通信技术股份有限公司 | 一种数据处理方法及网络设备 |
CN111049750A (zh) * | 2019-12-05 | 2020-04-21 | 东软集团股份有限公司 | 一种报文转发方法、系统及设备 |
-
2020
- 2020-09-29 CN CN202011045750.2A patent/CN112311678B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120210018A1 (en) * | 2011-02-11 | 2012-08-16 | Rikard Mendel | System And Method for Lock-Less Multi-Core IP Forwarding |
CN103226496A (zh) * | 2013-03-15 | 2013-07-31 | 杭州华三通信技术有限公司 | 业务同步处理方法和多核设备 |
CN106302185A (zh) * | 2015-05-25 | 2017-01-04 | 中兴通讯股份有限公司 | 一种业务报文转发方法、装置及通信系统 |
CN106936739A (zh) * | 2015-12-30 | 2017-07-07 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN109714269A (zh) * | 2018-12-19 | 2019-05-03 | 迈普通信技术股份有限公司 | 一种数据处理方法及网络设备 |
CN111049750A (zh) * | 2019-12-05 | 2020-04-21 | 东软集团股份有限公司 | 一种报文转发方法、系统及设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115580584A (zh) * | 2022-09-27 | 2023-01-06 | 新华三信息安全技术有限公司 | 一种报文处理方法以及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112311678B (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10243865B2 (en) | Combined hardware/software forwarding mechanism and method | |
US9185047B2 (en) | Hierarchical profiled scheduling and shaping | |
US8064344B2 (en) | Flow-based queuing of network traffic | |
US8149708B2 (en) | Dynamically switching streams of packets among dedicated and shared queues | |
EP3588880B1 (en) | Method, device, and computer program for predicting packet lifetime in a computing device | |
CN112953854B (zh) | 用于交换网络流量的设备和方法 | |
US8144588B1 (en) | Scalable resource management in distributed environment | |
CN112585914A (zh) | 报文转发方法、装置以及电子设备 | |
CN112311685A (zh) | 一种处理网络拥塞的方法以及相关装置 | |
CN111404839B (zh) | 报文处理方法和装置 | |
US10382582B1 (en) | Hierarchical network traffic scheduling using dynamic node weighting | |
CN102404206A (zh) | 入队处理方法及设备 | |
US10320686B2 (en) | Load balancing eligible packets in response to a policing drop decision | |
CN112311678B (zh) | 报文分发的实现方法及装置 | |
CN117793583A (zh) | 报文转发方法、装置、电子设备及计算机可读存储介质 | |
CN111464453A (zh) | 一种报文转发方法及装置 | |
Hu et al. | Dynamic queuing sharing mechanism for per-flow quality of service control | |
CN113765796B (zh) | 流量转发控制方法及装置 | |
CN111756557B (zh) | 一种数据传输方法及装置 | |
CN111277513B (zh) | 一种pq队列扩容实现方法、装置、设备及存储介质 | |
CN111953598B (zh) | 一种分布式流量转发方法、装置及系统 | |
CN110300069B (zh) | 数据传输方法、优化装置及系统 | |
CN114221916A (zh) | 一种交换芯片的转发队列冲刷方法及系统 | |
JPH11146013A (ja) | パケットバッファ装置及びパケット廃棄制御方法 |
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 |