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

技术编号:17783991 阅读:43 留言:0更新日期:2018-04-22 15:17
本公开涉及一种报文转发方法和装置。该方法应用于NUMA节点,该方法包括:在接收到第一报文时,查找快速转发表中是否存在与所述第一报文匹配的第一快速转发表项;若是,在所述第一快速转发表项对应的第一虚拟下一跳VN表项中的出接口为物理出接口时,从所述第一VN表项中选取所述NUMA节点对应的物理出接口,所述第一VN表项包括多个等价的物理出接口及其对应的NUMA节点;通过所选取的物理出接口转发所述第一报文。本公开方案可避免跨NUMA节点转发,进而提高报文转发性能。

【技术实现步骤摘要】
报文转发方法和装置
本公开涉及通信
,尤其涉及一种报文转发方法和装置。
技术介绍
非统一内存架构(英文:Non-UniformMemoryArchitecture,简称:NUMA)架构包括多个NUMA节点(node),每个NUMA节点中包含一组中央处理器(英文:CentralProcessingUnit,简称:CPU)、内存资源以及网络适配器(英文:NetworkInterfaceCard,简称:NIC)等。CPU对内存资源的访问速度要远高对于非内存的访问速度,因为访问非内存需要跨越QPI总线。目前,在NUMA架构下,NUMA节点收到一条数据流的第一个报文后,会根据该报文的目的IP地址查找转发表,确定一个最佳出接口;然后通过最佳出接口转发该报文,并创建快速转发表项,以便接收到该数据流的后续报文的NUMA节点可以直接通过匹配快速转发表中相应的快速转发表项进行转发。但是,在上述这种报文转发方式中,在最佳出接口不是接收到该数据流的报文的NUMA节点上的接口时,需要跨NUMA节点转发报文,严重影响报文转发性能。
技术实现思路
有鉴于此,本公开提出了一种报文转发方法和装置。根据本公开的一方面,提供了一种报文转发方法,所述方法应用于非统一内存架构NUMA节点,所述方法包括:在接收到第一报文时,查找快速转发表中是否存在与所述第一报文匹配的第一快速转发表项;若是,在所述第一快速转发表项对应的第一虚拟下一跳VN表项中的出接口为物理出接口时,从所述第一VN表项中选取所述NUMA节点对应的物理出接口,所述第一VN表项包括多个等价的物理出接口及其对应的NUMA节点;通过所选取的物理出接口转发所述第一报文。根据本公开的另一方面,提供了一种报文转发装置,所述装置应用于非统一内存架构NUMA节点,所述装置包括:查找模块,用于在接收到第一报文时,查找快速转发表中是否存在与所述第一报文匹配的第一快速转发表项;选取模块,用于在所述查找模块查找的结果为是,且在所述第一快速转发表项对应的第一虚拟下一跳VN表项中的出接口为物理出接口时,从所述第一VN表项中选取所述NUMA节点对应的物理出接口,所述第一VN表项包括多个等价的物理出接口及其对应的NUMA节点;第一转发模块,用于通过所述选取模块所选取的物理出接口转发所述第一报文。在本公开中,依据快速转发表项对应的VN表项,选取收到与快速转发表项匹配的报文的NUMA节点对应的物理出接口来转发该报文,可以保证不同NUMA节点将接收到的同一数据流的报文通过各自NUMA节点上的物理出接口转发,以及不同NUMA节点将需要汇聚到同一隧道的报文通过各自NUMA节点上的物理出接口转发,避免了跨NUMA节点转发,进而提高了报文转发性能。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。附图说明包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。图1示出根据本公开一实施例的报文转发方法的流程图。图2示出根据本公开一实施例的NUMA节点转发报文的报文流向示意图。图3示出根据本公开一实施例的依据VN表项选取出接口的选取走向示意图。图4示出根据本公开一实施例的报文转发装置的结构框图。图5示出根据本公开一实施例的报文转发装置的另一结构框图。图6是根据一示例性实施例示出的一种用于报文转发装置的框图。具体实施方式以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。图1示出根据本公开一实施例的报文转发方法的流程图。如图1所示,该报文转发方法应用于NUMA节点,该方法包括:步骤101、在接收到第一报文时,查找快速转发表(IPfast-forwarding,IPFS)中是否存在与所述第一报文匹配的快速转发表项;步骤102、若是,在所述第一快速转发表项对应的第一虚拟下一跳(VirtualNexthop,VN)表项中的出接口为物理出接口时,从所述第一VN表项中选取所述NUMA节点对应的物理出接口,所述第一述VN表项包括多个等价的物理出接口及其对应的NUMA节点。步骤103、通过所选取的物理出接口转发所述第一报文。上述步骤101~步骤103是NUMA节点在接收到某条数据流的非首个报文且不需要进行隧道封装后转发的情形下的处理流程,可以保证不同NUMA节点在接收到该条数据流的后续报文时均可通过各自本地物理接口转发出去。在一种可能的实现方式中,该方法还包括:在查找出快速转发表中不存在与所述第一报文匹配的快速转发表项,且根据转发表(ForwardingInfoBase,FIB)确定出所述第一报文的出接口为物理出接口时,根据所述转发表转发所述第一报文,并创建第二快速转发表项及其对应的第二VN表项。此流程是NUMA节点在接收到该条数据流的首个报文且不需要进行隧道封装后转发时的处理流程。在此流程中,NUMA节点如何根据转发表转发所述第一报文为现有技术,在此不再详述。在第二快速转发表项中记录第二VN表项指针,第二VN表项包括多个等价的物理出接口(例如以接口标识的方式体现)及其对应的NUMA节点(例如以节点标识的方式体现)。这样,就可以在VN表项中记录形成多重等价路径(Equal-CostMultiPath,ECMP)的每个出接口及其对应的NUMA节点的信息,进而实现快速转发表支持等价路由转发。在一种可能的实现方式中,该方法还包括:在查找出快速转发表中存在与所述第一报文匹配的第一快速转发表项时,如果所述第一快速转发表项对应的第一VN表项中的出接口为第一隧道,对所述第一报文进行所述第一隧道对应的协议封装,得到第二报文;从所述快速转发表中与所述第二报文匹配的第三快速转发表项对应的第三VN表项中选取所述NUMA节点对应的物理出接口;通过所选取的物理出接口转发所述第二报文。此流程是NUMA节点在接收到该条数据流的非首个报文且需要进行隧道封装后转发的情形下的处理流程。在此流程中,第三VN表项仍然包括多个等价的物理出接口及其对应的NUMA节点。此流程可以保证不同NUMA节点在接收到相同数据流或者不同数据流的后续报文时均可通过各自本地物理接口转发出去。在一种可能的实现方式中,该方法还包括:在查找出所述快速转发表中不存在与所述第一报文匹配的第一快速转发表项,且根据转发表确定出所述第一报文的出接口为第二隧道时,对所述第一报文进行所述第二隧道对应的协议封装,得到第三报文,并创建第四快速转发表项及其对应的第四VN表项;根据所述转发表转发所述第三报文,并创建第五快速转发表项及其对应的第五VN表项。此流程是NUMA节点在接收到该条数据流的首个报文且需要进行隧道封装后转发的情形下的处理流程。在此流程中本文档来自技高网...
报文转发方法和装置

