报文转发方法、装置、网络设备及存储介质制造方法及图纸

技术编号:24466489 阅读:19 留言:0更新日期:2020-06-10 18:45
本申请公开了一种报文转发方法、装置、网络设备及存储介质,应用于具有多核处理器CPU的网络设备,所述方法包括:接收业务报文;判断所述多核CPU中是否存在第一内核繁忙且第二内核空闲的情况,其中,所述第一内核与第二内核为所述多核CPU中不同的内核;若存在,则在确定所述业务报文不属于预设业务时,使用逐包转发的方式转发所述业务报文。本申请根据各内核的繁忙或空闲的信息,智能地选择报文转发方式的方案,使得网络设备在流量大小不同的时间段和/或不同应用场景下自动切换报文的转发方式,并且能够保证预设业务的最佳转发方式,从而保证更加智能、高效地进行负载分担,进而能够保证网络数据的完整性和安全性。

Message forwarding method, device, network equipment and storage medium

【技术实现步骤摘要】
报文转发方法、装置、网络设备及存储介质
本申请涉及通信
,尤其涉及一种报文转发方法、装置、网络设备及存储介质。
技术介绍
随着网络的快速发展,对网络设备的性能要求越来越高,传统的网络设备也从早期的单核CPU发展到多核CPU,即一台网络设备具有多个CPU内核协同工作,大大提升了具有单台网络设备的网络性能。目前,网络设备的多核CPU基本上会拥有8个、16个、32个、48个、甚至更多数量的内核。目前,具有多核CPU的网络设备使用两种方式将接收的业务报文转发到CPU内核上处理:逐流转发和逐包转发。逐流转发是指,用五元组(源IP地址、源端口号、目的IP地址、目的端口号、协议号)或三元组(源IP地址、目的IP地址、协议号)来区分和划定一条业务流,属于同一条业务流的业务报文会被转发到同一个或多个CPU内核上进行业务处理。逐包转发是指,将业务报文依次发送到不同的CPU内核进行处理,使用逐包转发方式转发业务报文时属于同一条业务流的不同报文可能会被转发到不同的CPU内核上进行业务处理。当网络设备选择使用逐流转发方式转发报文时,若某一条业务流的业务报文激增时,则可能会导致网络设备某些CPU内核繁忙丢包,而其他CPU内核空闲。当网络设备选择使用逐包转发方式转发报文时,由于某些业务不支持逐包转发方式,则会出现丢包,业务中断的现象。
技术实现思路
为避免上述问题,本申请提供了一种报文转发方法、装置、网络设备及存储介质。第一方面,本申请提供了一种报文转发方法,该方法应用于具有多核处理器CPU的网络设备,所述方法包括:接收业务报文;判断所述多核CPU中是否存在第一内核繁忙且第二内核空闲的情况,其中,所述第一内核与第二内核为所述多核CPU中不同的内核;若存在,则在确定所述业务报文不属于预设业务时,使用逐包转发的方式转发所述业务报文。可选的,所述报文转发方法还包括:当判定所述业务报文满足以下至少一条件时,确定所述业务报文属于预设业务,所述条件包括:所述业务报文的应用特征对应的业务为具有时序性的业务、所述业务报文的报文特征成功匹配预设特征库的特征。可选的,所述报文转发方法还包括:若所述多核CPU中不存在第一内核丢包且第二内核空闲的情况,则确定使用逐流转发的方式转发所述业务报文。可选的,所述报文转发方法还包括:若所述业务报文属于预设业务,则确定使用逐流转发的方式转发所述业务报文。可选的,所述判断所述多核CPU中是否存在第一内核繁忙且第二内核空闲的情况,包括:检测所述多核CPU中各个内核的利用率;判断所述多核CPU中第一内核的利用率是否大于第一阈值、且第二内核的利用率是否小于第二阈值的第二内核,或判断所述多核CPU中任意两个内核的利用率差值绝对值是否大于第三阈值;若是,则判定所述多核CPU中存在第一内核繁忙且第二内核空闲的情况。第二方面,本申请还公开了一种报文转发装置,应用于具有多核处理器CPU的网络设备,所述装置包括:接收单元,用于接收业务报文;控制单元,用于判断所述多核CPU中是否存在第一内核繁忙且第二内核空闲的情况,其中,所述第一内核与第二内核为所述多核CPU中不同的内核;若存在,则在确定所述业务报文不属于预设业务时,使用逐包转发的方式转发所述业务报文。可选的,所述控制单元,具体用于:当判定所述业务报文满足以下至少一条件时,确定所述业务报文属于预设业务,所述条件包括:所述业务报文的应用特征对应的业务为具有时序性的业务、所述业务报文的报文特征成功匹配预设特征库的特征。可选的,所述控制单元,还用于装置还包括:若所述多核CPU中不存在第一内核丢包且第二内核空闲的情况,则确定使用逐流转发的方式转发所述业务报文。可选的,控制单元,具体用于:若所述报文所述业务报文属于预设业务,则确定使用逐流转发的方式转发所述业务报文。可选的,所述控制单元,具体用于:检测所述多核CPU中各个内核的利用率;判断所述多核CPU中第一内核的利用率是否大于第一阈值、且第二内核的利用率是否小于第二阈值的第二内核,或判断所述多核CPU中任意两个内核的利用率差值绝对值是否大于第三阈值;若是,则判定所述多核CPU中存在第一内核繁忙且第二内核空闲的情况。第三方面,本申请还公开了一种网络设备,所述网络设备包括多核处理器CPU和机器可读存储介质,所述机器可读存储介质存储有能够被所述多核CPU执行的机器可执行指令,所述多核CPU被所述机器可执行指令促使:实现第一方面任一所述的报文转发方法的步骤。第四方面,一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的报文转发方法的步骤。与现有技术相比,本申请实施例提供了一种网络设备能够基于自身CPU内核的利用率,根据各内核的繁忙或空闲的信息,智能地选择报文转发方式的方案,使得网络设备在流量大小不同的时间段和/或不同应用场景下自动切换报文的转发方式,并且能够保证预设业务的最佳转发方式,从而保证更加智能、高效地进行负载分担,进而能够保证网络数据的完整性和安全性。因此,通过本申请实施例,网络设备既能够根据业务流量的大小自动切换转发方式,又能够保证使用最适合的转发方式转发某些预设业务的业务报文。同时由于本申请实施例是网络设备自动地切换报文转发方式,因此不需要人为参与,提高了网络设备转发报文的效率和智能化。附图说明图1为本申请一实施例提供的报文转发方法的流程示意图;图2为本申请一实施例提供的预设业务的报文格式示意图;图3为本申请另一实施例提供的报文转发方法的流程示意图;图4为本申请再一实施例提供的报文转发方法的流程示意图;图5为本申请一实施例提供的报文转发装置的结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本申请相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为本文档来自技高网...

