CN109327405A - 报文保序方法及网络设备 - Google Patents
报文保序方法及网络设备 Download PDFInfo
- Publication number
- CN109327405A CN109327405A CN201710638218.3A CN201710638218A CN109327405A CN 109327405 A CN109327405 A CN 109327405A CN 201710638218 A CN201710638218 A CN 201710638218A CN 109327405 A CN109327405 A CN 109327405A
- Authority
- CN
- China
- Prior art keywords
- message
- card
- forwarding
- cpu core
- ethertype value
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/621—Individual queue per connection or flow, e.g. per VC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种报文保序方法及网络设备。所述方法包括:控制源转发卡对待跨卡转发的报文进行封装,其中,同一以太类型值对应不同转发卡中的同一CPU核及以太网芯片中的同一接收队列;控制源转发卡将封装后的报文发送给目的转发卡;控制目的转发卡根据报文中的以太类型值,将报文分发到对应的接收队列中;使目的转发卡的CPU核从各自核号对应的网络接口接收队列中接收报文并进行报文处理,以确保报文在跨卡后能被并行接收及保序处理。通过上述流程源转发卡上由同一个核处理的报文到了目的转发卡上会被同一个核处理,这样保证了同一条流的报文在进行跨卡处理后能进行保序处理,防止报文跨卡后报文乱序。
Description
技术领域
本发明数据通信领域,具体而言,涉及一种报文保序方法及网络设备。
背景技术
在带宽需求量越来越大的今天,对网络设备的转发能力要求也越来越高。而现今的单个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是本发明第一实施例提供的报文保序方法的一种步骤流程图。
图2是图1中步骤S120的子步骤流程图。
图3是本发明第一实施例提供的报文保序方法的另一种步骤流程图。
图4是图3中步骤S110的子步骤流程图。
图5是本发明第二实施例提供的网络设备的功能模块图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
第一实施例
请参照图1,图1是本发明较佳实施例提供的报文保序方法的一种步骤流程图。所述方法应用于网络设备,其中,所述网络设备包括,多个转发卡,每个转发卡包括多核CPU和以太网芯片,下面对报文保序方法的步骤做具体的描述。
步骤S120,控制源转发卡对待跨卡转发的报文进行封装。
在本实施例中,封装的报文中插入有以太类型值,同一以太类型值对应不同转发卡中的同一CPU核及以太网芯片中同一接收队列。
可选地,请参照图2,所述步骤S120可以包括子步骤S121、子步骤S122及子步骤S123。
子步骤S121,对待转发报文进行封装。
在本实施例中,所述源转发卡将需要转发的报文通过私有协议进行封装,一般地,封装前报文的格式为标准报文格式,比如,标准的以太网报文格式。封装后的报文会变成非标准格式的报文。
子步骤S122,根据处理源转发卡上跨卡报文的CPU核得到对应的以太类型值。
在本实施例中,可以根据预先建立的CPU核与以太类型值之间的对应关系,根据处理待转发报文的源转发卡的CPU核号,查找该CPU核对应的以太类型值。其中,建立的CPU核与以太类型值之间的对应关系的步骤将在后面进行描述。
子步骤S123,将所述以太类型值插入到封装后的报文中。
在本实施例中,在封装后的报文中插入所述以太类型值,可选地,所述以太类型值可以插入到报文对应的以太类型偏移处。在封装后的报文中插入以太类型值以便目标转发卡根据所述以太类型值将接收报文分发给对应的接收队列。
步骤S130,控制源转发卡将封装后的报文发送给目的转发卡。
在源转发卡完成待转发报文的封装后,网络设备控制源转发卡将封装后的报文发送给目的转发卡。
步骤S140,控制所述目的转发卡根据报文中的以太类型值,将报文分发到对应的以太网芯片接收队列中。
在本实施例中,根据所述目的转发卡的以太网芯片RSS(Receive Side Scaling,接收侧缩放)功能将具有同一以太类型值的接收报文,发送到与该以太类型值对应的以太网芯片接收队列中,以便由与该以太网芯片接收队列对应的目的转发卡的CPU核进行报文处理。其中,RSS功能具体是指是一种能够在多处理器系统中使接收到的多条数据流在多个CPU核间高效分发的以太网芯片驱动技术。一般由以太网芯片的硬件实现,在硬件逻辑中使用HASH算法将属于不同数据流的报文分发到不同的以太网芯片接收队列中,而不同的CPU核在不同的以太网芯片接收队列中接收报文即可实现不同数据流的分发。
步骤S150,使所述目的转发卡的各CPU核从对应于本核的以太网芯片接收队列中接收报文并进行报文处理,以确保报文在跨卡后能被并行接收及保序处理。
在本实施例中,所述目的转发卡的CPU核从对应的以太网芯片接收队列中接收报文后,先将插入封装报文中的以太类型值去掉,再对封装报文进行解封装处理以便CPU核进行后续处理。
请参照图3,在本具体实施例中,所述方法还包括步骤S110。
步骤S110,配置以太类型值、转发卡中CPU核与各接收队列之间的对应关系。
可选地,请参照图4,所述步骤S110可以包括子步骤S111,子步骤S112及子步骤S113。
子步骤S111,建立转发卡中各CPU核与以太网芯片各接收队列之间的对应关系。
在本实施例中,在转发卡上将CPU核的核与以太网芯片的接收队列进行绑定,每个CPU核与接收队列一一对应,比如核号为0的核对应0号接收队列,核号为1的核对应1号接收队列。
子步骤S112,获得能被所述以太网芯片的RSS功能识别并HASH到以太网芯片各接收队列的以太类型值。
在本实施例中,可通过人为构造报文输入以太网芯片,并通过查看以太网芯片对报文的处理结果,找到能被RSS功能识别并HASH到各接收队列的以太类型值。
子步骤S113,将所述获得的以太类型值存入以各接收队列对应的CPU核的核号为下标的数组中,以建立以太类型值与CPU核号、各接收队列之间的对应关系。
在本实施例中,转发卡将步骤S112中得到的以太类型值存入一个数组中,并将数组的下标配置为与各接收队列对应的CPU核的核号。源转发卡在发送报文时可以通过核号查找到数组下标为该核号的数组,并从该数组中获得对应的以太类型值。比如,以太类型为0x0810的报文会被HASH到5号接收队列中,则0x0810就会被放置下标为5的数组中。
下面以一具体例子对上述方法进行说明。
假设源转发卡上核号为5的CPU核需要跨卡发送一个报文,源转发卡会用核号5去数组中取到以太类型值(比如,0x0810),并在将该以太类型值插入到封装后报文后将该报文发送出去。所述目的转发卡在接收到该报文后,通过目的转发卡的以太网芯片RSS功能对报文进行分流,可选地,RSS功能会将以太类型值为0x0810的报文全部送到以太网芯片的第5号接收队列中,在目的转发卡中安排核号为5的CPU核到5号接收队列接收报文。最终实现源转发卡由核号为5的CPU核发出去的报文到目的转发卡后还是全部由核号为5的CPU核进行处理,实现在不识别数据流的情况下实现报文跨卡保序处理。
应当理解的是,上述例子仅仅是为方便理解所举的例,不应该被认为是对本技术方案的限定。
第二实施例
请参照图5,图5为本发明较佳实施例提供的网络设备的功能模块框图,所述网络设备包括:控制封装模块220、控制发送模块230、控制分发模块240、接收处理模块250。
所述控制封装模块220,用于控制源转发卡对待跨卡转发的报文进行封装,其中,封装的报文中插入有以太类型值,同一以太类型值对应不同转发卡中的同一CPU核及以太网芯片中的同一接收队列。
在本实施例中,所述控制封装模块220控制源转发卡对待转发的报文进行封装的方式,包括:
对待转发报文进行封装;
根据处理源转发卡上跨卡报文的CPU核得到对应的以太类型值;
将所述以太类型值插入到封装后的报文中。
在本实施例中,所述控制封装模块220用于执行图1中的步骤S120,关于所述控制封装模块220的具体描述可以参照步骤S120的描述。
所述控制发送模块230,用于控制源转发卡将封装后的报文发送给目的转发卡。
在本实施例中,所述控制发送模块230用于执行图1中的步骤S130,关于所述控制发送模块230的具体描述可以参照步骤S120的描述。
所述控制分发模块240,用于控制所述目的转发卡根据报文中的以太类型值,将报文分发到对应的以太网芯片接收队列中。
在本实施例中,所述控制分发模块240用于执行图1中的步骤S140,关于所述控制分发模块240的具体描述可以参照步骤S140的描述。
所述接收处理模块250,用于使所述目的转发卡的各CPU核从对应于本核的以太网芯片接收队列中接收报文并进行报文处理,以确保报文在跨卡后被并行接收及保序处理。
在本实施例中,所述接收处理模块250用于执行图1中的步骤S150,关于接收处理模块250的具体描述可以参照步骤S150的描述。
请再次参照图5,在本实施例中,所述网络设备还包括配置模块210。
所述配置模块210,用于配置以太类型值、转发卡中CPU核与各接收队列之间的对应关系。
在本实施例中,所述配置模块210配置以太类型值、转发卡中CPU核与各接收队列之间的对应关系的方式包括:
建立转发卡中CPU核与各接收队列之间的对应关系;
获得能被转发卡RSS功能识别并HASH到各接收队列的以太类型值;
将所述获得的以太类型值存入以各接收队列对应的CPU核的核号为下标的数组中,以建立以太类型值与CPU核、各接收队列之间的对应关系。
在本实施例中,所述配置模块210根据处理待转发的报文的源转发卡的CPU核得到对应的以太类型值的方式,包括:
从所述源转发卡获取执行发送报文的CPU核的核号,通过CPU核号从所述数组中查找该CPU核号对应的以太类型值。
在本实施例中,所述配置模块210用于执行图3中的步骤S110,关于配置模块210的具体描述可以参照步骤S110的描述。
本发明提供一种报文保序方法及网络设备。所述方法包括:控制源转发卡对待转发的报文进行封装,其中,封装的报文中插入有以太类型值,同一以太类型值对应不同转发卡中的同一CPU核及以太网芯片中的同一接收队列;控制源转发卡将封装后的报文发送给目的转发卡;控制所述目的转发卡根据报文中的以太类型值,将报文分发到对应的接收队列中;使所述目的转发卡的CPU核从对应的接收队列中接收报文并进行报文处理,以确保报文在跨卡后能保序。通过上述流程,源转发卡上由同一个核处理的报文到了目的转发卡上也会被同一个核处理,这样也保证了同一条流的报文在进行跨卡处理后能进行保序处理,防止报文跨卡后报文乱序。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
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.一种网络设备,其特征在于,所述网络设备包括多个转发卡,每个转发卡包括多核CPU和以太网芯片,所述网络设备还包括:
控制封装模块,用于控制源转发卡对待跨卡转发的报文进行封装,其中,封装的报文中插入有以太类型值,同一以太类型值对应不同转发卡中的同一CPU核及以太网芯片中的同一接收队列;
控制发送模块,用于控制源转发卡将封装后的报文发送给目的转发卡;
控制分发模块,用于控制所述目的转发卡根据报文中的以太类型值,将报文分发到对应的以太网芯片接收队列中;
接收处理模块,用于使所述目的转发卡的各CPU核从对应于本核的以太网芯片接收队列中接收报文并进行报文处理,以确保报文在跨卡后能被并行接收及保序处理。
8.如权利要求7所述的网络设备,其特征在于,所述控制封装模块控制源转发卡对待转发的报文进行封装的方式,包括:
对待转发报文进行封装;
根据处理源转发卡上跨卡报文的CPU核得到对应的以太类型值;
将所述以太类型值插入到封装后的报文中。
9.如权利要求8所述的网络设备,其特征在于,所述设备包括:
配置模块,用于配置以太类型值、转发卡中CPU核与各接收队列之间的对应关系。
10.如权利要求9所述的网络设备,其特征在于,所述配置模块配置以太类型值、转发卡中CPU核与各接收队列之间的对应关系的方式包括:
建立转发卡中CPU核与各接收队列之间的对应关系;
获得能被转发卡RSS功能识别并HASH到各接收队列的以太类型值;
将所述获得的以太类型值存入以各接收队列对应的CPU核的核号为下标的数组中,以建立以太类型值与CPU核、各接收队列之间的对应关系。
11.如权利要求9所述的网络设备,其特征在于,所述配置模块根据处理源转发卡上跨卡报文的CPU核得到对应的以太类型值的方式,包括:
从所述源转发卡获取执行发送报文的CPU核的核号,以CPU核号为数组下标从所述数组中取得该CPU核号对应的以太类型值。
12.如权利要求9所述的网络设备,其特征在于,接收处理模块使所述目的转发卡的CPU核从对应的接收队列中接收报文并进行报文处理,以确保报文在跨卡后能保序的方式,包括:
根据所述目的转发卡的以太网芯片RSS功能将具有同一以太类型值的接收报文,发送到与该以太类型值对应的接收队列中,以便由与该接收队列对应的目的转发卡的CPU核进行报文处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710638218.3A CN109327405B (zh) | 2017-07-31 | 2017-07-31 | 报文保序方法及网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710638218.3A CN109327405B (zh) | 2017-07-31 | 2017-07-31 | 报文保序方法及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109327405A true CN109327405A (zh) | 2019-02-12 |
CN109327405B CN109327405B (zh) | 2022-08-12 |
Family
ID=65245581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710638218.3A Active CN109327405B (zh) | 2017-07-31 | 2017-07-31 | 报文保序方法及网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109327405B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110830386A (zh) * | 2019-11-14 | 2020-02-21 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 报文保序的方法、装置和系统 |
CN113630376A (zh) * | 2021-06-16 | 2021-11-09 | 新华三信息安全技术有限公司 | 一种网络安全设备及其处理报文的方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102055649A (zh) * | 2009-10-29 | 2011-05-11 | 成都市华为赛门铁克科技有限公司 | 多核系统的报文处理方法、装置及系统 |
CN102480430A (zh) * | 2010-11-24 | 2012-05-30 | 迈普通信技术股份有限公司 | 实现报文保序的方法和装置 |
CN102801635A (zh) * | 2012-08-30 | 2012-11-28 | 北京傲天动联技术有限公司 | 在多核处理器系统中使用的报文保序方法 |
CN102811169A (zh) * | 2012-07-24 | 2012-12-05 | 成都卫士通信息产业股份有限公司 | 采用哈希算法进行多核并行处理的vpn实现方法及系统 |
CN102868636A (zh) * | 2012-09-11 | 2013-01-09 | 汉柏科技有限公司 | 多核网络设备报文按流保序方法及系统 |
CN102891809A (zh) * | 2012-09-25 | 2013-01-23 | 汉柏科技有限公司 | 多核网络设备报文按接口保序方法及系统 |
CN103067304A (zh) * | 2012-12-27 | 2013-04-24 | 华为技术有限公司 | 报文保序的方法及装置 |
CN103581055A (zh) * | 2012-08-08 | 2014-02-12 | 华为技术有限公司 | 报文的保序方法、流量调度芯片及分布式存储系统 |
CN104281493A (zh) * | 2014-09-28 | 2015-01-14 | 般固(北京)科技股份有限公司 | 一种提升应用交付通讯平台多进程程序性能的方法 |
CN105511954A (zh) * | 2014-09-23 | 2016-04-20 | 华为技术有限公司 | 一种报文处理方法及装置 |
US20170126567A1 (en) * | 2015-10-31 | 2017-05-04 | Nicira, Inc. | Software receive side scaling for overlay flow re-dispatching |
CN106713185A (zh) * | 2016-12-06 | 2017-05-24 | 瑞斯康达科技发展股份有限公司 | 一种多核cpu的负载均衡方法及装置 |
-
2017
- 2017-07-31 CN CN201710638218.3A patent/CN109327405B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102055649A (zh) * | 2009-10-29 | 2011-05-11 | 成都市华为赛门铁克科技有限公司 | 多核系统的报文处理方法、装置及系统 |
CN102480430A (zh) * | 2010-11-24 | 2012-05-30 | 迈普通信技术股份有限公司 | 实现报文保序的方法和装置 |
CN102811169A (zh) * | 2012-07-24 | 2012-12-05 | 成都卫士通信息产业股份有限公司 | 采用哈希算法进行多核并行处理的vpn实现方法及系统 |
CN103581055A (zh) * | 2012-08-08 | 2014-02-12 | 华为技术有限公司 | 报文的保序方法、流量调度芯片及分布式存储系统 |
CN102801635A (zh) * | 2012-08-30 | 2012-11-28 | 北京傲天动联技术有限公司 | 在多核处理器系统中使用的报文保序方法 |
CN102868636A (zh) * | 2012-09-11 | 2013-01-09 | 汉柏科技有限公司 | 多核网络设备报文按流保序方法及系统 |
CN102891809A (zh) * | 2012-09-25 | 2013-01-23 | 汉柏科技有限公司 | 多核网络设备报文按接口保序方法及系统 |
CN103067304A (zh) * | 2012-12-27 | 2013-04-24 | 华为技术有限公司 | 报文保序的方法及装置 |
CN105511954A (zh) * | 2014-09-23 | 2016-04-20 | 华为技术有限公司 | 一种报文处理方法及装置 |
CN104281493A (zh) * | 2014-09-28 | 2015-01-14 | 般固(北京)科技股份有限公司 | 一种提升应用交付通讯平台多进程程序性能的方法 |
US20170126567A1 (en) * | 2015-10-31 | 2017-05-04 | Nicira, Inc. | Software receive side scaling for overlay flow re-dispatching |
CN106713185A (zh) * | 2016-12-06 | 2017-05-24 | 瑞斯康达科技发展股份有限公司 | 一种多核cpu的负载均衡方法及装置 |
Non-Patent Citations (3)
Title |
---|
卜佑军,王 超,汪斌强: "一种采用流切割实现报文保序的负载均衡算法", 《计算机科学》 * |
张国晶: "基于多核分布式技术的路由器软件系统的设计与实现", 《中国硕士学位论文全文数据库》 * |
赵庆贺: "多核网络处理器并行任务调度软硬件关键技术研究", 《中国硕士学位论文全文数据库》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110830386A (zh) * | 2019-11-14 | 2020-02-21 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 报文保序的方法、装置和系统 |
CN113630376A (zh) * | 2021-06-16 | 2021-11-09 | 新华三信息安全技术有限公司 | 一种网络安全设备及其处理报文的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109327405B (zh) | 2022-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11412076B2 (en) | Network access node virtual fabrics configured dynamically over an underlay network | |
US20210320820A1 (en) | Fabric control protocol for large-scale multi-stage data center networks | |
CN103534997B (zh) | 用于无损耗以太网的基于端口和优先级的流控制机制 | |
US20180287818A1 (en) | Non-blocking any-to-any data center network having multiplexed packet spraying within access node groups | |
WO2019068017A1 (en) | RESILIENT NETWORK COMMUNICATION USING SELECTIVE PULVER FLOW SPRAY BY MULTIPATH PATH | |
US8948193B2 (en) | Methods for intelligent NIC bonding and load-balancing | |
CN102067530B (zh) | 向特定业务流提供背压流控制 | |
CN103095568B (zh) | 机架式交换设备实现堆叠的系统及方法 | |
CN1938992B (zh) | 用于加权随机调度的方法和装置 | |
US8824491B2 (en) | Distributed scheduling for variable-size packet switching system | |
RU2011140978A (ru) | Способ и устройство маршрутизации ввода-вывода и карта | |
US8817799B2 (en) | Network processor for supporting residential gateway applications | |
EP3367622B1 (en) | Data processing apparatus | |
JP2016518054A (ja) | データのスケジューリングおよび交換の方法、装置、システム | |
CN109684269A (zh) | 一种pcie交换芯片内核及工作方法 | |
US20170160929A1 (en) | In-order execution of commands received via a networking fabric | |
CN108809864A (zh) | 一种基于fpga的多线卡高密度tap交换机 | |
CN103067359A (zh) | 一种基于连接复用的提高服务器并发处理能力的系统及方法 | |
CN107579925A (zh) | 报文转发方法及装置 | |
CN109327405A (zh) | 报文保序方法及网络设备 | |
CN105635000B (zh) | 一种报文存储转发方法和电路及设备 | |
CN105530157B (zh) | Afdx网络交换机多个虚拟链路共享信用的架构及方法 | |
CN106533846A (zh) | 测试交换机转发性能的网络配置方法及测试方法 | |
CN104954262B (zh) | 一种数据快速转发方法和系统 | |
CN104283805B (zh) | 一种sdn网络报文发送方法及设备 |
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 |