【技术保护点】
一种报文转发方法,其特征在于,所述方法应用于非统一内存架构NUMA节点,所述方法包括:在接收到第一报文时,查找快速转发表中是否存在与所述第一报文匹配的第一快速转发表项;若是,在所述第一快速转发表项对应的第一虚拟下一跳VN表项中的出接口为物理出接口时,从所述第一VN表项中选取所述NUMA节点对应的物理出接口,所述第一VN表项包括多个等价的物理出接口及其对应的NUMA节点;通过所选取的物理出接口转发所述第一报文。

【技术特征摘要】
1.一种报文转发方法,其特征在于,所述方法应用于非统一内存架构NUMA节点,所述方法包括:在接收到第一报文时,查找快速转发表中是否存在与所述第一报文匹配的第一快速转发表项;若是,在所述第一快速转发表项对应的第一虚拟下一跳VN表项中的出接口为物理出接口时,从所述第一VN表项中选取所述NUMA节点对应的物理出接口,所述第一VN表项包括多个等价的物理出接口及其对应的NUMA节点;通过所选取的物理出接口转发所述第一报文。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在查找出所述快速转发表中不存在与所述第一报文匹配的第一快速转发表项,且根据转发表确定出所述第一报文的出接口为物理出接口时,根据所述转发表转发所述第一报文,并创建第二快速转发表项及其对应的第二VN表项,所述第二VN表项包括多个等价的物理出接口及其对应的NUMA节点。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在查找出所述快速转发表中存在与所述第一报文匹配的第一快速转发表项时,如果所述第一快速转发表项对应的第一VN表项中的出接口为第一隧道,对所述第一报文进行所述第一隧道对应的协议封装,得到第二报文;从所述快速转发表中与所述第二报文匹配的第三快速转发表项对应的第三VN表项中选取所述NUMA节点对应的物理出接口,所述第三VN表项包括多个等价的物理出接口及其对应的NUMA节点;通过所选取的物理出接口转发所述第二报文。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在查找出所述快速转发表中不存在与所述第一报文匹配的第一快速转发表项,且根据转发表确定出所述第一报文的出接口为第二隧道时,对所述第一报文进行所述第二隧道对应的协议封装,得到第三报文,并创建第四快速转发表项及其对应的第四VN表项,所述第四VN表项包括所述第二隧道;根据所述转发表转发所述第三报文,并创建第五快速转发表项及其对应的第五VN表项,所述第五VN表项包括多个等价的物理出接口及其对应的NUMA节点。5.一种报文转发装置,其特征在于,所述装置应用于非统一内存架构NUMA节点,所述装置包括:查找模块,用于在接收到第一报文时,查找快速转发表中是否存在与所述第一报文匹配的第一快速转发表项;选取模块,用于在所述查找模块查找出快速转发表中存在与所述第一报文匹配的第一快速转发表项,且在所述第一快速转发表项对应的第一虚拟下一跳VN表项中...

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

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

1