一种报文转发方法、装置及相关产品与流程

文档序号:18267731发布日期:2019-07-27 09:19阅读:120来源:国知局
一种报文转发方法、装置及相关产品与流程

本申请涉及通信技术领域,具体涉及一种报文转发方法、装置及相关产品。



背景技术:

对于安全厂商而言,防火墙设备的健壮性和高性能是重要指标。随着技术的不断发展,软件防火墙,例如基于dpdk(dataplanedevelopmentkit,数据平面开发套件)的防火墙,已经可以实现大流量的报文转发。软件防火墙的转发系统主要实现在用户态从网卡接收报文并将报文转发出去。

对于通用的防火墙设备而言,一般会配置网卡与转发处理器之间的全连接关系,即防火墙初始化时启动固定数量的转发处理器,每个转发处理器从所有网卡中接收报文并进行报文转发。但是,这种处理方式可能会造成转发处理器的资源浪费或者部分网卡的报文无法及时处理。



技术实现要素:

有鉴于此,本申请实施例提供一种报文转发方法、装置及相关产品,以解决现有技术中存在转发处理器的资源浪费或者部分网卡的报文无法及时处理的技术问题。

为解决上述问题,本申请实施例提供的技术方案如下:

一种报文转发方法,所述方法包括:

配置处理器获取转发处理器对各个网卡进行处理产生的性能参数,根据所述性能参数对所述网卡进行聚类,获得所述网卡的聚类结果;

根据所述聚类结果的类别数量,确定报文转发模式;

如果确定所述报文转发模式为优化模式,将所述聚类结果为低负载的网卡的标识加入负载配置表,将所述聚类结果为高负载的网卡的标识加入优化配置表;

从所述负载配置表中各标识所对应网卡的网卡队列获取报文并进行报文转发;

将各个所述转发处理器的工作模式变更为优化模式并将所述优化配置表写入各个所述转发处理器,以使各个所述转发处理器从所述优化配置表中各标识所对应网卡的网卡队列获取报文并进行报文转发。

在一种可能的实现方式中,所述方法还包括:

如果确定所述报文转发模式为通用模式,不变更各个转发处理器的工作模式,以使各个所述转发处理器从通用配置表中各标识所对应网卡的网卡队列获取报文并进行报文转发,所述通用配置表中包括当前全部网卡的标识。

在一种可能的实现方式中,所述根据所述聚类结果的类别数量,确定报文转发模式,包括:

当所述聚类结果的类别数量为两类时,将报文转发模式确定为优化模式;

当所述聚类结果的类别数量为一类时,将报文转发模式确定为通用模式。

在一种可能的实现方式中,在从所述负载配置表中各标识所对应网卡的网卡队列获取报文并进行报文转发之前,所述方法还包括:

对所述负载配置表中各标识所对应网卡配置网卡队列规则,以使所述负载配置表中各标识所对应网卡使用单一目标网卡队列进行报文发送;

所述从所述负载配置表中各标识所对应网卡的网卡队列获取报文并进行报文转发:

从所述负载配置表中各标识所对应网卡的目标网卡队列获取报文并进行报文转发。

在一种可能的实现方式中,在将各个转发处理器的工作模式变更为优化模式并将所述优化配置表写入各个所述转发处理器之后,所述方法还包括:

监控所述转发处理器的处理性能,当所述转发处理器的处理性能满足预设条件时,将各个所述转发处理器的工作模式变更为通用模式,以使所述转发处理器从通用配置表中各标识所对应网卡的网卡队列获取报文并进行报文转发,所述通用配置表中包括当前全部网卡的标识。

在一种可能的实现方式中,当所述转发处理器的处理性能满足预设条件,在将各个所述转发处理器的工作模式变更为通用模式之前,所述方法还包括:

对所述负载配置表中各标识所对应网卡取消配置网卡队列规则,以使所述负载配置表中各标识所对应网卡使用多个网卡队列进行报文发送。

在一种可能的实现方式中,在将各个转发处理器的工作模式变更为优化模式并将所述优化配置表写入各个所述转发处理器之后,所述方法还包括:

获取所述负载配置表中各标识所对应网卡的报文流量,将所述负载配置表中各标识所对应网卡中报文流量超过第一阈值的网卡确定为第一目标网卡;

将所述第一目标网卡的标识从所述负载配置表中移除,将所述第一目标网卡的标识添加到所述优化配置表;

将所述优化配置表重新写入各个所述转发处理器。

在一种可能的实现方式中,所述方法还包括:

对所述第一目标网卡取消配置网卡队列规则,以使所述第一目标网卡使用多个网卡队列进行报文发送。

在一种可能的实现方式中,在将各个转发处理器的工作模式变更为优化模式并将所述优化配置表写入各个所述转发处理器之后,所述方法还包括:

获取所述优化配置表中各标识所对应网卡的报文流量,将所述优化配置表中各标识所对应网卡中报文流量小于第二阈值的网卡确定为第二目标网卡;

