路由表索引方法、装置、存储介质及路由设备与流程

文档序号:37905006发布日期:2024-05-09 21:51阅读:16来源:国知局
路由表索引方法、装置、存储介质及路由设备与流程

本技术涉及通信领域,具体而言,涉及一种路由表索引方法、装置、存储介质及路由设备。


背景技术:

1、相关技术中,将路由信息存放在最长掩码匹配(longest prefix match,简称为lpm)的静态随机存储器(static random access memory,简称为sram),存放在同一条sram中的路由地址拥有相同的公共前缀,然后,将公共前缀放在三态内容寻址存储器(ternarycontent addressable memory,简称为tcam)中。

2、当路由地址的前缀变化较多时,意味着路由地址的公共前缀会同步增加,就需要消耗tcam更多的资源用于存储公共前缀。尤其是在对ipv6进行路由时,ipv6路由的公共前缀需要占用大量的tcam资源。因此,基于lpm路由算法时,如果要支持更多的路由资源,只能同步增加tcam的资源。但tcam作为一种专用集成电路(application specific integratedcircuit,简称为asic),受限于tcam的功耗和成本,tcam往往并不会设计的特别大。

3、鉴于上述相关技术中的技术问题,进一步提出了将路由表中的路由地址拆分成多段公共前缀,分别存储在级联的多个存储器中。其中,多个级联的存储器可以包括tcam与多级静态随机存储器sram,其中,tcam用于存储多个完整路由地址的公共前缀,最后一级sram用于存储多个路由地址的后缀,多级sram中除最后一级sram之外的其他级sram用于存储多个路由地址的中间前缀。从而解决相关技术中,lpm路由树算法对tcam资源的资源消耗过大的问题,通过多级sram结构存储路由地址,即将路由地址的公共前缀使用一级或多级sram进行存放,形成级联,将最顶级的前缀存储在tcam中,由于经过了多级前缀收敛,使得tcam的资源消耗较少。

4、示例性的,在图1所示的2级sram(分别表示为sram1、sram2)中,使用lpm算法树来存储路由,将路由地址拆分成三份,分别存入tcam、sram1和sram2中。存储在tcam中的内容为完整路由地址的公共前缀,sram1中的为除去公共前缀之后,路由地址剩余部分的中间前缀,sram2中的为除去公共前缀、中间前缀之后,路由地址剩余部分的公共后缀,三者组成完整的路由地址。值得说明的是,从级联关系的上下级而言,sram1中路由地址的中间前缀,实际可以视为路由地址剩余部分的公共前缀。由于每个sram(包括sram1和sram2)包括有多个存储条目,每个存储条目可以存储多个路由的中间前缀或后缀;因此,通过tcam可以获得sram1中存储条目的索引信息;通过sram1可以获得sram2存储条目的索引信息。

5、每个sram包括多个存储块,具体数量由路由表项规格决定。例如,图2所示的sram包括2个存储块101,将2个存储块101中位于同一条目位置的存储空间作为一个存储条目102。该存储条目102可以被划分为4个子空间103,每个子空间103可以存储剩余路由地址的一条公共前缀,因此,图2中的每个存储条目102最多可以存储4条公共前缀。然而,目前从tcam获得的索引信息只能索引完整的存储条目102,但一些存储条目102中剩余有未被使用的空闲子空间,目前无法对这部分空闲子空间进行有效利用,进而造成资源浪费。例如,若图2所示存储条目102的4个子空间103只存储了2条公共前缀,则剩余的2子空间103因无法使用而被浪费掉。


技术实现思路

1、为了克服现有技术中的至少一个不足,本技术提供一种路由表索引方法、装置、存储介质及电子设备,具体包括:

2、第一方面,本技术提供一种路由表索引方法,所述路由表中的路由地址被拆分为多段公共前缀,分别存储在级联的多个存储器中,所述方法包括:

3、接收待路由地址;

4、对于所述多个存储器中任意相邻的两个,获取所述待路由地址在上级存储器中匹配出的目标索引信息,其中,所述上级存储器还存储有下级存储器中公共前缀的索引信息与自身已记录公共前缀之间的对应关系,所述目标索引信息包括下级存储器中待索引存储条目的位置、所述待索引存储条目中待匹配前缀的起始偏移量;

5、根据待索引存储条目的位置,从下级存储器中确定出所述待索引存储条目,并从所述起始偏移量开始对所述待路由地址继续进行匹配。

6、结合第一方面的可选实施方式,所述下级存储器中的每个存储条目能够记录预设数量的公共前缀,所述从所述起始偏移量开始对所述待路由地址继续进行匹配,包括:

7、若所述起始偏移量未指向所述待索引存储条目的起始位置,则基于所述起始偏移量,从所述待索引存储条目与下一条存储条目中确定出所述预设数量的公共前缀作为待匹配前缀;

8、将所述待路由地址分别与所述待匹配前缀进行匹配。

9、结合第一方面的可选实施方式,所述将所述待路由地址分别与所述预设数量的公共前缀进行匹配,包括:

10、确定出所述待路由地址中未被匹配的部分;

11、将所述未被匹配的部分分别与所述待匹配前缀进行匹配。

12、结合第一方面的可选实施方式,所述将所述未被匹配的部分分别与所述待匹配前缀进行匹配,包括:

13、利用最长前缀匹配lpm算法将所述未被匹配的部分分别与所述待匹配前缀进行匹配。

14、结合第一方面的可选实施方式,所述方法还包括:

15、根据所述最后一级存储器的索引信息,从所述最后一级存储器中匹配出所述待路由地址的转发信息。

16、结合第一方面的可选实施方式,所述多个存储器中的第一级存储器为三态内容寻址存储器tcam。

17、结合第一方面的可选实施方式,所述多个存储器中除第一级存储器以外的存储器为静态随机存储器sram。

18、第二方面,本技术还提供一种路由表索引装置,所述路由表中的路由地址被拆分为多段公共前缀,分别存储在级联的多个存储器中,所述装置包括:

19、接收模块,用于接收待路由地址;

20、路由模块,用于对于所述多个存储器中任意相邻的两个,获取所述待路由地址在上级存储器中匹配出的目标索引信息,其中,所述上级存储器还存储有下级存储器中公共前缀的索引信息与自身已记录公共前缀之间的对应关系,所述目标索引信息包括下级存储器中待索引存储条目的位置、所述待索引存储条目中待匹配前缀的起始偏移量;

21、所述路由模块,还用于根据待索引存储条目的位置,从下级存储器中确定出所述待索引存储条目,并从所述起始偏移量开始对所述待路由地址继续进行匹配。

22、结合第二方面的可选实施方式,所述下级存储器中的每个存储条目能够记录预设数量的公共前缀,所述路由模块还具体用于:

23、若所述起始偏移量未指向所述待索引存储条目的起始位置,则基于所述起始偏移量,从所述待索引存储条目与下一条存储条目中确定出所述预设数量的公共前缀作为待匹配前缀;

24、将所述待路由地址分别与所述待匹配前缀进行匹配。

25、结合第二方面的可选实施方式,所述路由模块还具体用于:

26、确定出所述待路由地址中未被匹配的部分;

27、将所述未被匹配的部分分别与所述待匹配前缀进行匹配。

28、结合第二方面的可选实施方式,所述路由模块还具体用于:

29、利用最长前缀匹配lpm算法将所述未被匹配的部分分别与所述待匹配前缀进行匹配。

30、结合第二方面的可选实施方式,所述路由模块还用于:

31、根据所述最后一级存储器的索引信息,从所述最后一级存储器中匹配出所述待路由地址的转发信息。

32、结合第二方面的可选实施方式,所述多个存储器中的第一级存储器为三态内容寻址存储器tcam。

33、结合第二方面的可选实施方式,所述多个存储器中除第一级存储器以外的存储器为静态随机存储器sram。

34、第三方面,本技术还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现所述的路由表索引方法。

35、第四方面,本技术还提供一种路由设备,所述路由设备存储有计算机程序,所述计算机程序被处理器执行时,实现所述的路由表索引方法。

36、相对于现有技术而言,本技术具有以下有益效果:

37、本技术提供一种路由表索引方法、装置、存储介质及路由设备。其中,路由表中的路由地址被拆分为多段公共前缀,分别存储在级联的多个存储器中。路由设备接收待路由地址;对于多个存储器中任意相邻的两个,获取待路由地址在上级存储器中匹配出的目标索引信息,其中,上级存储器还存储有下级存储器中公共前缀的索引信息与自身已记录公共前缀之间的对应关系,目标索引信息包括下级存储器中待索引存储条目的位置、待索引存储条目中待匹配前缀的起始偏移量;根据待索引存储条目的位置,从下级存储器中确定出待索引存储条目,并从起始偏移量开始对待路由地址继续进行匹配。如此,相较于现有技术中只能索引完整的存储条目,本技术可以通过起始偏移量对存储条目进行更为细致的索引,从而提升了存储空间的利用效率。

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