报文转发方法及装置制造方法及图纸

技术编号:18403721 阅读:30 留言:0更新日期:2018-07-08 22:05
本公开涉及报文转发方法及装置。该方法包括:根据转发表确定接收到报文的入接口对应的出接口聚合组;当所述出接口聚合组中存在与所述入接口属于相同NUMA节点的出接口时,从所述出接口聚合组中与所述入接口属于相同NUMA节点的出接口中选取用于发送所述报文的第一出接口;通过所述第一出接口发送所述报文。本公开的报文转发方法及装置,能够在接收到报文的入接口对应的出接口聚合组中选择与该入接口属于相同NUMA节点的出接口转发报文,而无需跨NUMA节点转发报文,从而实现在报文转发的过程中仅需要访问NUMA节点的本地内存,降低设备的运算开销,提高设备的转发效率和吞吐能力。

Message forwarding method and device

The present disclosure relates to a message forwarding method and device. The method includes: determining the outgoing aggregate group corresponding to the incoming interface of the message according to the forwarding table; when the interface aggregation group exists an outgoing interface belonging to the same NUMA node as the interface, it is selected from the interface aggregation group with the interface belonging to the same NUMA node for sending the description. The first interface of the message; transmitting the message through the first interface. The disclosed message forwarding method and device can select an out interface forwarding message that belongs to the same NUMA node in the outgoing aggregate group corresponding to the incoming interface of the incoming message, without having to forward the message across the NUMA node, thus realizing the local memory that only needs to access the NUMA node in the process of forwarding the message. Reduce the operation cost of the device, improve the forwarding efficiency and throughput of the device.

【技术实现步骤摘要】
报文转发方法及装置
本公开涉及通信
,尤其涉及一种报文转发方法及装置。
技术介绍
NUMA(NonUniformMemoryAccessArchitecture,非统一内存访问架构)是一种用于多处理器的电脑记忆体设计,内存访问时间取决于处理器的内存位置。通过NUMA架构可以将几十个甚至上百个CPU(CentralProcessingUnit,中央处理器)组合在一个设备中。NUMA架构可以具有多个NUMA节点,每个NUMA节点分别具有多个CPU、本地内存、I/O接口以及网卡等。链路聚合是将多个物理以太网接口聚合在一起形成一个逻辑上的聚合组,使用链路聚合服务的上层实体把同一聚合组内的多条物理链路视为一条逻辑链路。通过将多个以太网物理端口捆绑在一起进而形成一条以太网逻辑链路,从而实现增加链路带宽的目的。链路聚合一般用来连接一个或者多个带宽需求大的设备,例如,连接骨干网络的服务器或者服务器群。相关技术中,在采用NUMA框架的设备之间进行链路聚合之后,各个物理链路的接口可能分布在不同NUMA节点上。当各个物理链路的接口分布在不同NUMA节点上时,如果选取了和入接口不属于相同NUMA节点的出接口,则产生了跨NUMA节点转发报文,将会造成设备的运算开销增大,转发效率降低,从而造成设备的吞吐能力降低。
技术实现思路
有鉴于此,本公开提出了一种报文转发方法及装置,以解决相关技术中进行报文转发的入接口和出接口不属于相同NUMA节点时,造成设备转发效率和吞吐能力降低的问题。根据本公开的一方面,提供了一种报文转发方法,包括:根据转发表确定接收到报文的入接口对应的出接口聚合组;当所述出接口聚合组中存在与所述入接口属于相同非统一内存访问架构NUMA节点的出接口时,从所述出接口聚合组中与所述入接口属于相同NUMA节点的出接口中选取用于发送所述报文的第一出接口;通过所述第一出接口发送所述报文。根据本公开的另一方面,提供了一种报文转发装置,包括:出接口聚合组确定模块,用于根据转发表确定接收到报文的入接口对应的出接口聚合组;第一出接口选取模块,用于当所述出接口聚合组中存在与所述入接口属于相同非统一内存访问架构NUMA节点的出接口时,从所述出接口聚合组中与所述入接口属于相同NUMA节点的出接口中选取用于发送所述报文的第一出接口;报文发送模块,用于通过所述第一出接口发送所述报文。根据本公开的另一方面,提供了一种报文转发装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述方法。根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。本公开的报文转发方法及装置,根据转发表确定接收到报文的入接口对应的出接口聚合组,当该出接口聚合组中存在与该入接口属于相同NUMA节点的出接口时,从该出接口聚合组中与该入接口属于相同NUMA节点的出接口中选取用于发送该报文的第一出接口,通过第一出接口发送该报文,由此能够在接收到报文的入接口对应的出接口聚合组中选择与该入接口属于相同NUMA节点的出接口转发报文,而无需跨NUMA节点转发报文,从而实现在报文转发的过程中仅需要访问NUMA节点的本地内存,降低设备的运算开销,提高设备的转发效率和吞吐能力。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。附图说明包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。图1示出相关技术中设备进行链路聚合后的结构示意图。图2示出根据本公开一实施例的报文转发方法的流程图。图3示出本公开一实施例中设备进行链路聚合后的结构示意图。图4示出根据本公开一实施例的报文转发方法中步骤S12的一示意性的流程图。图5示出根据本公开一实施例的报文转发方法中步骤S12的一示意性的流程图。图6示出根据本公开一实施例的报文转发方法中步骤S12的一示意性的流程图。图7示出根据本公开一实施例的报文转发方法的一示意性的流程图。图8示出根据本公开一实施例的报文转发装置的框图。图9示出根据本公开一实施例的报文转发装置的一示意性的框图。图10是根据一示例性实施例示出的一种用于报文转发装置900的框图。具体实施方式以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。图1示出相关技术中设备进行链路聚合后的结构示意图。如图1所示,设备A具有NUMA节点1、NUMA节点2和NUMA节点3。设备A还具有接口1至接口8。其中,接口1至接口8均为物理以太网接口。接口1、接口5和接口8作为用于接收报文的入接口。接口2、接口3、接口4、接口6和接口7作为用于发送报文的出接口。接口2和接口3聚合形成出接口聚合组1,接口4、接口6和接口7聚合形成出接口聚合组2。接口1、接口2、接口3和接口4属于NUMA节点1,接口5、接口6和接口7属于NUMA节点2,接口8属于NUMA节点3。相关技术中,如图1所示,在接口5接收到报文的情况下,设备A查找转发表获取接口5对应的出接口聚合组为出接口聚合组2。设备A可以从出接口聚合组2所包括的多个出接口(接口4、接口6和接口7)中选取用于发送该报文的出接口。例如,设备A选取接口4用于发送该报文,则设备A通过接口4将该报文发出。在报文的转发过程中,接口5接收报文,接口4发送报文。接口5和接口4属于不同NUMA节点,由此产生了跨NUMA节点转发报文。NUMA节点2需要访问NUMA节点1的内存,将会造成设备A的运算开销增大,转发效率降低,从而造成设备A的吞吐能力降低。图2示出根据本公开一实施例的报文转发方法的流程图。该方法可以用于NUMA架构设备,例如NUMA服务器等,本公开对此不做限制。如图2所示,该方法包括步骤S21至步骤S23。在步骤S21中,根据转发表确定接收到报文的入接口对应的出接口聚合组。其中,入接口可以指用于接收报文的物理以太网接口,出接口可以指用于发送报文的物理以太网接口。转发表可以指用于使设备把接收到的报文从设备合适的接口转发出去的数据结构。转发表中包括入接口和出接口之间的对应关系,从而在报文从入接口接收时,根据转发表指导报文从对应的出接口转发出去。具体的,如何确定转发表可以采用现有技术中的方式,本公开并不加以限定。出接口聚合组可以指聚合了多个出接口形成的逻辑上的聚合组。出接口聚合组所包括的多个出接口具有相同的报文转发效果。在一种可能的实现方式中,在入接口接收到报文的情况下,可以根据该入接口的标识信息和转发表,确定该入接口对应的出接口或出接口聚合组。换言之,在该入接口对应的为一个出接口的情况下,即可以通本文档来自技高网...

