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

技术编号:18599750 阅读:22 留言:0更新日期:2018-08-04 21:04
本申请公开一种报文转发方法及装置,涉及数据通信技术领域,用于提高多核转发设备查找报文对应的转发表项的效率。该方法应用于多核转发设备,所述多核转发设备包括至少两个核,每个核设置有对应的转发表,所述转发表用于管理对应的核在逐流转发模式下使用的转发表项。该方法包括:当采用逐流转发模式时,根据报文的关键字以及预设规则,确定转发核,所述转发核为负责转发所述报文的核;根据转发核的转发表,查找到所述报文对应的转发表项;根据所述报文对应的转发表项,通过转发核转发所述报文。本申请适用于报文转发的过程中。

Message forwarding method and device

The present application discloses a message forwarding method and device, which relates to the field of data communication technology, which is used to improve the efficiency of a multi-core forwarding device to find a forwarding table item corresponding to a message. The method is applied to a multi-core forwarding device. The multi-core forwarding device includes at least two cores, each of which is set with a corresponding forwarding table, and the transfer is published to manage the forwarding table items used by the corresponding kernel in the stream by stream forwarding mode. The method includes: when using a stream by stream forwarding mode, the forwarding kernel is determined according to the keyword of the message and the preset rule, and the forwarding kernel is the core responsible for forwarding the message, and the forwarding table is found according to the forwarding table of the forwarding kernel, and the forwarding table item corresponding to the reported message is forwarded through the forwarding kernel. Forward the message. This application is applicable to the process of message forwarding.

【技术实现步骤摘要】
报文转发方法及装置
本申请涉及数据通信
,尤其涉及一种报文转发方法及装置。
技术介绍
随着通信业务的不断发展,连接到网络上的计算机节点也呈级数式的增长。转发设备作为计算机互联的数据交换节点,其转发性能决定了整个网络的通信质量。因此,为了保证网络的通信质量以及满足各种复杂的业务需求,当前网络通常采用多核转发设备来负责转发报文。多核转发设备具有多个相对独立的核,可以并行地执行多个报文的转发处理流程。但是,目前,多核转发设备在转发报文时,需要先从多核转发设备存储的全部转发表项中查找所述报文对应的转发表项。由于转发表项的查找基数较大,因此多核转发设备查找报文对应的转发表项的效率较低。
技术实现思路
本申请提供一种报文转发方法及装置,用于提高多核转发设备查找报文对应的转发表项的效率。为到达上述目的,本申请采用如下技术方案:第一方面,本申请提供一种报文转发方法,所述方法应用于多核转发设备,所述多核转发设备包括至少两个核,每个核设置有对应的转发表,所述转发表用于管理对应的核在逐流转发模式下使用的转发表项,所述方法包括:当采用逐流转发模式时,根据报文的关键字以及预设规则,确定转发核,所述转发核为负责转发所述报文的核;根据转发核的转发表,查找到所述报文对应的转发表项;根据所述报文对应的转发表项,通过转发核转发所述报文。在本申请的技术方案中,每个核的转发表用于管理该核在逐流转发模式下使用的转发表项。这样,每个核的转发表包含的转发表项仅为全部转发表项的一部分。在多核转发设备采用逐流转发模式时,多核转发设备根据转发核的转发表,查找到所述报文对应的转发表项,相比于从全部的转发表项中查找所述报文对应的转发表项,上述方案能够减少转发表项的查找基数,从而提高转发表项的查找效率,进而提高多核转发设备的转发性能。第二方面,本申请提供一种多核转发设备,所述多核转发设备包括至少两个核,每个核设置有对应的转发表,所述转发表用于管理对应的核在逐流转发模式下使用的转发表项;所述多核转发设备还包括:处理模块,用于当多核转发设备采用逐流转发模式时,根据报文的关键字以及预设规则,确定转发核,所述转发核为负责转发所述报文的核;查找模块,用于根据转发核的转发表,查找到所述报文对应的转发表项;转发模块,用于根据所述报文对应的转发表项,通过转发核转发所述报文。第三方面,本申请提供一种多核转发设备,所述多核转发设备包括:处理器、收发器和存储器。其中,所述处理器包括至少两个核,所述存储器存储有一个或多个程序,一个或多个程序包括计算机可执行指令,当该多核转发设备运行时,处理器执行该存储器存储的该计算机可执行指令,以使该多核转发设备执行第一方面及其各种可选的实现方式中任意之一所述的报文转发方法。第四方面,本申请提供本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当该计算机设备执行该指令时,该计算机设备执行上述第一方面及其各种可选的实现方式中任意之一所述的报文转发方法。其中,上述第二方面至第四方面对应的有益效果,可参见第一方面的相关描述,在此不再赘述。附图说明图1为本申请实施例提供的一种多核路由器的结构示意图;图2为本申请实施例提供的一种报文转发方法的流程图;图3为本申请实施例提供的一种转发表项管理方法的流程图;图4为本申请实施例提供的一种全局转发表与每个核的转发表之间的关系示意图;图5为本申请实施例提供的另一种转发表项管理方法的流程图;图6为本申请实施例提供的另一种转发表项管理方法的流程图;图7为本申请实施例提供的一种多核转发设备的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。图1为本申请实施例提供的一种多核路由器的结构示意图。值得说明的是,上述多核路由器仅为本申请实施例涉及到的多核转发设备的一个范例。在本申请实施例中,所述多核转发设备也可以为多核交换机等其他设备,本申请实施例在此不作任何限制。如图1所示,多核路由器包括:处理器11、存储器12、通信接口13以及总线14。所述处理器11包括至少两个核。处理器11主要负责两个方面的工作:一、路由器的配置管理和路由表的维护;二、报文的转发工作。所述处理器11可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。所述存储其12包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。所述通信接口13为收发器、收发电路或系统接口等。总线14可以是扩展工业标准结构(ExtendedIndustryStandardArchitecture,EISA)总线等。总线14可以分为地址总线、数据总线、控制总线等。为便于表示,图1中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。在对报文进行转发时,多核转发设备主要采用逐流转发模式或逐包转发模式。下面对上述两种报文转发模式进行介绍。(1)逐流转发模式“流”指的是,同一类的报文。实际应用中,多核转发设备根据报文的关键字按照一定的算法计算所得的结果对报文进行分类。例如,以报文的五元组(源IP地址,目的IP地址,源端口号,目的端口号,协议类型)进行哈希运算得到一个哈希值,哈希值相同的报文属于同一条流,哈希值不同的报文属于不同的流。在多核转发设备上,将来自同一条流的报文通过一个固定的核进行转发处理,这种转发模式即为逐流转发模式。(2)逐包转发模式逐包转发模式为:将所有报文加入同一个队列之中,然后通过轮询调度(RoundRobin)算法将各个报文按序调度到多核转发设备的各个核上进行转发处理。逐包转发模式的优点在于,保证多核转发设备的各个核的负载平衡,不会出现某一个核负载过重,而另一个核空载的问题。目前,多核转发设备无论以逐流转发模式,还是以逐包转发模式进行报文的转发,均需要从全部的转发表项中查找报文对应的转发表项。申请人发现:在采用逐流转发模式时,多核转发设备中的每个核仅需使用到其负责的流对应的转发表项,即每个核并不会使用到所有的转发表项。因此,在这种情况下,多核转发设备从全部的转发表项中查找所述报文对应的转发表项,查找效率较低。为了提高多核转发设备查找报文对应的转发表项的效率,本申请实施例提供一种报文转发方法,应用于多核转发设备中。该多核转发设备中的每个核设置有对应的转发表,所述转发表用于管理对应的核在逐流转发模式下使用的转发表项。如图2所示,所述方法包括:101、当采用逐流转发模式时,根据报文的关键字以及预设规则,确定转发核。其中,所述关键字包括但不限于:目的地址、目的端口号或入标签。举例来说,多协议标签交换(Multi-ProtocolLabelSwitching,MPLS)报文的关键字包括入标签。所述转发核为负责转发所述报文的核。下面以举例的方式对上述预设规则进行说明。假设所述报文的关键字为入标签,多核转发设备包括N个核,各个核的标识从0到N-1。从而,根据公式P=A(modN),确定转发核的标识,进而确定转发核。其中,P表示转发核的标识,A表示入标签的取值。当然,所述预设规则可参考现有技术中的其他方案,例如所本文档来自技高网...

