报文保序方法及网络设备技术

技术编号:20331301 阅读:23 留言:0更新日期:2019-02-13 07:08
本发明专利技术提供一种报文保序方法及网络设备。所述方法包括:控制源转发卡对待跨卡转发的报文进行封装,其中,同一以太类型值对应不同转发卡中的同一CPU核及以太网芯片中的同一接收队列;控制源转发卡将封装后的报文发送给目的转发卡;控制目的转发卡根据报文中的以太类型值,将报文分发到对应的接收队列中;使目的转发卡的CPU核从各自核号对应的网络接口接收队列中接收报文并进行报文处理,以确保报文在跨卡后能被并行接收及保序处理。通过上述流程源转发卡上由同一个核处理的报文到了目的转发卡上会被同一个核处理,这样保证了同一条流的报文在进行跨卡处理后能进行保序处理,防止报文跨卡后报文乱序。

【技术实现步骤摘要】
报文保序方法及网络设备
本专利技术数据通信领域,具体而言,涉及一种报文保序方法及网络设备。
技术介绍
在带宽需求量越来越大的今天,对网络设备的转发能力要求也越来越高。而现今的单个CPU处理性能已经远远满足不了网络设备对性能的要求。于是就出现了拥有多张转发卡同时使用多个CPU转发数据的高端网络设备。每张转发卡都有CPU,多张转发卡同时工作即可实现多个CPU在同一台网络设备中并行转发数据,以实现提高网络设备整机性能的目的。然而由于这些转发卡均属于同一台网络设备,不可避免会出现报文跨卡的情况,本专利技术即是为了解决报文跨卡后在目的转发卡上保序的技术问题。当报文从A转发卡进入网络设备后经过转发模块处理,转发模块可能会发现该报文的出接口在B转发卡上,此时A转发卡上的转发模块就需要将该报文进行一定的私有协议封装后发送到B转发卡,由B转发卡继续做后续的转发处理直到将报文发送出去,以完成报文的转发。从A转发卡进入网络设备的报文都是标准的报文,比如说标准的以太报文。此类报文可以通过A转发卡的网络接口硬件识别和分流到多核并行保序处理。但是一旦报文需要跨卡则A转发卡的跨卡模块会对报文进行私有协议封装,将封装后的报文通过转发卡间的以太网发送给B转发卡。B转发卡接收到报文后再由跨卡模块解封装后交给转发模块进行后续的转发处理,直到将报文发送出去完成跨卡报文的转发处理。在上述的跨卡流程中有一个需要解决的问题是:一个标准的以太报文经过A转发卡进行私有协议封装后的报文不再是标准的以太报文,这个报文到达B转发卡时,由于它不是标准格式的报文,B转发卡上用于卡间互连的以太网芯片无法识别此报文。进而无法对A转发卡发送过来的报文进行分流处理。如果需要利用B转发卡上的多核并行处理优势就必须要求以太网芯片可以将不同的流交给不同的核处理,而此时以太网芯片不能识别报文,就做不到这一点。如果强行想要利用多核性能则只能随机将报文交给多核处理,而这种处理方式会导致同一条流的报文乱序。
技术实现思路
为了克服现有技术中的上述不足,本专利技术所要解决的技术问题是提供一种报文保序方法及网络设备,其能够确保同一条流的报文进行跨卡处理后能在目的转发卡上进行保序处理,在利用多核并行处理优势的情况下同时解决报文乱序的技术问题。本专利技术提供一种报文保序方法,应用于网络设备,其中,所述网络设备包括多个转发卡,每个转发卡包括多核CPU和以太网芯片,所述方法包括:控制源转发卡对待跨卡转发的报文进行封装,其中,封装的报文中插入有以太类型值,同一以太类型值对应不同转发卡中的同一CPU核及以太网芯片中的同一接收队列;控制源转发卡将封装后的报文发送给目的转发卡;控制所述目的转发卡根据报文中的以太类型值,将报文分发到对应的以太网芯片接收队列中;使所述目的转发卡的各CPU核从对应于本核的以太网芯片接收队列中接收报文并进行报文处理,以确保报文在跨卡后能被并行接收及保序处理。可选地,所述控制源转发卡对待转发的报文进行封装的步骤包括:对待转发报文进行封装;根据处理源转发卡上跨卡报文的CPU核得到对应的以太类型值;将所述以太类型值插入到封装后的报文中。可选地,上述方法还包括:配置以太类型值、转发卡中CPU核与各接收队列之间的对应关系。可选地,所述配置以太类型值、转发卡中CPU核与各接收队列之间的对应关系的步骤包括:建立转发卡中各CPU核与以太网芯片各接收队列之间的对应关系;获得能被所述以太网芯片的RSS功能识别并HASH到以太网芯片各接收队列的以太类型值;将所述获得的以太类型值存入以各接收队列对应的CPU核的核号为下标的数组中,以建立以太类型值与CPU核、各接收队列之间的对应关系。可选地,所述根据处理待转发的报文的源转发卡上跨卡报文的CPU核得到对应的以太类型值的步骤包括:从所述源转发卡获取执行发送报文的CPU核的核号,以CPU核号为下标从所述数组中取得该CPU核号对应的以太类型值。可选地,所述目的转发卡根据报文中的以太类型值,将报文分发到对应的接收队列中的步骤包括:根据所述目的转发卡的以太网芯片RSS功能将具有同一以太类型值的接收报文,发送到与该以太类型值对应的接收队列中,以便由与该接收队列对应的目的转发卡的CPU核进行报文处理。本专利技术还提供一种网络设备,所述网络设备包括多个转发卡,每个转发卡包括多核CPU和以太网芯片,所述网络设备还包括:控制封装模块,用于控制源转发卡对待跨卡转发的报文进行封装,其中,封装的报文中插入有以太类型值,同一以太类型值对应不同转发卡中的同一CPU核及以太网芯片中的同一接收队列;控制发送模块,用于控制源转发卡将封装后的报文发送给目的转发卡;控制分发模块,用于控制所述目的转发卡根据报文中的以太类型值,将报文分发到对应的以太网芯片接收队列中;接收处理模块,用于使所述目的转发卡的各CPU核从对应于本核的以太网芯片接收队列中接收报文并进行报文处理,以确保报文在跨卡后能被并行接收及保序处理。可选地,所述控制封装模块控制源转发卡对待转发的报文进行封装的方式,包括:对待转发报文进行封装;根据处理源转发卡上跨卡报文的CPU核得到对应的以太类型值;将所述以太类型值插入到封装后的报文中。可选地,所述设备包括:配置模块,用于配置以太类型值、转发卡中CPU核与各接收队列之间的对应关系。可选地,所述配置模块配置以太类型值、转发卡中CPU核与各接收队列之间的对应关系的方式包括:建立转发卡中CPU核与各接收队列之间的对应关系;获得能被转发卡RSS功能识别并HASH到各接收队列的以太类型值;将所述获得的以太类型值存入以各接收队列对应的CPU核的核号为下标的数组中,以建立以太类型值与CPU核号、各接收队列之间的对应关系。可选地,所述配置模块根据处理源转发卡上跨卡报文的CPU核得到对应的以太类型值的方式,包括:从所述源转发卡获取执行发送报文的CPU核的核号,以CPU核号为数组下标从所述数组中取得该CPU核号对应的以太类型值。可选地,接收处理模块使所述目的转发卡的CPU核从对应的接收队列中接收报文并进行报文处理,以确保报文在跨卡后能保序的方式,包括:根据所述目的转发卡的以太网芯片RSS功能将具有同一以太类型值的接收报文,发送到与该以太类型值对应的接收队列中,以便由与该接收队列对应的目的转发卡的CPU核进行报文处理。相对于现有技术而言,本专利技术具有以下有益效果:本专利技术提供一种报文保序方法及网络设备。所述方法包括:控制源转发卡对待转发的报文进行封装,其中,封装的报文中插入有以太类型值,同一以太类型值对应不同转发卡中的同一CPU核及以太网芯片中的同一接收队列;控制源转发卡将封装后的报文发送给目的转发卡;控制所述目的转发卡根据报文中的以太类型值,将报文分发到对应的接收队列中;使所述目的转发卡的CPU核从各自核号对应的网络接口接收队列中接收报文并进行报文处理,以确保报文在跨卡后能被并行接收及保序处理。通过上述流程,源转发卡上由同一个核处理的报文到了目的转发卡上也会被同一个核处理,这样也保证了同一条流的报文在进行跨卡处理后能进行保序处理,防止报文跨卡后报文乱序。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定本文档来自技高网
...

