一种多核网络设备的报文处理方法及装置制造方法及图纸

技术编号:21039030 阅读:25 留言:0更新日期:2019-05-04 08:03
本申请提供了一种多核网络设备的报文处理方法及装置,该方法包括获取报文流的报文描述符;根据报文描述符,对报文流进行协议解析,得到报文流的业务流量;根据报文流的协议类型和业务流量,确定报文流的优化处理类型;如果优化处理类型与报文描述符中的初始处理类型不同,则将初始处理类型更改为优化处理类型;根据优化处理类型,调用多核处理器中的一个核或多个核对报文流中的报文包进行处理。对于需报文保序的报文流,采用一个核顺次对报文流中的报文包进行逐个处理,以保证保序;对于不需报文保序的报文流,采用多个核并行处理报文流中的多个报文包,以提高对于非保序报文流的处理效率,提高处理性能。

【技术实现步骤摘要】
一种多核网络设备的报文处理方法及装置
本申请涉及网络通信
,尤其涉及一种多核网络设备的报文处理方法及装置。
技术介绍
随着网络的普及,用户对网络带宽的需求不断提高,网络设备的处理能力也越来越高。作为网络设备的核心处理单元,CPU的性能成为决定一个网络设备处理能力的重要标准。自从多核处理器的出现,使得网络设备的处理能力上了一个新的台阶。现有的多核处理器处理报文的方式大部分采用序列号记录法、流水线法和数据流与核绑定法,以避免处理后的报文在发送过程中出现乱序的现象。但是,网络中存在部分不需要保序的业务流量,若采用上述处理方法处理非保序的报文流,则非保序报文的处理效率不高,降低多核处理器的处理性能。
技术实现思路
本申请提供了一种多核网络设备的报文处理方法及装置,以解决现有处理方法处理不需要保序的业务流量,则非保序报文的处理效率不高,降低多核处理器的处理性能的问题。第一方面,本申请提供了一种多核网络设备的报文处理方法,所述方法包括:获取报文流的报文描述符;根据所述报文描述符,对报文流进行协议解析,得到所述报文流的业务流量;根据所述报文流的协议类型和业务流量,确定所述报文流的优化处理类型;如果所述优化处理类型与报文描述符中的初始处理类型不同,则将初始处理类型更改为优化处理类型,所述初始处理类型和优化处理类型均为并行处理类型、序列化处理类型或无序化处理类型的一种;根据所述优化处理类型,调用多核处理器中的一个核或多个核对所述报文流中的报文包进行处理。第二方面,本申请提供了一种多核网络设备的报文处理装置,所述装置包括:第一获取模块,用于获取报文流的报文描述符;协议解析模块,用于根据所述报文描述符,对报文流进行协议解析,得到所述报文流的业务流量;确定模块,用于根据所述报文流的协议类型和业务流量,确定所述报文流的优化处理类型;判断模块,用于如果所述优化处理类型与报文描述符中的初始处理类型不同,则将初始处理类型更改为优化处理类型,所述初始处理类型和优化处理类型均为并行处理类型、序列化处理类型或无序化处理类型的一种;处理模块,用于根据所述优化处理类型,调用多核处理器中的一个核或多个核对所述报文流中的报文包进行处理。由以上技术方案可知,本申请提供了一种多核网络设备的报文处理方法及装置,可根据协议类型和业务流量的不同,配置不同的处理方式,对于需报文保序的报文流,采用一个核顺次对报文流中的报文包进行逐个处理,以保证保序;对于不需报文保序的报文流,采用多个核并行处理报文流中的多个报文包,以提高对于非保序报文流的处理效率,提高处理性能。附图说明为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请提供的一种多核网络设备的报文处理方法的一个实施例的流程图;图2为本申请提供的一种多核网络设备的报文处理方法的另一个实施例的流程图;图3为本申请提供的一种多核网络设备的报文处理装置的一实施例的结构示意图;图4为处理模块的一实施例的结构示意图;图5为处理模块的另一实施例的结构示意图;图6为本申请提供的一种多核网络设备的报文处理装置的另一实施例的结构示意图;图7为第二获取模块的结构示意图。具体实施方式本专利技术是基于cavium平台硬件协处理单元(sso)进行配置,同时软件进行参与调度来完成报文保序的工作。其中,多核处理器是在同一个硅晶片上集成多个独立物理核心,每个核心均具有独立的逻辑结构,包括缓存、执行单元、指令级单元和总线接口等逻辑单元,通过高速总线、内存共享进行通信。第一方面,参见图1,本申请的一实施例提供了一种多核网络设备的报文处理方法,包括如下步骤:步骤11:获取报文流的报文描述符。步骤12:根据所述报文描述符,对报文流进行协议解析,得到所述报文流的业务流量。步骤13:根据所述报文流的协议类型和业务流量,确定所述报文流的优化处理类型。如果报文流是音频或视频流,则该报文流需要保序,因此,优化处理类型为序列化处理;如果报文流是pppoe协议流量,则该报文不需要严格保序,因此,优化处理类型为并行处理。步骤14:如果所述优化处理类型与报文描述符中的初始处理类型不同,则将初始处理类型更改为优化处理类型,所述初始处理类型和优化处理类型均为并行处理类型、序列化处理类型或无序化处理类型的一种。步骤15:根据所述优化处理类型,调用多核处理器中的一个核或多个核对所述报文流中的报文包进行处理。由以上技术方案可知,本申请提供了一种多核网络设备的报文处理方法,可根据协议类型和业务流量的不同,配置不同的处理方式,对于需报文保序的报文流,采用一个核顺次对报文流中的报文包进行逐个处理,以保证保序;对于不需报文保序的报文流,采用多个核并行处理报文流中的多个报文包,以提高对于非保序报文流的处理效率,提高处理性能。参见图2,本申请的另一实施例提供了一种多核网络设备的报文处理方法,包括如下步骤:步骤21:获取报文包的五元组,所述五元组数据包括源IP、目的IP、源端口、目的端口和协议类型。五元组数据可由用户预先设置或者是默认值。步骤22:根据所述五元组,利用循环冗余算法,计算得到五元组哈希值。步骤23:根据所述报文包的五元组哈希值和报文包的包头数据,将具有相同五元组哈希值和包头数据的报文包组成报文流。多个报文包的五元组哈希值和报文包的包头数据相同时,可以确定这多个报文包属于同一条报文流。步骤24:获取报文流的报文描述符。报文描述符包括tagvalue,tagtype,QoSvalue,group和packetdatapointer。其中,tagvalue是一个32位的数字,tagvalue由3个区别开的部分组成:31-24位衡为0;23-16位是接收到packet的接口号或者全是1;15-0位是五元组哈希值。tagtype即是初始处理类型,该初始处理类型可由用户设置。步骤25:根据所述报文描述符,对报文流进行协议解析,得到所述报文流的业务流量。步骤26:根据所述报文流的协议类型和业务流量,确定所述报文流的优化处理类型。如果报文流是音频或视频流,则该报文流需要保序,因此,优化处理类型为序列化处理;如果报文流是pppoe协议流量,则该报文不需要严格保序,因此,优化处理类型为并行处理。步骤27:如果所述优化处理类型与报文描述符中的初始处理类型不同,则将初始处理类型更改为优化处理类型,所述初始处理类型和优化处理类型均为并行处理类型、序列化处理类型或无序化处理类型的一种。步骤28:根据所述优化处理类型,调用多核处理器中的一个核或多个核对所述报文流中的报文包进行处理。具体地,当所述初始处理类型为有序处理类型,优化处理类型为并行处理类型或无序化处理类型时,将初始化处理类型更改为并行处理类型或无序化处理类型;然后,将所述报文流中加锁的报文包进行解锁处理;再调用多核处理器中的多个核对所述报文流中的多个报文包进行处理。如果初始处理类型为有序处理类型,对于不需要保序的报文流,会影响该报文流的处理效率,因此,需将有序处理更改为优化处理类型的并行处理或无序化处理,然后对加锁的报文包进行解锁处理,利用多核处理器的多个核对同属于一个报文流的多个报文包同时处理本文档来自技高网...