将所述第二目标网卡的标识从所述优化配置表中移除,将所述第二目标网卡的标识添加到所述负载配置表;

将所述优化配置表重新写入各个所述转发处理器。

在一种可能的实现方式中,所述方法还包括:

对所述第二目标网卡配置网卡队列规则,以使所述第二目标网卡使用单一目标网卡队列进行报文发送。

在一种可能的实现方式中,将所述优化配置表写入各个所述转发处理器采用整表替换方式。

一种报文转发装置,所述装置包括:

第一获取单元,用于获取转发处理器对各个网卡进行处理产生的性能参数,根据所述性能参数对所述网卡进行聚类,获得所述网卡的聚类结果;

确定单元,用于根据所述聚类结果的类别数量,确定报文转发模式;

添加单元,用于如果确定所述报文转发模式为优化模式,将所述聚类结果为低负载的网卡的标识加入负载配置表,将所述聚类结果为高负载的网卡的标识加入优化配置表;

第二获取单元,用于从所述负载配置表中各标识所对应网卡的网卡队列获取报文并进行报文转发;

第一变更单元,用于将各个所述转发处理器的工作模式变更为优化模式并将所述优化配置表写入各个所述转发处理器,以使各个所述转发处理器从所述优化配置表中各标识所对应网卡的网卡队列获取报文并进行报文转发。

在一种可能的实现方式中,所述第一变更单元,还用于如果确定所述报文转发模式为通用模式,不变更各个转发处理器的工作模式,以使各个所述转发处理器从通用配置表中各标识所对应网卡的网卡队列获取报文并进行报文转发,所述通用配置表中包括当前全部网卡的标识。

在一种可能的实现方式中,确定单元,具体用于当所述聚类结果的类别数量为两类时,将报文转发模式确定为优化模式;当所述聚类结果的类别数量为一类时,将报文转发模式确定为通用模式。

在一种可能的实现方式中,所述装置还包括:

第一配置单元,用于在执行所述第二获取单元之前,对所述负载配置表中各标识所对应网卡配置网卡队列规则,以使所述负载配置表中各标识所对应网卡使用单一目标网卡队列进行报文发送;

所述第二获取单元,具体用于从所述负载配置表中各标识所对应网卡的目标网卡队列获取报文并进行报文转发。

在一种可能的实现方式中,所述装置还包括:

监控单元,用于在执行第一变更单元之后,监控所述转发处理器的处理性能;

第二变更单元,用于当所述转发处理器的处理性能满足预设条件时,将各个所述转发处理器的工作模式变更为通用模式,以使所述转发处理器从通用配置表中各标识所对应网卡的网卡队列获取报文并进行报文转发,所述通用配置表中包括当前全部网卡的标识。

在一种可能的实现方式中,所述装置还包括:

第一取消单元,用于在执行所述第二变更单元之前,对所述负载配置表中各标识所对应网卡取消配置网卡队列规则,以使所述负载配置表中各标识所对应网卡使用多个网卡队列进行报文发送。

在一种可能的实现方式中,所述装置还包括:

第三获取单元,用于在执行所述第一变更单元之后,获取所述负载配置表中各标识所对应网卡的报文流量,将所述负载配置表中各标识所对应网卡中报文流量超过第一阈值的网卡确定为第一目标网卡;

第一移除单元,用于将所述第一目标网卡的标识从所述负载配置表中移除,将所述第一目标网卡的标识添加到所述优化配置表;

第一写入单元,用于将所述优化配置表重新写入各个所述转发处理器。

在一种可能的实现方式中,所述装置还包括:

第二取消单元,用于对所述第一目标网卡取消配置网卡队列规则,以使所述第一目标网卡使用多个网卡队列进行报文发送。

在一种可能的实现方式中,所述装置还包括:

第四获取单元,用于在执行第一变更单元之后,获取所述优化配置表中各标识所对应网卡的报文流量,将所述优化配置表中各标识所对应网卡中报文流量小于第二阈值的网卡确定为第二目标网卡;

第二移除单元,用于将所述第二目标网卡的标识从所述优化配置表中移除,将所述第二目标网卡的标识添加到所述负载配置表;

第二写入单元,用于将所述优化配置表重新写入各个所述转发处理器。

在一种可能的实现方式中,所述装置还包括:

第二配置单元,用于对所述第二目标网卡配置网卡队列规则,以使所述第二目标网卡使用单一目标网卡队列进行报文发送。

在一种可能的实现方式中,将所述优化配置表写入各个所述转发处理器采用整表替换方式。

在一种可能的实现方式中,所述设备包括:

配置处理器以及转发处理器;

所述配置处理器,是上述的报文转发装置;

所述转发处理器,用于从优化配置表中各标识所对应网卡的网卡队列获取报文并进行报文转发。

一种计算机可读存储介质,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的报文转发方法。

一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述的报文转发方法。