【技术保护点】
1.一种报文转发方法,其特征在于,包括:根据转发表确定接收到报文的入接口对应的出接口聚合组;当所述出接口聚合组中存在与所述入接口属于相同非统一内存访问架构NUMA节点的出接口时,从所述出接口聚合组中与所述入接口属于相同NUMA节点的出接口中选取用于发送所述报文的第一出接口;通过所述第一出接口发送所述报文。

【技术特征摘要】
1.一种报文转发方法,其特征在于,包括:根据转发表确定接收到报文的入接口对应的出接口聚合组;当所述出接口聚合组中存在与所述入接口属于相同非统一内存访问架构NUMA节点的出接口时,从所述出接口聚合组中与所述入接口属于相同NUMA节点的出接口中选取用于发送所述报文的第一出接口;通过所述第一出接口发送所述报文。2.根据权利要求1所述的方法,其特征在于,从所述出接口聚合组中与所述入接口属于相同NUMA节点的出接口中选取用于发送所述报文的第一出接口,包括:确定所述出接口聚合组所包括的各个出接口;根据接口与NUMA节点之间的对应关系,确定所述入接口所属的NUMA节点;从所述出接口聚合组所包括的各个出接口中选取属于所述NUMA节点的出接口作为所述第一出接口。3.根据权利要求1所述的方法,其特征在于,从所述出接口聚合组中与所述入接口属于相同NUMA节点的出接口中选取用于发送所述报文的第一出接口,包括:根据接口与NUMA节点之间的对应关系,确定所述入接口所属的NUMA节点;确定所述NUMA节点所包括的各个出接口;从所述NUMA节点所包括的各个出接口中选取属于所述出接口聚合组的出接口作为所述第一出接口。4.根据权利要求1所述的方法,其特征在于,从所述出接口聚合组中与所述入接口属于相同NUMA节点的出接口中选取用于发送所述报文的第一出接口,包括:确定所述出接口聚合组所包括的各个出接口;根据接口与NUMA节点之间的对应关系,确定所述入接口所属的NUMA节点;确定所述NUMA节点所包括的各个出接口;根据所述NUMA节点所包括的各个出接口和所述出接口聚合组所包括的各个出接口,确定既属于所述出接口聚合组又属于所述NUMA节点的各个出接口;从既属于所述出接口聚合组又属于所述NUMA节点的各个出接口中选取出接口作为所述第一出接口。5.根据权利要求1所述的方法,其特征在于,若所述出接口聚合组中与所述入接口属于相同NUMA节点的出接口有多个,所述方法还包括:根据报文特征进行哈希运算,得到哈希运算结果;根据所述哈希运算结果,从所述出接口聚合组中与所述入接口属于相同NUMA节点的出接口中确定所述第一出接口。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述出接口聚合组中不存在与所述入接口属于相同NUMA节点的出接口时,从所述出接口聚合组中属于其他NUMA节点的出接口中确定用于发送所述报文的第二出接口。7.一种报文转发装置,其特征在于,包括:出接口聚合组确定模块,用于根据转发表确定接收到报文的入接口对应的出接口聚合组;第一出接口选取模块,用于当所...

【专利技术属性】
技术研发人员:刘文玉柳佳佳
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:浙江,33

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

1