【技术保护点】
1.一种多核网络设备的报文处理方法,其特征在于,所述方法包括:获取报文流的报文描述符;根据所述报文描述符,对报文流进行协议解析,得到所述报文流的业务流量;根据所述报文流的协议类型和业务流量,确定所述报文流的优化处理类型;如果所述优化处理类型与报文描述符中的初始处理类型不同,则将初始处理类型更改为优化处理类型,所述初始处理类型和优化处理类型均为并行处理类型、序列化处理类型或无序化处理类型的一种;根据所述优化处理类型,调用多核处理器中的一个核或多个核对所述报文流中的报文包进行处理。

【技术特征摘要】
1.一种多核网络设备的报文处理方法,其特征在于,所述方法包括:获取报文流的报文描述符;根据所述报文描述符,对报文流进行协议解析,得到所述报文流的业务流量;根据所述报文流的协议类型和业务流量,确定所述报文流的优化处理类型;如果所述优化处理类型与报文描述符中的初始处理类型不同,则将初始处理类型更改为优化处理类型,所述初始处理类型和优化处理类型均为并行处理类型、序列化处理类型或无序化处理类型的一种;根据所述优化处理类型,调用多核处理器中的一个核或多个核对所述报文流中的报文包进行处理。2.如权利要求1所述的方法,其特征在于,当所述初始处理类型为并行处理类型或无序化处理类型,优化处理类型为序列化处理类型时,所述根据所述优化处理类型,调用多核处理器中的一个核或多个核对所述报文流中的报文进行处理包括:按照所述报文流中报文包的入接口顺序,将未处理且位于第一位的报文包进行加锁处理;调用多核处理器中的一个核对所述加锁的报文包进行处理,处理完毕后重复上述的步骤,直至将所述报文流中的报文包均处理完毕。3.如权利要求1所述的方法,其特征在于,当所述初始处理类型为有序处理类型,优化处理类型为并行处理类型或无序化处理类型时,所述根据所述优化处理类型,调用多核处理器中的一个核或多个核对所述报文流中的报文进行处理包括:将所述报文流中加锁的报文包进行解锁处理;调用多核处理器中的多个核对所述报文流中的多个报文包进行处理。4.如权利要求1所述的方法,其特征在于,所述获取报文流的报文描述符之前包括:获取报文包的五元组哈希值;根据所述报文包的五元组哈希值和报文包的包头数据,将具有相同五元组哈希值和包头数据的报文包组成报文流。5.如权利要求4所述的方法,其特征在于,所述获取报文包的五元组哈希值包括:获取报文包的五元组,所述五元组数据包括源IP、目的IP、源端口、目的端口和协议类型;根据所述五元组,利用循环冗余算法,计算得到五元组哈希值。6.一种多核网络...

【专利技术属性】
技术研发人员:朱光原
申请(专利权)人:武汉思普崚技术有限公司
类型:发明
国别省市:湖北,42

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

1