【技术保护点】
1.一种报文转发方法,其特征在于,所述方法应用于多核转发设备,所述多核转发设备包括至少两个核,每个核设置有对应的转发表,所述转发表用于管理对应的核在逐流转发模式下使用的转发表项,所述方法包括:当采用逐流转发模式时,根据报文的关键字以及预设规则,确定转发核,所述转发核为负责转发所述报文的核;根据转发核的转发表,查找到所述报文对应的转发表项;根据所述报文对应的转发表项,通过转发核转发所述报文。

【技术特征摘要】
1.一种报文转发方法,其特征在于,所述方法应用于多核转发设备,所述多核转发设备包括至少两个核,每个核设置有对应的转发表,所述转发表用于管理对应的核在逐流转发模式下使用的转发表项,所述方法包括:当采用逐流转发模式时,根据报文的关键字以及预设规则,确定转发核,所述转发核为负责转发所述报文的核;根据转发核的转发表,查找到所述报文对应的转发表项;根据所述报文对应的转发表项,通过转发核转发所述报文。2.根据权利要求1所述的方法,其特征在于,在所述根据报文的关键字以及预设规则,确定转发核之后,所述方法还包括:若根据转发核的转发表,查找不到所述报文对应的转发表项,则丢弃所述报文。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:将新增的转发表项添加到全局转发表中,所述全局转发表用于管理所述多核转发设备中全部的转发表项;根据所述新增的转发表项中的关键字以及预设规则,确定所述新增的转发表项对应的核;将所述新增的转发表项添加到对应的核的转发表中;或者,将所述新增的转发表项的索引信息添加到对应的核的转发表中,所述索引信息用于指示所述新增的转发表项在全局转发表中的位置。4.根据权利要求3所述的方法,其特征在于,在所述根据所述新增的转发表项中的关键字以及预设规则,确定所述新增的转发表项对应的核之后,所述方法还包括:在全局转发表中记录所述新增的转发表项对应的核的标识。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:将待删除的转发表项从全局转发表中删除,所述全局转发表用于管理所述多核转发设备中全部的转发表项;根据全局转发表中存储的转发表项与核的对应关系,确定所述待删除的转发表项对应的核;将所述待删除的转发表项从对应的核的转发表中删除。6.一种多核转发设备,其特征在于,所述多核转发设...

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

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

1