路由报文的处理方法及装置、存储介质和电子装置与流程

文档序号:21318325发布日期:2020-06-30 20:48阅读:250来源:国知局
路由报文的处理方法及装置、存储介质和电子装置与流程

本发明涉及计算机领域,具体而言,涉及一种路由报文的处理方法及装置、存储介质和电子装置。



背景技术:

当前三层以太网交换机在进行路由查找转发时,都是基于单一芯片上的存储的ip地址信息进行查找转发,但单一芯片的硬件资源有限,尤其在一些中低端芯片上表现得尤为明显,从而导致其不够用。

针对相关技术中的上述问题,目前尚未存在有效的解决方案。



技术实现要素:

本发明实施例提供了一种路由报文的处理方法及装置、存储介质和电子装置,以至少解决相关技术中以太网交换机在进行路由查找转发时,都是基于单一芯片上的存储的ip地址信息进行查找转发存在路由表项不够用的问题。

根据本发明的一个实施例,提供了一种路由报文的处理方法,包括:将待转发的路由报文输入芯片组,其中,所述芯片组包括多个级联的芯片;通过所述芯片组中的多个所述芯片对所述待转发的路由报文依次进行路由匹配;其中,所述芯片组的路由表项由每一个级联的芯片的路由表项组合构成;根据匹配结果对所述待转发的路由报文进行转发。

根据本发明的另一个实施例,提供了一种路由报文的处理装置,包括:输入模块,用于将待转发的路由报文输入芯片组,其中,所述芯片组包括多个级联的芯片;匹配模块,用于通过所述芯片组中的多个所述芯片对所述待转发的路由报文依次进行路由匹配;其中,所述芯片组的路由表项由每一个级联的芯片的路由表项组合构成;转发模块,用于根据匹配结果对所述待转发的路由报文进行转发。

根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

通过本发明,将待转发的路由报文输入芯片组,进而通过芯片组中的多个芯片对待转发的路由报文依次进行路由匹配,最后根据匹配结果对待转发的路由报文进行转发,由于芯片组的路由表项由每一个级联的芯片的路由表项组合构成,从而实现通过多块芯片级联来有效扩大芯片的lpm路由表项规格,解决了相关技术中以太网交换机在进行路由查找转发时,都是基于单一芯片上的存储的ip地址信息进行查找转发存在路由表项不够用的问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的一种路由报文的处理方法的终端的硬件结构框图;

图2是根据本发明实施例的路由报文的处理方法的流程图;

图3是根据本发明实施例的报文在芯片组a中处理过程示意图;

图4是根据本发明实施例的芯片组a的内存分布示意图;

图5是根据本发明实施例的destmap的组成示意图;

图6是根据本发明实施例的路由报文的处理装置的结构框图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

实施例1

本申请实施例一所提供的方法实施例可以在终端、计算机终端或者类似的运算装置中执行。以运行在终端上为例,图1是本发明实施例的一种路由报文的处理方法的终端的硬件结构框图。如图1所示,终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限定。例如,终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的路由报文的处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括终端10的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种运行于上述终端的路由报文的处理方法,图2是根据本发明实施例的路由报文的处理方法的流程图,如图2所示,该流程包括如下步骤:

步骤s202,将待转发的路由报文输入芯片组,其中,芯片组包括多个级联的芯片;

步骤s204,通过芯片组中的多个芯片对待转发的路由报文依次进行路由匹配;其中,芯片组的路由表项由每一个级联的芯片的路由表项组合构成;

步骤s206,根据匹配结果对待转发的路由报文进行转发。

通过上述步骤s202至步骤s206,将待转发的路由报文输入芯片组,进而通过芯片组中的多个芯片对待转发的路由报文依次进行路由匹配,最后根据匹配结果对待转发的路由报文进行转发,由于芯片组的路由表项由每一个级联的芯片的路由表项组合构成,从而实现通过多块芯片级联来有效扩大芯片的lpm路由表项规格,解决了相关技术中以太网交换机在进行路由查找转发时,都是基于单一芯片上的存储的ip地址信息进行查找转发存在路由表项不够用的问题。

需要说明的是,本实施例中的芯片组是由多个芯片级联组成的,只有具体的芯片数量可以根据需要进行相应的设置或调整,例如芯片组中芯片的数量为3,5,8等等,在本申请并不对其进行限定。

在本实施例的可选实施方式中,对于步骤s204中涉及到的通过芯片组中的多个芯片对待转发的路由报文依次进行路由匹配的方式,进一步可以包括:

步骤s204-11,通过多个级联的芯片中的首芯片对待转发的路由报文的路由进行匹配;

步骤s204-12,在首芯片上匹配到待转发的路由报文的路由的情况下,通过首芯片根据匹配到的路由对待转发的路由进行转发;