由此可见,本申请实施例具有如下有益效果:

本申请实施例中由配置处理器获取转发处理器对各个网卡进行处理产生的性能参数,并根据性能参数对网卡进行聚类,以获得所有网卡的聚类结果。然后,根据聚类结果的类别数量,确定报文转发模式。当确定报文转发模式为优化模式时,将聚类结果为低负载的网卡的标识加入负载配置表,将聚类结果为高负载的网卡的标识加入优化配置表。再将各个转发处理器的工作模式变更为优化模式,同时将优化配置便写入各个转发处理器中。当在进行报文转发时,配置处理器从负载配置表中各标识对应网卡的网卡队列获取报文并进行报文转发,各个转发处理器从各自的优化配置表中各标识对应网卡的网卡队列获取报文进行报文转发。

即,通过本申请实施例提供的方法,配置处理器可以根据性能参数将网卡进行聚类,当网卡聚类结果包括低负载网卡和高负载网卡时,将低负载网卡的标识添加到负载配置表中,由单个配置处理器转发处理低负载网卡的报文;将高负载网卡的标识添加到优化配置表中,并将该优化配置表写入各个转发处理器。同时,将各个转发处理器的工作模式变更为优化模式,由各个转发处理器转发高负载网卡的报文,从而实现动态调整网卡与转发处理器的对应关系,实现资源的有效分配,提高报文转发性能。而且,在优化模式下,为每个转发处理器写入优化配置表,使得每个转发处理器在转发报文时可以读取自身所对应的优化配置表,使得各个转发处理器之间无需加锁,即在整个转发过程中各个转发处理器无共享资源竞争问题,提升并发处理性能。

附图说明

图1为本申请实施例提供的一种防火墙报文转发示意图;

图2为本申请实施例提供的一种报文转发方法的流程图;

图3为本申请实施例提供的一种报文转发装置结构图;

图4为本申请实施例提供的一种报文转发设备结构图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。

为便于理解本申请提供的技术方案,下面将先对本申请的背景技术进行说明。

发明人在对传统的防火墙转发报文方法研究中发现,当配置处理器确定出转发处理器以及网卡数量后,配置转发处理器与网卡建立全连接关系,使得每个转发处理器从所有网卡中接收报文并进行转发。在传统的报文转发方法中,该全连接映射关系是一成不变的,并不会根据网卡的性能不同而发生变化。也就是,对于不同类型的网卡均采用统一化处理,从而可能导致转发处理器资源的浪费或不足,影响报文转发性能。例如,每个转发处理器同时处理多个千兆网卡和万兆网卡,如果按照传统的方式所配置的全连接关系进行报文转发,会使得多个转发处理器同时处理一个千兆网卡,而实际上一个转发处理器完全可以独立处理多个千兆网卡。当万兆网卡的报文流量非常大时,无论千兆网卡是否有流量,每个转发处理器均需分配资源给千兆网卡,导致资源浪费,影响万兆网卡的报文处理性能。

基于此,本申请实施例提供了一种报文转发方法,在具体实现时,配置处理器可以获取转发处理器对各个网卡进行处理产生的性能参数,并根据性能参数对网卡进行聚类,从而获得所有网卡的聚类结果。并根据聚类结果,确定报文转发模式。如果网卡属于不同类别,则说明网卡中存在高负载的网卡和低负载的网卡,为提升高负载网卡的报文转发性能,则针对高负载的网卡和低负载的网卡进行不同处理。此时,配置处理器确定报文转发模式为优化模式,将低负载的网卡的标识加入负载配置表,由配置处理器从负载配置表中各个标识对应网卡的网卡队列获取报文并进行报文转发。同时将高负载的网卡的标识加入优化配置表,并将该优化配置表写入每个转发处理器,以使得每个转发处理器可以通过自身所对应的优化配置表从该表中各标识对应网卡的网卡队列获取报文并进行报文转发。

可见,本申请实施例提供的方法,可以根据网卡的类型进行动态调整网卡与转发处理器的映射关系,针对不同类型的网卡进行不同处理,提升整体转发性能。另外,配置处理器为每个转发处理器写入优化配置表,使得转发处理器可以根据自身所存储的优化配置表进行报文转发,无需为防止多个转发处理器同时读取优化配置表造成并发冲突而加锁,使得在整个转发过程中各个转发处理器无共享资源竞争问题,提升并发处理性能。

为便于理解本申请提供的技术方案,下面将对本申请中配置处理器和转发处理器的工作原理进行说明,参见图1,该图为本申请实施例提供的防火墙报文转发示意图,该防火墙可以包括两类处理器分别为配置处理器和转发处理器。其中,配置处理器,可以收集各个网卡、转发处理器的性能参数,以便根据获取的性能参数决定报文转发模式。转发处理器,用于从网卡接收报文并转发报文。在实际应用中,防火墙可以包括多个转发处理器,以便利用多个转发处理器进行报文的转发。