【技术保护点】
1.一种报文转发方法,其特征在于,应用于具有多核处理器CPU的网络设备,所述方法包括:/n接收业务报文;/n判断所述多核CPU中是否存在第一内核繁忙且第二内核空闲的情况,其中,所述第一内核与第二内核为所述多核CPU中不同的内核;/n若存在,则在确定所述业务报文不属于预设业务时,使用逐包转发的方式转发所述业务报文。/n

【技术特征摘要】
1.一种报文转发方法,其特征在于,应用于具有多核处理器CPU的网络设备,所述方法包括:
接收业务报文;
判断所述多核CPU中是否存在第一内核繁忙且第二内核空闲的情况,其中,所述第一内核与第二内核为所述多核CPU中不同的内核;
若存在,则在确定所述业务报文不属于预设业务时,使用逐包转发的方式转发所述业务报文。


2.根据权利要求1所述的方法,其特征在于,还包括:
当判定所述业务报文满足以下至少一条件时,确定所述业务报文属于预设业务,所述条件包括:
所述业务报文的应用特征对应的业务为具有时序性的业务、
所述业务报文的报文特征成功匹配预设特征库的特征。


3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述多核CPU中不存在第一内核丢包且第二内核空闲的情况,则确定使用逐流转发的方式转发所述业务报文。


4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述业务报文属于预设业务,则确定使用逐流转发的方式转发所述业务报文。


5.根据权利要求1-4任一所述的方法,其特征在于,所述判断所述多核CPU中是否存在第一内核繁忙且第二内核空闲的情况,包括:
检测所述多核CPU中各个内核的利用率;
判断所述多核CPU中第一内核的利用率是否大于第一阈值、且第二内核的利用率是否小于第二阈值的第二内核,或判断所述多核CPU中任意两个内核的利用率差值绝对值是否大于第三阈值;
若是,则判定所述多核CPU中存在第一内核繁忙且第二内核空闲的情况。


6.一种报文转发装置,其特征在于,应用于具有多核处理器CPU的网络设备,所述装置包括:
接收单元,用于接收业务报文;
控制单元,用于判断所述多核CPU中是否存在第一内核繁忙且第二内核空闲的情况,其中,所述...

【专利技术属性】
技术研发人员:徐雷
申请(专利权)人:新华三信息安全技术有限公司
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1