CN107566302B - 报文转发方法和装置 - Google Patents
报文转发方法和装置 Download PDFInfo
- Publication number
- CN107566302B CN107566302B CN201710934018.2A CN201710934018A CN107566302B CN 107566302 B CN107566302 B CN 107566302B CN 201710934018 A CN201710934018 A CN 201710934018A CN 107566302 B CN107566302 B CN 107566302B
- Authority
- CN
- China
- Prior art keywords
- numa node
- forwarding
- numa
- service message
- identifier
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种报文转发方法和装置。该方法应用于第一NUMA节点,包括:接收业务报文;判断所述第一NUMA节点是否为用于转发所述业务报文的NUMA节点;如果所述第一NUMA节点不是用于转发所述业务报文的NUMA节点,则将所述第一NUMA节点设置为用于转发所述业务报文的NUMA节点;转发所述业务报文。因此,通过应用本申请提供的报文转发方法和装置,在NUMA架构下,当第一NUMA节点接收到业务报文时,如果判断出存在跨NUMA节点转发的情况,则将第一NUMA节点设置为转发业务报文的NUMA节点,避免出现跨NUMA节点转发的情况,从而保证系统整体吞吐能力,减少由于跨NUMA节点转发导致的不必要开销。
Description
技术领域
本申请涉及通信领域,尤其涉及一种报文转发方法和装置。
背景技术
在传统的对称多处理器(英文:Symmetrical Multiple Processor,简称:SMP)系统中,所有处理器共享系统总线。随着处理器数量的增大,通过共享系统总线访问内存的冲突也日趋激烈,成为全系统的瓶颈。
非统一内存架构(英文:Non-Uniform Memory Architecture,简称:NUMA)是为解决该问题而推出的一种架构。将SMP系统划分为多个NUMA节点(node),每个NUMA节点中包含中央处理器(英文:Central Processing Unit,简称:CPU)、本地内存资源以及网络适配器(英文:Network Interface Card,简称:NIC),其中,NIC也可称为NUMA节点的出入接口。
在SMP系统中,NUMA节点的入接口接收到流量(数据流)后,可以通过多个出接口将流量转发至同一目的地址。为了实现负载分担,SMP系统可以提供多重等价路径(Equal-Cost MultiPath,ECMP)转发功能。例如,转发至同一目的地址的流量,通过计算源IP地址和目的IP地址散列值的算法,可实现流量的负载分担。
在NUMA架构下采用ECMP转发存在的问题是:在ECMP转发中,如果选取了当前NUMA节点的出接口建立快转表,但当前NUMA节点的入接口状态发生故障,流量从属于另外一个NUMA节点的入接口进入,但仍会从当前NUMA节点的出接口进行转发,出现跨NUMA节点转发的情况,而跨NUMA节点转发会增大开销,降低吞吐性能。
发明内容
有鉴于此,本申请提出了一种报文转发方法和装置,实现了防止跨NUMA节点转发,减少了不必要开销,提高了系统吞吐性能。
根据本申请的一方面,提供了一种报文转发方法,应用于第一非统一内存架构NUMA节点,包括:
接收业务报文;
判断所述第一NUMA节点是否为用于转发所述业务报文的NUMA节点;
如果所述第一NUMA节点不是用于转发所述业务报文的NUMA节点,则将所述第一NUMA节点设置为用于转发所述业务报文的NUMA节点;
转发所述业务报文。
可选地,所述判断所述第一NUMA节点是否为用于转发所述业务报文的NUMA节点,包括:
判断所述第一NUMA节点的第一标识与已存储的快速转发表中记录的转发所述业务报文的NUMA节点的第二标识是否相同;
如果所述第一标识与所述第二标识不同,则确定所述第一NUMA节点不是用于转发所述业务报文的NUMA节点。
可选地,所述判断所述第一NUMA节点是否为用于转发所述业务报文的NUMA节点,包括:
判断已存储的快速转发表中记录的转发所述业务报文的出接口是否属于所述第一NUMA节点;
如果所述出接口不属于所述第一NUMA节点,则确定所述第一NUMA节点不是用于转发所述业务报文的NUMA节点。
可选地,所述将所述第一NUMA节点设置为用于转发所述业务报文的NUMA节点,包括:
从所述第一NUMA节点包括的至少一个出接口中,选择出用于转发所述业务报文的出接口;
所述转发所述业务报文,包括:
通过选择出的所述出接口,将所述业务报文进行转发处理。
可选地,所述方法还包括:
根据所述第一NUMA节点的第一标识和选择出的所述出接口,对所述快速转发表进行更新。
根据本申请的另一方面,提供了一种报文转发装置,应用于第一非统一内存架构NUMA节点,包括:
接收模块,用于接收业务报文;
判断模块,用于判断所述第一NUMA节点是否为用于转发所述业务报文的NUMA节点;
设置模块,用于如果所述第一NUMA节点不是用于转发所述业务报文的NUMA节点,则将所述第一NUMA节点设置为用于转发所述业务报文的NUMA节点;
转发模块,用于转发所述业务报文。
可选地,所述判断模块具体用于:
判断所述第一NUMA节点的第一标识与已存储的快速转发表中记录的转发所述业务报文的NUMA节点的第二标识是否相同;
如果所述第一标识与所述第二标识不同,则确定所述第一NUMA节点不是用于转发所述业务报文的NUMA节点。
可选地,所述判断模块具体用于:
判断已存储的快速转发表中记录的转发所述业务报文的出接口是否属于所述第一NUMA节点;
如果所述出接口不属于所述第一NUMA节点,则确定所述第一NUMA节点不是用于转发所述业务报文的NUMA节点。
可选地,所述设置模块具体用于:
从所述第一NUMA节点包括的至少一个出接口中,选择出用于转发所述业务报文的出接口;
所述转发模块具体用于:
通过选择出的所述出接口,将所述业务报文进行转发处理。
可选地,所述装置还包括:
更新模块,用于根据所述第一NUMA节点的第一标识和选择出的所述出接口,对所述快速转发表进行更新。
因此,通过应用本申请提供的报文转发方法和装置,在NUMA架构下,当第一NUMA节点接收到业务报文时,如果判断出存在跨NUMA节点转发的情况,则将第一NUMA节点设置为转发业务报文的NUMA节点,避免出现跨NUMA节点转发的情况,从而保证系统整体吞吐能力,减少由于跨NUMA节点转发导致的不必要开销。
根据下面参考附图对示例性实施例的详细说明,本申请实施例的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本申请的示例性实施例、特征和方面,并且用于解释本申请实施例的原理。
图1为本申请实施例提供的一种报文转发方法的流程图。
图2为现有技术的应用场景的示意图。
图3为本申请实施例提供的报文转发方法的应用场景的示意图。
图4为本申请实施例提供的另一种报文转发方法的流程图。
图5为本申请实施例提供的一种报文转发装置的结构框图。
图6为本申请实施例提供的另一种报文转发装置的结构框图。
图7为本申请实施例提供的报文转发装置的硬件结构框图。
具体实施方式
以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请实施例的主旨。
本申请实施例可以应用于NUMA架构中。例如,应用在SMP系统中已划分出的多个NUMA节点中。
在SMP系统中,任一NUMA节点从自身的入接口收到数据流的第一个业务报文后,根据该业务报文的目的地址寻找转发表中与之匹配的转发表项,确定一条最佳的转发路径。然后,该NUMA节点按照出接口的数据链路层上使用的协议对业务报文进行封装,最后,将业务报文进行物理发送。快速转发过程是采用高速缓存来处理报文的,采用了基于数据流的技术。快速转发使用五元组(源IP地址、源端口号、目的IP地址、目的端口号、协议号)来标识一条数据流。当一条数据流的第一个业务报文通过五元组查找转发表转发后,该NUMA节点在高速缓存中生成相应的快转表。当再次接收到同一数据流的后续业务报文时,可通过直接查找快转表进行转发,提高业务处理性能。
但是,当该NUMA节点的入接口发生故障(或者,入接口发生改变)时,该NUMA节点中的快转表无法感知该入接口的变化,导致业务报文的转发CPU和出接口不在同一个NUMA节点中,出现跨NUMA节点转发的情况,影响网络设备性能。
鉴于此,本申请可以在链路故障导致入接口状态发生变化(例如,ECMP的入接口变化/故障)时,根据快转表,判断出用于转发该业务报文的NUMA节点的变化,对多重等价路径进行重新选路,尽可能减少跨NUMA节点转发的情况,从而保证了系统的整体吞吐能力。
图1示出根据本申请一实施例的报文转发方法的流程图。如图1所示,该报文转发方法应用于第一非统一内存架构NUMA节点,具体包括以下步骤:
步骤101、接收业务报文;
具体地,第一NUMA节点的入接口接收业务报文。
可以理解的是,在本申请实施例中,在第一NUMA节点接收业务报文之前,第一NUMA节点接收目标报文,并根据目标报文建立快转表。该目标报文具体为某一数据流在通过第一NUMA节点时,第一NUMA节点接收的该数据流的第一个报文。
其中,第一NUMA节点根据目标报文建立快转表的过程为现有技术,在此不再复述。
步骤102、判断第一NUMA节点是否为用于转发业务报文的NUMA节点;
具体地,第一NUMA节点判断自身是否为用于转发业务报文的NUMA节点。
例如,第一NUMA节点可根据快转表中记录的相关信息判断自身是否为用于转发业务报文的NUMA节点,如果是,则执行步骤103。
在本申请实施例中,快转表中可记录第一NUMA节点的标识、转发该业务报文的出接口等信息。
步骤103、如果第一NUMA节点不是用于转发业务报文的NUMA节点,则将第一NUMA节点设置为用于转发业务报文的NUMA节点。
具体地,根据步骤102的判断,如果第一NUMA节点判断出自身不是用于转发业务报文的NUMA节点,此时,为了避免出现跨NUMA转发的情况,第一NUMA节点将自身设置为转发业务报文的NUMA节点。
例如,在第一NUMA节点进行设置时,可从自身的出接口中选择出一个出接口用于转发该业务报文。
步骤104、转发所述业务报文。
具体地,根据步骤103的选择,第一NUMA节点转发业务报文。
因此,通过应用本申请实施例提供的报文转发方法,在NUMA架构下,当第一NUMA节点接收到业务报文时,如果判断出存在跨NUMA节点转发的情况,则将第一NUMA节点设置为转发业务报文的NUMA节点,避免出现跨NUMA节点转发的情况,从而保证系统整体吞吐能力,减少由于跨NUMA节点转发导致的不必要开销。
可选地,在本申请实施例中,上述方法还包括:
如果第一NUMA节点是用于转发业务报文的NUMA节点,则保持第一NUMA节点继续转发业务报文。
具体地,根据前述步骤102的判断,如果第一NUMA节点是用于转发业务报文的NUMA节点,则此时,确定未出现跨NUMA节点转发业务报文的情况,第一NUMA节点继续转发业务报文。可选地,在本申请实施例中,前述步骤102可以采用多种方式来实现,示例如下:
示例一、采用NUMA节点的标识进行判断。
第一NUMA节点判断自身的第一标识与快转表中记录的转发业务报文的NUMA节点的第二标识是否相同;如果第一标识与第二标识不同,则第一NUMA节点确定第一NUMA节点不是用于转发业务报文的NUMA节点。
具体地,在高速缓存中生成快转表时,可以在该快转表中记录转发业务报文(例如,转发某一数据流的第一个报文)的NUMA节点的第二标识。如果该NUMA节点再次接收到属于同一数据流的其他业务报文,可以在已存储的快转表中查找到该第二标识,进而实现快速转发。
并且,接收到业务报文的第一NUMA节点也可以获取自身的第一标识。然后,比较第一标识与第二标识是否相同,如果相同,则表明业务报文在同一NUMA节点(本示例中是在第一NUMA节点)内转发,可以继续保持原有的转发状态。如果不同,则表明业务报文出现跨NUMA节点转发(本示例中是第一NUMA节点接收业务报文,第二NUMA节点转发业务报文)情况,此时,可以将第一NUMA节点设置为用于转发业务报文的NUMA节点。
示例二、采用出接口所归属的NUMA节点进行判断。
第一NUMA节点判断已存储的快转表中记录的转发业务报文的出接口是否属于自身;如果出接口不属于第一NUMA节点,则第一NUMA节点确定自身不是用于转发业务报文的NUMA节点。
具体地,第一NUMA节点在接收到业务报文后,查找已存储的快转表,并判断该快转表中记录的出接口是否是属于第一NUMA节点。如果是,则说明业务报文在同一NUMA节点(本示例中是在第一NUMA节点)内转发,可以继续保持原有的转发状态。如果不是,则表明业务报文出现跨NUMA节点转发(本示例中是第一NUMA节点接收业务报文,第二NUMA节点转发业务报文)情况,此时,可以将第一NUMA节点设置为用于转发业务报文的NUMA节点。
可选地,在本申请实施例中,前述步骤103可以采用下述方式来实现,示例如下:
第一NUMA节点从自身包括的至少一个出接口中,选择出用于转发业务报文的出接口。可以理解的是,在本申请实施例中,第一NUMA节点选择出接口的过程中,可通过ECMP实现对出接口的选择,同时也实现平衡出接口负载能力的目的。
可选地,在本申请实施例中,前述步骤104具体为:第一NUMA节点通过选择出的出接口,将业务报文进行转发处理。
可选地,在本申请实施例中,上述方法还包括:根据第一NUMA节点的第一标识和选择出的第一NUMA节点的出接口,对快转表进行更新。
具体地,变更转发业务报文的NUMA节点的方式可以为变更快转表中的出接口。
例如,接收到业务报文的NUMA节点为第一NUMA节点。在更新业务报文的快转表时,可以将快转表中的入接口和出接口均设置为属于第一NUMA节点的接口。此外,还可以在该快转表中记录转发业务报文的第一NUMA节点的第一标识。这样,便于采用上述示例一的方式判断转发业务报文的NUMA节点是否为第一NUMA节点。
图2示出现有技术的应用场景的示意图。图3示出根据本申请另一实施例的报文转发方法的应用场景的示意图。如图2和图3所示,该报文转发方法可应用于多个NUMA节点架构中。
例如,将SMP系统划分为2个NUMA节点,即图3中的NUMA1和NUMA2。每个NUMA节点中包含一组CPU、本地内存资源以及网络适配器(NIC)。NUMA1包括两个网络适配器NIC1A和NIC1B。NUMA2包括两个网络适配器NIC2A和NIC2B。
可以理解的是,NIC也可称之为入接口和出接口。下面以入接口为NICA,以出接口为NICB,进行说明。
其中,多个NUMA节点架构中的NUMA节点和出、入接口的数量和名称仅是示例,但本领域技术人员能够理解,本申请实施例应不限于此。事实上,用户完全可根据个人喜好和/或实际应用场景灵活设定NUMA节点架构中NUMA节点和出、入接口的数量和名称。
表1变更前与变更后在不同情况下的出接口和入接口的对照表。
表1
图4示出根据本申请另一实施例的报文转发方法的流程图。如图4所示,该报文转发方法可以包括:
步骤501、在快转表中记录业务报文转发CPU所在的NUMA节点的标识。
具体地,当选取当前NUMA节点的出接口建立快转表时,在快转表中记录转发业务报文的CPU(简称转发CPU)所属的NUMA节点的标识。
例如,参见图2和图3,在链路正常的情况下,NUMA1接收到属于数据流1的目标报文(简称报文_1),NUMA1在自身的出接口中,根据ECMP转发功能,选择出一出接口转发报文_1。NUMA1的CPU转发报文_1,并建立快转表,在快转表中记录入接口、出接口和节点标识,参见表2。
表2
数据流的目标报文 | 入接口 | 出接口 | 节点标识 |
报文_1 | NIC1A | NIC1B | NUMA1 |
报文_2 | NIC2A | NIC2B | NUMA2 |
步骤502、业务报文转发时,根据转发CPU所属的NUMA节点的标识,判断是否存在跨NUMA转发。
具体地,再次接收到数据流的业务报文时,判断当前转发CPU所属的NUMA节点标识是否和快转表中记录的NUMA节点的标识相同。如果相同(匹配),表示链路未发生变化,可以执行步骤503。如果不同,表示出现入接口变化导致的跨NUMA节点转发情况,可以执行步骤504。
如前述例子,数据流1的后续报文为报文_X。如果接收到报文_X的NUMA节点为NUMA1,则当前转发CPU所属的NUMA节点的标识为NUMA1标识。如果接收到报文_X的NUMA节点为NUMA2,则当前转发CPU所属的NUMA节点的标识为NUMA2标识。
参见表2,如果在快转表中查找到之前记录的转发该数据流的业务报文的节点标识为NUMA1的标识。比较当前转发CPU所属的NUMA节点的标识与NUMA1的标识,可以确定是否出现了跨NUMA节点转发情况。
步骤503、维持当前NUMA节点转发。
如前述例子,如果NIC1A正常,报文_X从MIC1A进入。报文_X的当前转发CPU所属的NUMA节点的标识为NUMA1,且在快转表中记录的转发业务报文的NUMA节点的标识为NUMA1的标识,则表示链路未发生变化。维持NIC1B转发报文_X转发报文_X,参见表2。
步骤504、根据当前转发CPU所属的NUMA节点重新从当前NUMA节点的出接口中选择转发业务报文的出接口,并更新快转表中记录的NUMA节点的标识以及转发业务报文的出接口。
如前述例子,假设NIC1A由于故障而下线(down)。数据流1的后续报文(报文_X)从NIC2A进入。报文_X的当前转发CPU所属的NUMA节点标识为NUMA2的标识,而快转表记录的转发业务报文的NUMA节点的标识为NUMA1的标识,此时,则表明出现了跨NUMA节点转发的情况。这时,选择NUMA2的出接口NIC2B转发报文_X。并且,对快转表进行更新,将转发数据流1的业务报文的节点标识更新为NUMA2的标识,。
此外,在NIC1A恢复上线(up)后,如果数据流1的后续报文再次从NIC1A进入,此时,根据步骤502-步骤504的描述,还可再次将转发数据流1的业务报文的NUMA节点转换为NUMA1,并再次更新快转表中的节点标识。即将转发数据流1的业务报文的NUMA节点的标识更新为NUMA1的标识,同时,将入接口更新为NIC1A,出接口更新为NIC1B。
在另一个例子中,也可以根据快转表中记录的入接口和出接口,来判断是否出现跨NUMA转发的情况。
例如,如图2和图3所示,在链路正常的情况下,NUMA1上的NIC1A接收到业务报文,优先通过NUMA1的CPU转发某一数据流的第一个业务报文。快转表中记录的入接口为NIC1A,出接口为NIC1B,节点标识为NUMA1。
假设NIC1A由于故障而下线(down)。该数据流的后续业务报文从NUMA2的NIC2A进入,则后续业务报文的入接口为NIC2A。但在快转表中记录的出接口为NIC1B。NIC2A、NIC1B不属于同一个NUMA节点,表明出现了跨NUMA节点转发。这时,根据前述实施例的描述,NUMA2确定已出现跨NUMA节点的情况,NUMA2将自身设置为转发业务报文的NUMA节点,从出接口中选择出一出接口转发业务报文。NUMA2更新快转表。在NIC1A下线的状态下,更新后的快转表中记录的入接口为NIC2A,出接口为NIC2B,节点标识为NUMA2。
此外,在NIC1A回复上线(up)后,如果该数据流的后续业务报文再从NUMA1的NIC1A进入,此时,NUMA1根据步骤502-步骤504的描述,还可再次将转发数据流1的业务报文的NUMA节点转换为NUMA1,并再次更新快转表,将入接口更新为NIC1A,出接口更新为NIC1B,节点标识更新为NUMA1。
因此,通过应用本申请实施例提供的报文转发方法,在NUMA架构下,当第一NUMA节点接收到业务报文时,如果判断出存在跨NUMA节点转发的情况,则将第一NUMA节点设置为转发业务报文的NUMA节点,避免出现跨NUMA节点转发的情况,从而保证系统整体吞吐能力,减少由于跨NUMA节点转发导致的不必要开销。
图5示出根据本申请一实施例的报文转发装置的结构框图。如图5所示,该报文转发装置应用于第一非统一内存架构NUMA节点,所述装置包括:
接收模块41,用于接收业务报文;
判断模块43,用于判断所述第一NUMA节点是否为用于转发所述业务报文的NUMA节点;
设置模块45,用于如果所述第一NUMA节点不是用于转发所述业务报文的NUMA节点,则将所述第一NUMA节点设置为用于转发所述业务报文的NUMA节点。
转发模块47,用于转发所述业务报文。
可选地,所述判断模块43具体用于:
判断所述第一NUMA节点的第一标识与已存储的快速转发表项中所记录的转发所述业务报文的NUMA节点的第二标识是否相同;
如果所述第一标识与所述第二标识不同,则确定所述第一NUMA节点不是用于转发所述业务报文的NUMA节点。
可选地,所述判断模块43具体用于:
判断已存储的快速转发表中记录的转发所述业务报文的出接口是否属于所述第一NUMA节点;
如果所述出接口不属于所述第一NUMA节点,则确定所述第一NUMA节点不是用于转发所述业务报文的NUMA节点。
可选地,所述设置模块45具体用于:
从所述第一NUMA节点包括的至少一个出接口中,选择出用于转发所述业务报文的出接口;
所述转发模块47具体用于:
通过选择出的所述出接口,将所述业务报文进行转发处理
可选地,如图6所示,图6为本申请一实施例的报文转发装置的另一结构框图,该装置还包括:
更新模块51,用于根据所述第一NUMA节点的第一标识和选择出的所述出接口,对所述快速转发表进行更新。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7示出根据本申请一实施例的报文转发装置的硬件结构框图。参照图7,该装置900可包括处理器901、存储有机器可执行指令的机器可读存储介质902。处理器901与机器可读存储介质902可经由系统总线903通信。并且,处理器901通过读取机器可读存储介质902中与流量转发逻辑对应的机器可执行指令以执行上文所述的报文转发方法。
本文中提到的机器可读存储介质902可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:随机存取存储器(英文:Radom Access Memory,简称:RAM)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (8)
1.一种报文转发方法,其特征在于,应用于第一非统一内存架构NUMA节点,包括:
接收业务报文;
根据快速转发表中记录的相关信息判断所述第一NUMA节点是否为用于转发所述业务报文的NUMA节点,所述快速转发表中记录的相关信息包括转发所述业务报文的NUMA节点的标识和/或转发所述业务报文的出接口;
如果所述第一NUMA节点不是用于转发所述业务报文的NUMA节点,则从所述第一NUMA节点包括的至少一个出接口中,选择出用于转发所述业务报文的出接口;
通过选择出的所述出接口,将所述业务报文进行转发处理。
2.根据权利要求1所述的方法,其特征在于,所述根据快速转发表中记录的相关信息判断所述第一NUMA节点是否为用于转发所述业务报文的NUMA节点,包括:
判断所述第一NUMA节点的第一标识与已存储的所述快速转发表中记录的转发所述业务报文的NUMA节点的第二标识是否相同;
如果所述第一标识与所述第二标识不同,则确定所述第一NUMA节点不是用于转发所述业务报文的NUMA节点。
3.根据权利要求1所述的方法,其特征在于,所述根据快速转发表中记录的相关信息判断所述第一NUMA节点是否为用于转发所述业务报文的NUMA节点,包括:
判断已存储的所述快速转发表中记录的转发所述业务报文的出接口是否属于所述第一NUMA节点;
如果所述出接口不属于所述第一NUMA节点,则确定所述第一NUMA节点不是用于转发所述业务报文的NUMA节点。
4.根据权利要求1所述的方法,其特征在于,还包括:
根据所述第一NUMA节点的第一标识和选择出的所述出接口,对所述快速转发表进行更新。
5.一种报文转发装置,其特征在于,应用于第一非统一内存架构NUMA节点,包括:
接收模块,用于接收业务报文;
判断模块,用于根据快速转发表中记录的相关信息判断所述第一NUMA节点是否为用于转发所述业务报文的NUMA节点,所述快速转发表中记录的相关信息包括转发所述业务报文的NUMA节点的标识和/或转发所述业务报文的出接口;
设置模块,用于如果所述第一NUMA节点不是用于转发所述业务报文的NUMA节点,则从所述第一NUMA节点包括的至少一个出接口中,选择出用于转发所述业务报文的出接口;
转发模块,用于通过选择出的所述出接口,将所述业务报文进行转发处理。
6.根据权利要求5所述的装置,其特征在于,所述判断模块具体用于:
判断所述第一NUMA节点的第一标识与已存储的所述快速转发表中记录的转发所述业务报文的NUMA节点的第二标识是否相同;
如果所述第一标识与所述第二标识不同,则确定所述第一NUMA节点不是用于转发所述业务报文的NUMA节点。
7.根据权利要求5所述的装置,其特征在于,所述判断模块具体用于:
判断已存储的所述快速转发表中记录的转发所述业务报文的出接口是否属于所述第一NUMA节点;
如果所述出接口不属于所述第一NUMA节点,则确定所述第一NUMA节点不是用于转发所述业务报文的NUMA节点。
8.根据权利要求5所述的装置,其特征在于,还包括:
更新模块,用于根据所述第一NUMA节点的第一标识和选择出的所述出接口,对所述快速转发表进行更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710934018.2A CN107566302B (zh) | 2017-10-10 | 2017-10-10 | 报文转发方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710934018.2A CN107566302B (zh) | 2017-10-10 | 2017-10-10 | 报文转发方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107566302A CN107566302A (zh) | 2018-01-09 |
CN107566302B true CN107566302B (zh) | 2020-05-12 |
Family
ID=60985015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710934018.2A Active CN107566302B (zh) | 2017-10-10 | 2017-10-10 | 报文转发方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107566302B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111884945B (zh) * | 2020-06-10 | 2022-09-02 | 中国电信股份有限公司重庆分公司 | 一种网络报文的处理方法和网络接入设备 |
CN115996203B (zh) * | 2023-03-22 | 2023-06-06 | 北京华耀科技有限公司 | 网络流量分域方法、装置、设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141975A (zh) * | 2011-04-01 | 2011-08-03 | 华为技术有限公司 | 计算机系统 |
CN104268089A (zh) * | 2014-09-15 | 2015-01-07 | 杭州华为数字技术有限公司 | 一种信息更新的方法、装置及系统 |
CN104426814A (zh) * | 2013-08-30 | 2015-03-18 | 英特尔公司 | Numa节点外围交换机 |
CN106878439A (zh) * | 2017-03-03 | 2017-06-20 | 广东浪潮大数据研究有限公司 | 一种多节点计算机系统内中继节点选择和资源分配方法 |
CN106936739A (zh) * | 2015-12-30 | 2017-07-07 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN106951390A (zh) * | 2017-03-15 | 2017-07-14 | 郑州云海信息技术有限公司 | 一种可降低跨节点访存延时的numa系统构建方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9047417B2 (en) * | 2012-10-29 | 2015-06-02 | Intel Corporation | NUMA aware network interface |
-
2017
- 2017-10-10 CN CN201710934018.2A patent/CN107566302B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141975A (zh) * | 2011-04-01 | 2011-08-03 | 华为技术有限公司 | 计算机系统 |
CN104426814A (zh) * | 2013-08-30 | 2015-03-18 | 英特尔公司 | Numa节点外围交换机 |
CN104268089A (zh) * | 2014-09-15 | 2015-01-07 | 杭州华为数字技术有限公司 | 一种信息更新的方法、装置及系统 |
CN106936739A (zh) * | 2015-12-30 | 2017-07-07 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN106878439A (zh) * | 2017-03-03 | 2017-06-20 | 广东浪潮大数据研究有限公司 | 一种多节点计算机系统内中继节点选择和资源分配方法 |
CN106951390A (zh) * | 2017-03-15 | 2017-07-14 | 郑州云海信息技术有限公司 | 一种可降低跨节点访存延时的numa系统构建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107566302A (zh) | 2018-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11343175B2 (en) | Packet forwarding | |
CN112640371B (zh) | 在分布式存储环境上执行数据操作的方法和系统 | |
CN107078960B (zh) | 基于流的网络功能链接的优化方法 | |
CN108718278B (zh) | 一种报文传输方法和装置 | |
US20160241474A1 (en) | Technologies for modular forwarding table scalability | |
US8369211B2 (en) | Network distribution prevention when virtual chassis system undergoes splits and merges | |
US9742659B2 (en) | Multipath bandwidth usage | |
KR20170102841A (ko) | 분산형 라우팅 테이블 탐색 기술 | |
CN107547391B (zh) | 一种报文传输方法和装置 | |
US20110264610A1 (en) | Address Data Learning and Registration Within a Distributed Virtual Bridge | |
CN108123901B (zh) | 一种报文传输方法和装置 | |
US9929937B2 (en) | Layer 3 routing loop prevention system | |
JP6618610B2 (ja) | ルーティング管理 | |
CN110768917B (zh) | 一种报文传输方法及装置 | |
CN107566302B (zh) | 报文转发方法和装置 | |
CN113542099B (zh) | 数据的传输方法、装置、电子设备、介质和产品 | |
CN108259205B (zh) | 一种路由发布方法及网络设备 | |
CN114827079B (zh) | 网络地址转换网关的扩容方法、设备及存储介质 | |
CN107948072B (zh) | 报文转发方法和装置 | |
CN109218207B (zh) | 一种组播流量处理方法、装置及路由设备 | |
CN114911728A (zh) | 一种数据查找方法、装置及集成电路 | |
US20070206599A1 (en) | Priority Content Addressable Memory (PCAM) | |
US20240171514A1 (en) | Vtep multipath data traffic forwarding system | |
US9742670B2 (en) | Non-eligible distance vector protocol paths as backup paths | |
US6700883B1 (en) | Algorithm to bypass L4 processing in an internet protocol forwarding processor |
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 |