其中,报文转发模式可以包括通用模式和优化模式。在通用模式下,每个转发处理器按照配置处理器配置的全连接关系,接收所有网卡的报文并进行转发,即每个转发处理器通过各自对应的通用配置表获取各标识所对应网卡的报文并进行报文转发。在优化模式下,转发处理器接收并转发各自的优化配置表中各标识所对应网卡的报文,配置处理器接收并转发负载配置表中各标识所对应网卡的报文。即在优化模式下,转发处理器可以全力处理高负载网卡的报文,无需处理低负载网卡的报文,提升高负载网卡的报文转发性能。

通过上述说明可知,无论在通用模式,还是优化模式,转发处理器均只需进行报文转发,无需处理其它工作,减少转发处理器工作量,从而提高报文转发效率。配置处理器不仅可以处理配置工作,还可以处理低负载网卡的报文转发。

其中,在通用模式下,各个网卡的类型为通用型;在优化模式下,网卡的类型可以分为高负载的网卡和低负载的网卡。高负载的网卡,流量较大,通常情况下,该类型的网卡的吞吐量超过线速的80%。低负载的网卡,流量非常小,配置处理器可独立处理多个低负载的网卡。

基于上述描述,下面将结合附图对本申请实施例提供的一种报文转发方法进行说明。

参见图2,该图为本申请实施例提供的一种报文转发方法流程图,如图2所示,该方法可以包括:

s201:配置处理器获取转发处理器对各个网卡进行处理产生的性能参数,根据性能参数对网卡进行聚类,获得网卡的聚类结果。

本实施例中,为实现针对不同类型的网卡进行不同处理,配置处理器首先获取从转发处理器中获取该转发处理器对各个网卡进行处理产生的性能参数,以便根据该性能参数对网卡进行聚类,以获得网卡的聚类结果,也就是确定当前网卡的类型。其中,转发处理器对各个网卡进行处理产生性能参数可以包括转发处理器处理网卡时所产生的吞吐量以及新建会话数等,该性能参数可以反映网卡当前流量大小。

在具体实现时,配置处理器在获取转发处理器对各个网卡进行处理产生的性能参数后,可以利用聚类算法对所有网卡进行聚类,将属于同一类型或相似类型的网卡聚合,从而获得聚类结果。

s202:根据聚类结果的类别数量,确定报文转发模式。

本实施例中,当根据网卡的性能参数对网卡进行聚类获得聚类结果后,可以根据聚类结果的类别数量,确定报文转发模式。

通过上述说明可知,报文转发模式可以包括通用模式和优化模式,在通用模式下,所有网卡的类型相似,均为通用型。在优化模式下,网卡可以分为高负载的网卡和低负载的网卡。也就是说,在通用模式下,网卡的聚类结果为一类;在优化模式下,网卡的聚类结果为两类,因此,配置处理器可以根据聚类结果的类别数量确定报文转发模式。

在具体实现时,当聚类结果的类别数量为两类时,将报文转发模式确定为优化模式;当聚类结果的类别数量为一类时,将报文转发模式确定为通用模式。例如,共存在6个网卡,分别为网卡1、网卡2、网卡3、网卡4、网卡5和网卡6。其中,网卡1、网卡2、网卡4和网卡6属于同一类,而网卡3和网卡5属于同一类,则报文转发模式为优化模式。如果6个网卡属于同一类,则报文转发模式为通用模式。另外,当聚类结果的类别数量为两类时,还可以进一步将聚类结果划分为低负载的网卡和高负载的网卡。其中关于通用模式下,各个转发处理器的工作过程将在后续实施例进行说明。

s203:如果确定报文转发模式为优化模式,将聚类结果为低负载的网卡的标识加入负载配置表,将聚类结果为高负载的网卡的标识加入优化配置表。

本实施例中,当确定报文转发模式为优化模式时,则配置处理器将聚类结果为低负载的网卡的标识加入负载配置表,将聚类结果为高负载的网卡的标识加入优化配置表,以便在优化模式下,实现针对不同类型的网卡进行不同处理。例如,网卡1、网卡2、网卡4和网卡6属于低负载的网卡,将网卡1的标识1,网卡2的标识2,网卡4的标识4,网卡6的标识6添加到负载配置表,网卡3、网卡5属于高负载的网卡,将网卡3的标识3和网卡5的标识5添加到优化配置表。

s204:从负载配置表中各标识所对应网卡的网卡队列获取报文并进行报文转发。

本实施例中,当配置处理器将低负载的网卡的标识加入负载配置表后,可以从负载配置表中各个标识所对应网卡的网卡队列中获取报文并进行报文转发。也就是,在优化模式下,配置处理器也进行报文转发工作,处理低负载网卡的报文。由于低负载网卡的流量非常小,配置处理器可以同时处理多个低负载网卡的报文转发。例如,配置处理器通过负载配置表,获取网卡1、网卡2、网卡4以及网卡6的报文并进行转发。

