转发表存储方法及查找方法、装置、电子设备和存储介质与流程

文档序号:34662133发布日期:2023-07-05 10:14阅读:50来源:国知局
转发表存储方法及查找方法、装置、电子设备和存储介质与流程

本发明涉及通信,尤其涉及一种转发表存储方法及查找方法、装置、电子设备和存储介质。


背景技术:

1、随着互联网的高速发展,网络节点不断增多,数据流量千变万化。在相关技术中,节点间的通信在芯片中一般是分成两部分存储,即路径信息和出口信息。为了提高报文的查找转发效率,芯片通常会使用较大的成本实现数量庞大的路径信息存储,故而对存储出口信息的表项成本造成了更多的限制。同时,通常情况下每个节点间的通信对应数据报文的编辑行为是不一样的,这也就意味着每存储一份路径信息就需耗费一张表项来存储出口信息,所以实际中对于存储出口信息的表项资源需求十分紧张。

2、由于网络技术不同,通信过程中涉及的出口信息不同,现有技术中,芯片根据应用的不同,对于给定的资源一般大致定义为几大类来存储不同的出口行为。但网络应用千变万化,芯片为支持更多的功能,在表项定义时力求全面,导致在基本的二三层转发中只使用了该表项中的一小部分字段,而空余大量字段造成了表项的浪费,利用率较低。在成本有限的情况下,如何提高表项利用率是目前亟待解决的问题。


技术实现思路

1、为解决现有存在的技术问题,本发明实施例提供一种转发表存储方法及查找方法、装置、电子设备和存储介质。

2、为达到上述目的,本发明实施例的技术方案是这样实现的:

3、第一方面,本发明实施例提供一种转发表存储方法,包括:

4、获得待存储的转发表信息,所述转发表信息包括路径信息和出口信息;

5、根据所述出口信息所需消耗的表项空间大小确定第一字段的取值,基于所述第一字段的取值确定第一索引值;其中,所述第一字段设置在第二转发表中,所述第一字段的不同取值指示对所述第二转发表所包括的全部表项空间进行不同比例的划分,获得不同的表项空间;所述第一索引值指向所述第二转发表所包括的目标表项空间;

6、将所述路径信息和所述第一索引值存储至第一转发表,以及将所述出口信息存储至所述目标表项空间。

7、上述方案中,所述根据所述出口信息所需消耗的表项空间大小确定第一字段的取值,包括:

8、在所需消耗的表项空间不大于所述第二转发表所包括的全部表项空间的二分之一的情况下,确定所述第一字段为第一值;所述第一值指示对所述第二转发表所包括的全部表项空间进行二等分;

9、在所需消耗的表项空间大于所述第二转发表所包括的全部表项空间的二分之一的情况下,确定所述第一字段为第二值;所述第二值指示不对所述第二转发表进行划分。

10、上述方案中,所述方法还包括:

11、根据所述出口信息包括的参数类型,确定所述出口信息所需消耗的表项空间大小。

12、上述方案中,所述根据所述出口信息包括的参数类型,确定所述出口信息所需消耗的表项空间大小,包括:

13、在所述出口信息未包括扩展功能信息的情况下,确定所述出口信息所需消耗的表项空间不大于所述第二转发表所包括的全部表项空间的二分之一;

14、在所述出口信息包括所述扩展功能信息的情况下,确定所述出口信息所需消耗的表项空间大于所述第二转发表所包括的全部表项空间的二分之一。

15、上述方案中,所述方法还包括:基于所述第一字段的取值配置所述第二转发表中的第一字段。

16、第二方面,本发明实施例还提供一种转发表查找方法,包括:

17、基于待转发报文中的路径信息查找第一转发表,获得第一索引值;所述第一转发表包括至少一组路径信息和对应的索引值;

18、根据所述第一索引值确定第二转发表;其中,所述第二转发表包括第一字段,所述第一字段的不同取值指示对所述第二转发表所包括的全部表项空间进行不同比例的划分,获得不同的表项空间;

19、基于所述第二转发表中第一字段的取值和所述第一索引值,确定所述第二转发表所包括的目标表项空间;解析所述目标表项空间中存储的报文信息,获得所述路径信息对应的出口信息。

20、上述方案中,所述根据所述第一索引值确定第二转发表,包括:

21、根据所述第一索引值,确定指向所述第二转发表包括的全部表项空间的第二索引值;根据所述第二索引值确定所述第二转发表。

22、上述方案中,所述基于所述第二转发表中第一字段的取值和所述第一索引值,确定所述第二转发表所包括的目标表项空间,包括:

23、根据所述第一字段的取值,确定所述第二转发表包括的一个或多个表项空间;

24、在所述第二转发表仅包括一个表项空间的情况下,确定所述目标表项空间为所述第二转发表包括的全部表项空间;在所述第二转发表包括多个表项空间的情况下,基于所述第一索引值在所述多个表项空间中确定所述目标表项空间。

25、上述方案中,所述根据所述第一字段的取值,确定所述第二转发表包括的一个或多个表项空间,包括:

26、在所述第一字段的取值为第一值的情况下,确定所述第二转发表包括两个表项空间;所述第一值指示对所述第二转发表所包括的全部表项空间进行二等分;