步骤s204-13,在首芯片上未匹配到待转发的路由报文的路由的情况下,通过首芯片将待转发的路由报文转发到下一级联芯片进行路由匹配。

通过上述步骤s204-11至步骤s204-13可知,如果在芯片组的首芯片上匹配到待转发路由报文的路由,则基于该匹配到的路由通过首芯片对待转发的路由报文进行转发,如果是首芯片上未匹配到待转发路由报文的路由,则会将待转发的路由报文转发到下一级联芯片进行路由的匹配。

进一步地,对于上述步骤s204-13中涉及到的通过首芯片将待转发的路由报文转发到下一级联芯片进行路由匹配的方式,进一步不可以包括:

步骤s11,在下一级联芯片为非尾芯片的情况下,通过下一级联芯片对待转发的路由报文的路由进行匹配;

步骤s12,在下一级联芯片上匹配到待转发的路由报文的路由的情况下,将待转发的路由报文往下一级联芯片传输直到传输到尾芯片,并由尾芯片将待转发的路由报文转发到首芯片;通过首芯片根据匹配到的路由对待转发的路由进行转发;

步骤s13,在下一级联芯片上未匹配到待转发的路由报文的路由的情况下,将待转发的路由报文继续转发到当前芯片的下一级联芯片,并由当前芯片的下一级联芯片对待转发的路由报文进行路由匹配,直到通过尾芯片对待转发的路由报文进行路由匹配。

通过上述步骤s11至步骤s13可知,在下一级联芯片为非尾芯片的,即芯片组至少有三个芯片的情况下,将待转发的路由报文转发到下一级联芯片,由该下一级联芯片进行路由匹配,如果路由匹配成功则将待转发路由报文转发至首芯片进行路由转发,如果路由匹配失败则继续转发到再下一级联路由重复执行上述路由匹配过程,直到通过尾芯片对待转发的路由报文进行路由匹配。

在本实施例的另一个可选实施方式中,对于步骤s204-13中涉及到的通过首芯片将待转发的路由报文转发到下一级联芯片进行路由匹配的方式,进一步可以包括:在下一级联芯片为尾芯片的情况下,通过首芯片将待转发的路由报文转发到尾芯片,并通过尾芯片对待转发的路由报文进行路由匹配。

需要说明的是,对于上述涉及到的通过尾芯片对待转发的路由报文进行路由匹配的方式,进一步可以是:

步骤s21,在尾芯片上未匹配到待转发的路由报文的路由的情况下,将预设的路由设置为待转发的路由报文的路由;

步骤s22,在尾芯片上未匹配到待转发的路由报文的路由的情况下,通过尾芯片将待转发的路由报文转发到首芯片;通过首芯片根据匹配到的路由对待转发的路由进行转发。

也就是说,对于尾芯片,如果未匹配到路由则通过预设的路由对待转发的路由报文进行转发,如果匹配到则转发到首芯片。

下面结合本申请的可选实施方式进行举例说明,本可选实施方式的芯片组中的芯片数量为3。

本可选实施方式提供了一种通过芯片级联的方式来扩展路由表项,如图3所示,非首芯片(即芯片a2和a3)的所有硬件资源全部用于存放路由表用于扩展路由规格,将其当作首芯片的拓展内存使用,首芯片(即芯片a1)除了路由功能外,需要完成交换芯片的其他所有功能,例如二层交换,组播交换,各种tunnel转发等功能。

其中,对cpu来说,多块芯片相当于同一个芯片,芯片其他功能没有减少只有扩大了单播路由表项,所以对cpu而言,三块芯片的内存统一管理,路由的分布按照不同掩码长度由长到短分别依次分布于交换芯片a1、a2、a3,如图4所示,例如,此种芯片硬件资源有256k,可以假设能给芯片a1分配的路由资源为32k,芯片a2,a3则会将256k资源全部分配给路由使用;因此,芯片a1可下的路由为32k-1条,芯片a2能下的路由为256k-1条,芯片a3能下的路由为256k。非尾芯片(即芯片a1和a2)保留的一条路由目的是使得在本芯片上未被匹配到的路由能够被转发到下一块芯片继续进行路由查找。

下面以三块芯片级联扩展路由规格为例进一步说明,如图3所示,三块芯片通过stackingtrunk相连,首芯片(a1)的gchipid为该方案对外的唯一chipid,内部非首芯片的gchipid(如图3里a2/a3的gchipid127)为内部保留chipid,报文在stacking之间传输时芯片携带的内部头包含两个重要字段:destmap和nexthopptr,如图5所示,destmap由全局chipid(即gchip)和目的出口(即port)组成,表示报文最终的目的地;而nexthopptr指向出口芯片dsnexthopedit表,包含报文需要编辑信息,以下是报文从设备的面板口进入芯片后具体的处理过程:

对于芯片a1,从芯片a1进来一个路由报文,如果在芯片a1上匹配到了精确路由,那么此报文则会通过匹配到的路由所出的destmap和nexthopptr直接进入芯片a1的出口编辑流程,从而将报文送出;如果没有在a1上匹配到精确路由,则在芯片a1的默认行为是携带预留的destmap转发到芯片a2。

对于芯片a2,在芯片a2上从stackingtrunk口收到芯片a1发来的报文,根据发来的destmap信息判断是否需要继续路由查找,如果发来的destmap是预留的destmap,则表明芯片a1没有匹配到路由,a2需要继续进行路由查找,根据查找结果给出对应的destmap和nexthopptr;如果发来的destmap不是预留的destmap,则不需要进行路由查找,继续往下一个级联芯片a3传输;

对于芯片a3,同理在芯片a3做类似a2的处理,需要说明的是,由于是尾部芯片,如果都没有匹配到精确理由,则会走默认0.0.0.0/0的路由,与此同时在尾部芯片对前述已经匹配到的路由报文将通过stackingtrunk发送到a1,在a1上根据destmap和nexthopptr信息找到报文的出口以及对报文的编辑行为,报文编辑完成再从对应的面板口送出。

通过本实施例的可选实施方式,不影响芯片其他功能的前提下,并且对于上层用户来说感知不到多块芯片的存在的情况下,通过多块芯片级联来有效扩大芯片的lpm路由表项规格,解决了相关技术中当前廉价芯片lpm路由规格小导致不够用的问题。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例2

在本实施例中还提供了一种路由报文的处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图6是根据本发明实施例的路由报文的处理装置的结构框图,如图6所示,该装置包括:

(1)输入模块62,用于将待转发的路由报文输入芯片组,其中,芯片组包括多个级联的芯片;

(2)匹配模块64,用于通过芯片组中的多个芯片对待转发的路由报文依次进行路由匹配;其中,芯片组的路由表项由每一个级联的芯片的路由表项组合构成;

(3)转发模块66,用于根据匹配结果对待转发的路由报文进行转发。

可选地,本实施例中的匹配模块64进一步可以包括:第一匹配单元,用于通过多个级联的芯片中的首芯片对待转发的路由报文的路由进行匹配;转发单元,用于在首芯片上匹配到待转发的路由报文的路由的情况下,通过首芯片根据匹配到的路由对待转发的路由进行转发;第二匹配单元,用于在首芯片上未匹配到待转发的路由报文的路由的情况下,通过首芯片将待转发的路由报文转发到下一级联芯片进行路由匹配。

可选地,该第二匹配单元进一步可以包括:第一匹配子单元,用于在下一级联芯片为非尾芯片的情况下,通过下一级联芯片对待转发的路由报文的路由进行匹配;第一处理子单元,用于在下一级联芯片上匹配到待转发的路由报文的路由的情况下,将待转发的路由报文往下一级联芯片传输直到传输到尾芯片,并由尾芯片将待转发的路由报文转发到首芯片;通过首芯片根据匹配到的路由对待转发的路由进行转发;第二处理子单元,用于在下一级联芯片上未匹配到待转发的路由报文的路由的情况下,将待转发的路由报文继续转发到当前芯片的下一级联芯片,并由当前芯片的下一级联芯片对待转发的路由报文进行路由匹配,直到通过尾芯片对待转发的路由报文进行路由匹配。

可选地,该第二匹配单元进一步可以包括:第三处理子单元,用于在下一级联芯片为尾芯片的情况下,通过首芯片将待转发的路由报文转发到尾芯片,并通过尾芯片对待转发的路由报文进行路由匹配。

需要说明的是,本实施例中的第三处理子单元和/或第三处理子单元,还用于在尾芯片上未匹配到待转发的路由报文的路由的情况下,将预设的路由设置为待转发的路由报文的路由;在尾芯片上未匹配到待转发的路由报文的路由的情况下,通过尾芯片将待转发的路由报文转发到首芯片;通过首芯片根据匹配到的路由对待转发的路由进行转发。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

实施例3

本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,将待转发的路由报文输入芯片组,其中,芯片组包括多个级联的芯片;

s2,通过芯片组中的多个芯片对待转发的路由报文依次进行路由匹配;其中,芯片组的路由表项由每一个级联的芯片的路由表项组合构成;

s3,根据匹配结果对待转发的路由报文进行转发。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,将待转发的路由报文输入芯片组,其中,芯片组包括多个级联的芯片;

s2,通过芯片组中的多个芯片对待转发的路由报文依次进行路由匹配;其中,芯片组的路由表项由每一个级联的芯片的路由表项组合构成;

s3,根据匹配结果对待转发的路由报文进行转发。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1