s205:将各个转发处理器的工作模式变更为优化模式并将优化配置表写入各个转发处理器,以使各个转发处理器从优化配置表中各标识所对应网卡的网卡队列获取报文并进行报文转发。

本实施例中,当配置处理器确定报文转发模式为优化模式时,可以触发各个转发处理器将工作模式变更为优化模式,并将优化配置表写入每个转发处理器,使得每个转发处理器均存储有优化配置表,从而使得每个转发处理器从各自对应的优化配置表中各标识对应网卡的网卡队列获取报文进行报文转发。通过为每个转发处理器配置独占的优化配置表,避免多个转发处理器的竞争问题,使得每个转发处理器在处理报文时完全无需加锁,而且使得整个防火墙的转发性能随着转发处理器的增加而线性增长。

可以理解的是,在实际应用中,每个网卡通过各自的网卡队列向配置处理器或转发处理器发送报文,因此,配置处理器或转发处理器在进行报文转发时,需通过网卡的网卡队列获取报文并进行转发。

需要说明的是,配置处理器写入每个转发处理器的优化配置表相同,即配置多个转发处理器可以处理相同高负载网卡的报文。例如,共存在3个转发处理器,则转发处理器1通过自身对应的优化配置表获取网卡3的报文并进行转发,同时获取网卡5的报文并进行转发;转发处理器2通过自身对应的优化配置表获取网卡3的报文并进行转发,同时获取网卡5的报文并进行转发;转发处理器3通过自身对应的优化配置表获取网卡3的报文并进行转发,同时获取网卡5的报文并进行转发。

需要说明的是,本实施例中s204和s205的执行顺序并不受上述描述限制,在实际应用时,配置处理器也可以先执行s205触发各个转发处理器的工作模式的变更以及将优化配置表写入各个转发处理器,然后再执行s204从负载配置表中获取各标识所对应网卡的报文并进行报文转发。

通过上述实施例可知,配置处理器可以根据性能参数将网卡进行聚类,当网卡聚类结果包括低负载的网卡和高负载的网卡时,将低负载网卡的标识添加到负载配置表中,由单个配置处理器转发处理低负载网卡的报文;将高负载网卡的标识添加到优化配置表中,并将该优化配置表写入各个转发处理器。同时,将各个转发处理器的工作模式变更为优化模式,由各个转发处理器转发高负载网卡的报文,从而实现动态调整网卡与转发处理器的对应关系,实现资源的有效分配,提高报文转发性能。而且,在优化模式下,为每个转发处理器写入优化配置表,使得每个转发处理器在转发报文时可以读取自身所对应的优化配置表,使得各个转发处理器之间无需加锁,使得在整个转发过程中各个转发处理器无共享资源竞争问题,提升并发处理性能。

基于上述实施例可知,报文转发模式包括通用模式和优化模式,上述实施例介绍当配置处理器根据聚类结果的类别数量确定报文转发模式为优化模式时的工作过程。下面将对报文转发模式为通用模式时,配置处理器和转发处理器的工作过进行说明。当配置处理器根据聚类结果的类别数量确定报文转发模式为通用模式时,不变更各个转发处理器的工作模式,以使各个转发处理器从通用配置表中各标识所对应网卡的网卡队列获取报文并进行报文转发,其中,通用配置表中包括当前全部网卡的标识。

也就是,各个转发处理器的默认工作模式为通用模式,当配置处理器确定报文转发模式为通用模式时,无需触发各个转发处理器进行工作模式变更,仍按照默认工作模式转发报文,即每个转发处理器处理所有网卡的报文。本实施例中,在通用模式下,每个转发处理器均保存有通用配置表,每个转发处理器可以通过自身所对应的通用配置表中各标识所对应网卡的网卡队列获取报文并进行报文转发,使得转发处理器工作时无需加锁,使得在整个转发过程中各个转发处理器无共享资源竞争问题,提升并发处理性能。

在具体实现时,本申请实施例提供了一种根据聚类结果的类别数量,确定报文转发模式实现方式,具体可以为,当聚类结果的类别数量为两类时,将报文转发模式确定为优化模式;当聚类结果的类别数量为一类时,将报文转发模式确定为通用模式。例如,当网卡的聚集结果均为通用型,则配置处理器确定报文转发模式为通用模式;当网卡的聚类结果包括高负载型网卡和低负载型网卡,则配置处理器确定报文转发模式为优化模式。

可以理解的是,在实际应用中,每个网卡可以对应多个网卡队列,以便在通用模式下,每个网卡的报文可以被多个转发处理器转发。当报文转发模式为优化模式时,低负载网卡的报文仅由配置处理器接收并转发,为避免低负载的网卡通过多个网卡队列进行报文发送,需要对低负载的网卡配置网卡队列规则。具体实现时,对负载配置表中各标识所对应网卡配置网卡队列规则,以使负载配置表中各标识所对应网卡使用单一目标网卡队列进行报文发送;从负载配置表中各标识所对应网卡的目标网卡队列获取报文并进行报文转发。