【技术保护点】
1.一种报文保序方法,其特征在于,应用于网络设备,其中,所述网络设备包括多个转发卡,每个转发卡包括多核CPU和以太网芯片,所述方法包括:控制源转发卡对待跨卡转发的报文进行封装,其中,封装的报文中插入有以太类型值,同一以太类型值对应不同转发卡中的同一CPU核及以太网芯片中的同一接收队列;控制源转发卡将封装后的报文发送给目的转发卡;控制所述目的转发卡根据报文中的以太类型值,将报文分发到对应的以太网芯片接收队列中;使所述目的转发卡的各CPU核从对应于本核的以太网芯片接收队列中接收报文并进行报文处理,以确保报文在跨卡后能被并行接收及保序处理。

【技术特征摘要】
1.一种报文保序方法,其特征在于,应用于网络设备,其中,所述网络设备包括多个转发卡,每个转发卡包括多核CPU和以太网芯片,所述方法包括:控制源转发卡对待跨卡转发的报文进行封装,其中,封装的报文中插入有以太类型值,同一以太类型值对应不同转发卡中的同一CPU核及以太网芯片中的同一接收队列;控制源转发卡将封装后的报文发送给目的转发卡;控制所述目的转发卡根据报文中的以太类型值,将报文分发到对应的以太网芯片接收队列中;使所述目的转发卡的各CPU核从对应于本核的以太网芯片接收队列中接收报文并进行报文处理,以确保报文在跨卡后能被并行接收及保序处理。2.如权利要求1所述的方法,其特征在于,所述控制源转发卡对待转发的报文进行封装的步骤包括:对待转发报文进行封装;根据处理源转发卡上跨卡报文的CPU核得到对应的以太类型值;将所述以太类型值插入到封装后的报文中。3.如权利要求2所述的方法,其特征在于,所述方法包括:配置以太类型值、转发卡中CPU核与各接收队列之间的对应关系。4.如权利要求3所述的方法,其特征在于,所述配置以太类型值、转发卡中CPU核与各接收队列之间的对应关系的步骤包括:建立转发卡中各CPU核与以太网芯片各接收队列之间的对应关系;获得能被所述以太网芯片的RSS功能识别并HASH到以太网芯片各接收队列的以太类型值;将所述获得的以太类型值存入以各接收队列对应的CPU核的核号为下标的数组中,以建立以太类型值与CPU核、各接收队列之间的对应关系。5.如权利要求4所述的方法,其特征在于,所述根据处理源转发卡上跨卡报文的CPU核得到对应的以太类型值的步骤包括:从所述源转发卡获取执行发送报文的CPU核的核号,以CPU核号为数组下标从所述数组中取得该CPU核号对应的以太类型值。6.如权利要求4所述的方法,其特征在于,所述目的转发卡根据报文中的以太类型值,将报文分发到对应的接收队列中的步骤包括:所述目的转发卡根据以太网芯片RSS功能将具有同一以太类型值的接收报文,发送到与该以太类型值对应的接收队列中,以便由与该接收队列对应的目的转发卡的CPU核进行报文处理。7.一种网络设备,其特征在于,所述网络设备包括多个转发卡,每个转发...

【专利技术属性】
技术研发人员:姜先绪
申请(专利权)人:迈普通信技术股份有限公司
类型:发明
国别省市:四川,51

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

1