27、在所述第一字段的取值为第二值的情况下,确定所述第二转发表仅包括一个表项空间;所述第二值指示不对所述第二转发表进行划分。

28、上述方案中,所述基于所述第一索引值在所述多个表项空间中确定所述目标表项空间,包括:

29、基于所述第一索引值与所述第二索引值的距离值,在所述多个表项空间中确定所述目标表项空间。

30、第三方面,本发明实施例还提供一种转发表存储装置,包括:

31、第一获取模块,用于获得待存储的转发表信息,所述转发表信息包括路径信息和出口信息;

32、第一确定模块,用于根据所述第一获取模块获得的所述出口信息所需消耗的表项空间大小确定第一字段的取值,基于所述第一字段的取值确定第一索引值;其中,所述第一字段设置在第二转发表中,所述第一字段的不同取值指示对所述第二转发表所包括的全部表项空间进行不同比例的划分,获得不同的表项空间;所述第一索引值指向所述第二转发表所包括的目标表项空间;

33、和存储模块,用于将所述第一获取模块获得的所述路径信息和所述第一确定模块确定的所述第一索引值存储至第一转发表,以及将所述第一获取模块获得的所述出口信息存储至所述目标表项空间。

34、上述方案中,所述第一确定模块,包括:

35、第一子模块,用于在所需消耗的表项空间不大于所述第二转发表所包括的全部表项空间的二分之一的情况下,确定所述第一字段为第一值;所述第一值指示对所述第二转发表所包括的全部表项空间进行二等分;还用于在所需消耗的表项空间大于所述第二转发表所包括的全部表项空间的二分之一的情况下,确定所述第一字段为第二值;所述第二值指示不对所述第二转发表进行划分。

36、上述方案中,所述第一确定模块,还用于根据所述第一获取模块获得的所述出口信息包括的参数类型,确定所述出口信息所需消耗的表项空间大小。

37、上述方案中,所述第一确定模块,包括:

38、第二子模块,用于在所述出口信息未包括扩展功能信息的情况下,确定所述出口信息所需消耗的表项空间不大于所述第二转发表所包括的全部表项空间的二分之一;还用于在所述出口信息包括所述扩展功能信息的情况下,确定所述出口信息所需消耗的表项空间大于所述第二转发表所包括的全部表项空间的二分之一。

39、上述方案中,所述装置还包括配置模块,用于基于所述第一确定模块确定的所述第一字段的取值配置所述第二转发表中的第一字段。

40、第四方面,本发明实施例还提供一种转发表查找装置,包括:

41、第二获取模块,用于基于待转发报文中的路径信息查找第一转发表,获得第一索引值;所述第一转发表包括至少一组路径信息和对应的索引值;

42、第二确定模块,用于根据所述第二获取模块获得的所述第一索引值确定第二转发表;其中,所述第二转发表包括第一字段,所述第一字段的不同取值指示对所述第二转发表所包括的全部表项空间进行不同比例的划分,获得不同的表项空间;

43、和查找模块,用于基于所述第二确定模块确定的所述第二转发表中第一字段的取值和所述第二获取模块获得的所述第一索引值,确定所述第二转发表所包括的目标表项空间;解析所述目标表项空间中存储的报文信息,获得所述路径信息对应的出口信息。

44、上述方案中,所述第二确定模块,用于根据所述第二获取模块获得的所述第一索引值,确定指向所述第二转发表包括的全部表项空间的第二索引值;根据所述第二索引值确定所述第二转发表。

45、上述方案中,所述查找模块,包括:

46、第三子模块,用于根据所述第一字段的取值,确定所述第二转发表包括的一个或多个表项空间;

47、和第四子模块,用于在所述第二转发表仅包括一个表项空间的情况下,确定所述目标表项空间为所述第二转发表包括的全部表项空间;在所述第二转发表包括多个表项空间的情况下,基于所述第一索引值在所述多个表项空间中确定所述目标表项空间。

48、上述方案中,所述第三子模块,用于在所述第一字段的取值为第一值的情况下,确定所述第二转发表包括两个表项空间;所述第一值指示对所述第二转发表所包括的全部表项空间进行二等分;还用于在所述第一字段的取值为第二值的情况下,确定所述第二转发表仅包括一个表项空间;所述第二值指示不对所述第二转发表进行划分。

49、上述方案中,所述第四子模块,还用于基于所述第一索引值与所述第二索引值的距离值,在所述多个表项空间中确定所述目标表项空间。

50、第五方面,本发明实施例还提供一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行前述转发表存储方法的步骤,或者,所述处理器用于运行所述计算机程序时,执行前述转发表查找方法的步骤。

51、第六方面,本发明实施例还提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现前述转发表存储方法的步骤,或者,该计算机程序被处理器执行时实现前述转发表查找方法的步骤。

52、本发明实施例提供一种转发表存储方法及查找方法、装置、电子设备和存储介质,通过在第二转发表设置第一字段,可在不改变转发表对应的表项空间的前提下,提供多种不同大小的表项空间用于存储不同种类的出口信息,实现在资源固定的情况下提高表项利用率。

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