在具体实现时,配置处理器遍历负载配置表各标识所对应网卡,为每个网卡配置网卡队列规则,以使得每个网卡的所有报文使用单一目标网卡队列进行报文发送。当配置处理器转发负载配置表各标识所对应网卡的报文时,从该网卡所使用的目标网卡队列获取报文以进行报文转发。例如,网卡1包括4个网卡队列,配置网卡队列1为目标网卡队列;网卡2包括3个网卡队列,配置网卡队列1为目标网卡队列;网卡4包括3个网卡队列,配置网卡队列2为目标网卡队列;网卡6包括4个网卡队列,配置网卡队列3为目标网卡队列。则配置处理器从网卡1的网卡队列1、网卡2的网卡队列1、网卡4的网卡队列2以及网卡6的网卡队列3分别获取报文并进行报文转发。

在本申请实施例一种可能的实现方式中,由于网卡的流量在实时变化,相应地转发处理器的处理性能也是在变化,为实现动态调整转发处理器的工作模式,配置处理器可以监控转发处理器的处理性能,以便根据转发处理器的处理性能,变更转发处理器的工作模式。具体为,在优化模式下,配置处理器监控转发处理器的处理性能,当转发处理器的处理性能满足预设条件时,将各个转发处理器的工作模式变更为通用模式,以使转发处理器从通用配置表中各标识对应网卡的网卡队列获取报文并进行报文转发,其中,通用配置表中包括当前全部网卡的标识。

本实施例中,配置处理器监控每个转发处理器的处理性能,当所有转发处理器的处理性能均满足预设条件时,将所有转发处理器的工作模式变更为通用模式,以使得每个转发处理器通过各自对应的通用配置表获取所有网卡的报文并进行转发。在具体实现时,配置处理器可以监控每个转发处理器的利用率,如果每个处理器的利用率均低于预设阈值且利用率低于预设阈值的连续时长超过预设时长,则触发每个转发处理器的工作模式由优化模式变更为通用模式。

可以理解的是,由于在优化模式下,配置处理器对负载配置表中各个标识对应网卡设置网卡队列规则,以使得配置处理器通过网卡的目标网卡队列获取报文并进行报文转发。当配置处理器触发各个转发处理器由优化模式变更为通用模式时,需要取消配置网卡队列规则,从而使得网卡可以通过多个网卡队列将报文发送给多个转发处理器。具体为,对负载配置表中各标识所对应网卡取消配置网卡队列规则,以使得负载配置表中各标识所对应网卡使用多个网卡队列进行报文发送。

同理,在实际应用中,网卡的流量也是在实时变化的,即网卡的类型是变化的,为保证高负载的网卡可以由转发处理器进行报文转发,配置处理器需要监控负载配置表中各标识所对应的网卡是否出现报文流量非常大的情况,以便将负载配置表中报文流量较大的网卡标识移动到优化配置表,具体可以通过以下步骤实现:

1)获取负载配置表中各标识所对应网卡的报文流量,将负载配置表中各标识所对应网卡中报文流量超过第一阈值的网卡确定为第一目标网卡。

本实施例中,在优化模式下,配置处理器可以遍历负载配置表中各标识所对应每个网卡的报文流量,并将报文流量超过第一阈值的网卡确定为第一目标网卡,即将报文流量超过第一阈值的网卡确定为高负载网卡。其中,第一阈值可以根据实际应用情况进行设置,本实施例不进行限定。

2)将第一目标网卡的标识从负载配置表中移除,将第一目标网卡的标识添加到优化配置表中。

本实施例中,当配置处理器从负载配置表中确定第一目标网卡后,表明该第一目标网卡的流量较大,配置处理器无法处理第一目标网卡的报文,则将第一目标网卡的标识从负载配置表中移除,并将第一目标网卡的标识添加到优化配置表中,以便转发处理器可以处理第一目标网卡的报文。

3)将优化配置表重新写入各个转发处理器。

本实施例中,当配置处理器将第一目标网卡的标识添加到优化配置表后,将包括第一目标网卡标识的优化配置表重新写入各个转发处理器。

在实际应用时,当配置处理器将第一目标网卡的标识添加到优化配置表时,并不是将第一目标网卡的标识添加到每个转发处理器所对应的优化配置表,而是由配置处理器重新构建一个优化配置表,该优化配置表中包括第一目标网卡的标识,然后将该优化配置表重新写入各个转发处理器。在具体实现时,可以采用整表替换的方式,更新每个转发处理器中的优化配置表,提升多核转发性能。

需要说明的是,当第一目标网卡的标识从负载配置表转移到优化配置表后,为实现多个转发处理器可以同时处理第一目标网卡的报文,需要取消第一目标网卡的标识在负载配置标识所设置的网卡队列规则。即,对第一目标网卡取消配置网卡队列规则,以使第一目标网卡使用多个网卡队列进行报文发送。

例如,配置处理器将负载配置表中的高负载网卡1的标识1移除,复制原有优化配置表,将网卡1的标识添加到所复制的优化配置表中。同时取消网卡1所配置的利用网卡队列1发送报文的规则,以使得网卡1可以通过多个网卡队列发送报文以便被多个转发处理器接收并转发。最后,将包括标识1的优化配置表替换转发处理器中保存的优化配置表,以使得转发处理器可以根据替换后的优化配置表获取报文并进行报文转发。

可见,在优化模式下,配置处理器可以根据负载配置表中各标识所对应网卡的报文流量,动态调整网卡与转发处理器之间的映射关系,以便当负载配置表中各标识所对应的网卡流量较大时,可以利用转发处理器进行报文转发,提升报文转发性能。

同理,为避免优化配置表各标识所对应网卡的报文流量变小而继续占用转发处理器资源,配置处理器也可以监控优化配置表中各标识所对应网卡的报文流量,以便可以将报文流量较小的网卡标识从优化配置表中移除。具体可以通过以下步骤实现:

1)获取优化配置表中各标识所对应网卡的报文流量,将优化配置表中各标识所对应网卡中报文流量小于第二阈值的网卡确定为第二目标网卡。

本实施例中,在优化模式下,配置处理器可以遍历优化配置表中各标识所对应每个网卡的报文流量,并将报文流量小于第二阈值的网卡确定为第一目标网卡,即将报文流量小于第二阈值的网卡确定为低负载网卡。其中,第二阈值可以根据实际应用情况进行设置,本实施例在此不进行限定。

2)将第二目标网卡的标识从优化配置表中移除,将第二目标网卡的标识添加到负载配置表。

本实施例中,当配置处理器从优化配置表中确定第二目标网卡后,表明该第二目标网卡的流量较小,无需利用转发处理器进行报文转发,则将第二目标网卡的表述从优化配置表中移除,并将第二目标网卡的标识添加负载配置表中,以便由配置处理器处理第二目标网卡的报文。

3)将优化配置表重新写入各个转发处理器。

本实施例中,当配置处理器将第二目标网卡的标识从优化配置表移除后,将不包括第二目标网卡标识的优化配置表重新写入各个转发处理器。

在具体实现时,由于每个转发处理器均对应有优化配置表,当需要从优化配置表中移除第二目标网卡标识时,需要针对每个转发处理器进行移除操作,增加配置处理器的工作量。为提高配置处理器的工作性能,当配置处理器需要将第二目标网卡的标识从优化配置表时,可采用整表替换方式更新每个转发处理器的优化配置表。具体可以为,配置处理器可以从某个转发处理器中复制原有的优化配置表,然后将第二目标网卡的标识从该优化-配置表中移除,然后利用已经移除第二目标网卡标识的优化配置表替换每个转发处理器的原有优化配置表,减少配置处理器的工作量,提升转发处理性能。

需要说明的是,当将第二目标网卡的标识添加到负载配置表后,需对第二目标网卡配置网卡队列规则,以使第二目标网卡使用单一目标网卡队列进行报文发送。

例如,当配置处理器确定出优化配置表中标识3对应的网卡3为低负载网卡,则复制原有优化配置表,将该优化配置表中标识3移除,并将该标识3添加到负载配置表中。同时,为网卡3配置网卡队列规则,以使得配置处理器可以通过单一目标网卡队列接收网卡3发的报文。最后,利用移除标识3的优化配置表替换转发处理器中原有的优化配置表。

可见,在优化模式下,配置处理器可以根据优化配置表中各标识所对应网卡的报文流量,动态调整网卡与转发处理器之间的映射关系,以便当优化配置表中各标识所对应的网卡流量较小时,可以利用配置处理器进行报文转发,避免对转发处理器的占用,提升报文转发性能。

基于上述方法实施例,本申请提供了一种报文转发装置,下面将结合附图对该装置进行说明。

参见图3,该图为本申请实施例提供的一种报文转发装置结构图,如图3所示,该装置可以包括:

第一获取单元301,用于获取转发处理器对各个网卡进行处理产生的性能参数,根据所述性能参数对所述网卡进行聚类,获得所述网卡的聚类结果;

确定单元302,用于根据所述聚类结果的类别数量,确定报文转发模式;

添加单元303,用于如果确定所述报文转发模式为优化模式,将所述聚类结果为低负载的网卡的标识加入负载配置表,将所述聚类结果为高负载的网卡的标识加入优化配置表;

第二获取单元304,用于从所述负载配置表中各标识所对应网卡的网卡队列获取报文并进行报文转发;

第一变更单元305,用于将各个所述转发处理器的工作模式变更为优化模式并将所述优化配置表写入各个所述转发处理器,以使各个所述转发处理器从所述优化配置表中各标识所对应网卡的网卡队列获取报文并进行报文转发。

在一种可能的实现方式中,所述第一变更单元,还用于如果确定所述报文转发模式为通用模式,不变更各个转发处理器的工作模式,以使各个所述转发处理器从通用配置表中各标识所对应网卡的网卡队列获取报文并进行报文转发,所述通用配置表中包括当前全部网卡的标识。

在一种可能的实现方式中,确定单元,具体用于当所述聚类结果的类别数量为两类时,将报文转发模式确定为优化模式;当所述聚类结果的类别数量为一类时,将报文转发模式确定为通用模式。

在一种可能的实现方式中,所述装置还包括:

第一配置单元,用于在执行所述第二获取单元之前,对所述负载配置表中各标识所对应网卡配置网卡队列规则,以使所述负载配置表中各标识所对应网卡使用单一目标网卡队列进行报文发送;

所述第二获取单元,具体用于从所述负载配置表中各标识所对应网卡的目标网卡队列获取报文并进行报文转发。

在一种可能的实现方式中,所述装置还包括:

监控单元,用于在执行第一变更单元之后,监控所述转发处理器的处理性能;

第二变更单元,用于当所述转发处理器的处理性能满足预设条件时,将各个所述转发处理器的工作模式变更为通用模式,以使所述转发处理器从通用配置表中各标识所对应网卡的网卡队列获取报文并进行报文转发,所述通用配置表中包括当前全部网卡的标识。

在一种可能的实现方式中,所述装置还包括:

第一取消单元,用于在执行所述第二变更单元之前,对所述负载配置表中各标识所对应网卡取消配置网卡队列规则,以使所述负载配置表中各标识所对应网卡使用多个网卡队列进行报文发送。

在一种可能的实现方式中,所述装置还包括:

第三获取单元,用于在执行所述第一变更单元之后,获取所述负载配置表中各标识所对应网卡的报文流量,将所述负载配置表中各标识所对应网卡中报文流量超过第一阈值的网卡确定为第一目标网卡;

第一移除单元,用于将所述第一目标网卡的标识从所述负载配置表中移除,将所述第一目标网卡的标识添加到所述优化配置表;

第一写入单元,用于将所述优化配置表重新写入各个所述转发处理器。

在一种可能的实现方式中,所述装置还包括:

第二取消单元,用于对所述第一目标网卡取消配置网卡队列规则,以使所述第一目标网卡使用多个网卡队列进行报文发送。

在一种可能的实现方式中,所述装置还包括:

第四获取单元,用于在执行第一变更单元之后,获取所述优化配置表中各标识所对应网卡的报文流量,将所述优化配置表中各标识所对应网卡中报文流量小于第二阈值的网卡确定为第二目标网卡;

第二移除单元,用于将所述第二目标网卡的标识从所述优化配置表中移除,将所述第二目标网卡的标识添加到所述负载配置表;

第二写入单元,用于将所述优化配置表重新写入各个所述转发处理器。

在一种可能的实现方式中,所述装置还包括:

第二配置单元,用于对所述第二目标网卡配置网卡队列规则,以使所述第二目标网卡使用单一目标网卡队列进行报文发送。

在一种可能的实现方式中,将所述优化配置表写入各个所述转发处理器采用整表替换方式。

需要说明的是,本实施例中各个单元的实现可以参见上述方法实施例,本实施例在此不再赘述。

基于上述装置,本申请还提供了一种报文转发设备,参见图4,该图为本申请实施例提供的一种报文转发设备结构图,该设备可以包括:

配置处理器401以及转发处理器402;

所述配置处理器,可以是上述装置实施例所述的装置;

所述转发处理器402,用于从优化配置表中各标识所对应网卡的网卡队列获取报文并进行报文转发。

需要说明的是,本实施例中各个处理器的具体实现可以参见上述装置实施例和方法实施例,本实施例在此不再赘述。

另外,本申请实施例还提供了一种计算机可读存储介质,其特征在于,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行所述的报文转发方法。

本申请实施例提供了一种计算机程序产品,其特征在于,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行所述的报文转发方法。

通过上述实施例可知,配置处理器可以根据性能参数将网卡进行聚类,当网卡聚类结果包括低负载网卡和高负载网卡时,将低负载网卡的标识添加到负载配置表中,由单个配置处理器转发处理低负载网卡的报文;将高负载网卡的标识添加到优化配置表中,并将该优化配置表写入各个转发处理器。同时,将各个转发处理器的工作模式变更为优化模式,由各个转发处理器转发高负载网卡的报文,从而实现动态调整网卡与转发处理器的对应关系,实现资源的有效分配,提高报文转发性能。而且,在优化模式下,为每个转发处理器写入优化配置表,使得每个转发处理器在转发报文时可以读取自身所对应的优化配置表,使得各个转发处理器之间无需加锁,即在整个转发过程中各个转发处理器无共享资源竞争问题,提升并发处理性能。

需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1