System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 路由表项的高效管理方法、装置、设备及存储介质制造方法及图纸_技高网

路由表项的高效管理方法、装置、设备及存储介质制造方法及图纸

技术编号:44131748 阅读:2 留言:0更新日期:2025-01-24 22:51
本发明专利技术公开了一种路由表项的高效管理方法、装置、设备及存储介质,方法包括:获取用户的网络规划需求;根据所述网络规划需求,修改Trie Tree Bitmap Group规划,将对应的路由表项按一层树结构的方式实现;其中,在一层树结构中,Bitmap字段全部用来存储一个前缀长度的路由;基于修改后的路由表项实现路由操作以及IP转发。本发明专利技术通过开放Trie Tree Bitmap Group规划,根据用户网络规划需求定制,将需要的大规格路由Pattern,都按一层树的方式实现,充分发挥Trie Tree的优势,提供用户所需前缀长度最大的路由规格。此外,将路由表项采用一层树的方式实现后,每次路由操作需要操作的转发芯片表项就大大减少,同样可以提供最佳的路由操作性能。

【技术实现步骤摘要】

本专利技术涉及网络领域,尤其涉及一种路由表项的高效管理方法、装置及设备。


技术介绍

1、网络设备可以划分为两个平面——控制平面和转发平面。在控制平面中执行的任务,决定了应该如何处理和转发数据包。控制平面执行这些控制类任务,并填充数据平面中的转发表。数据平面从转发芯片的端口接收网络流量数据包,解析数据包中的l2/l3/l4 协议报文头,并采取进一步的转发。转发芯片用于解析数据包报文头,根据解析结果查转发表决定下一步的处理。如果查找转发表后可以获得合法的物理接口,排队和调度从该接口出去;如果数据包违反流量规则,或者未通过安全检查则丢弃数据包。

2、fib(forwarding information base,转发信息库)存储在片上或片外存储器(sram、hbm/dram 或 tcam)中。它包含的信息刚好足以将数据包转发到它们的下一个目的地或下一跳。这些转发表由控制平面软件在后台更新,而不会中断数据平面流量。对于 ip转发,fib对应着路由表——包括主机路由表和最长前缀匹配路由表(longest prefixmatch, 最长前缀匹配)。主机路由表,主要用来存储直接连接的子网内部的主机ip地址,包含直连主机的路由表项;通过交换arp请求和应答消息,来填充主机表项;主机路由表的查找,使用的全路由匹配方式,ipv4是32位地址,ipv6是128位地址。最长前缀匹配(longestprefix match, lpm)路由表,主要用来存储远程子网的路由表项;网络设备运行路由协议,通过与邻居网络设备交换路由信息,以获取远程子网的路由信息。

3、路由表通常包含 ip 地址、子网掩码(或 ip 前缀)和下一跳。根据硬件实现,下一跳可以直接指示数据包应沿着其路径转发到最终目的地的物理接口。或者它可以指向另一个表中的条目,该表包含一组关于如何计算数据包的传出接口的指令。路由查找过程中,如果dip命中主机路由表,则使用主机路由表的查询结果,直接将报文转发到目标主机;如果dip未命中主机路由表,则使用最长前缀匹配路由表的查询结果,将报文转发到目标子网。lpm路由是包含子网前缀长度的ip地址,若几个子网前缀同时命中,则掩码最长的一个匹配成功,进行进一步的转发。

4、表1显示了 ipv4 地址的概念性路由表,对包含 ipv4 地址、子网掩码和出接口的路由表条目使用简化格式。实际的路由表结构很复杂,可以在 ipv4 和 ipv6 地址之间共享,包含几个与目标地址一起用于查找的附加字段,并包含更多信息来指定数据包的各种操作。ipv6 条目与ipv4地址类似,只是它们的地址(128 位)比 ipv4 (32 位)宽得多。

5、

6、如果路由表要包含地球上使用的每一个 ip 地址,它将需要数十亿个条目,并且不可能将它们存储在硬件中。例如,一个 32 位的 ipv4 地址需要大约 40 亿个条目。网络设备通常聚合未直接连接的路由,简称为子网。使用子网掩码指示聚合的有效路由地址,查表时仅查看传入数据包的目标地址中掩码设置为 1 的位。例如,对于网络目标为192.168.0.0,掩码为 255.255.0.0 的条目,掩码在扩展为二进制格式时会设置高 16 位,这个数字 16 称为前缀长度,路由表条目称为 192.168.0.0/16(或 192.168.*)。将子网掩码存储为前缀长度可减少路由表中的条目宽度。

7、在ip转发过程中,当转发芯片收到一个ip数据包时,使用目的ip地址搜索路由表找到所有匹配的条目。查找时,使用前缀长度来屏蔽掉无关的地址位,以确定路由条目是否匹配。

8、以dip为192.168.1.108的路由查表过程举例,匹配到了表1中的条目1、2、3和6。在所有匹配条目中,前缀最长的匹配是条目6,它表示到达下一跳的最精确方式,转发芯片应该选择该条目进行进一步的转发。所有匹配条目中最精确的条目,也就是具有最长前缀长度的条目,被称为最长前缀匹配 (lpm,longest prefix match)。前缀重叠在转发表中非常常见,可以为数据包提供最佳路径,因为它通过多个网络设备到达目的地。

9、典型高端网络设备中的路由表数据库有数百万个条目。随着 ipv6 转发的广泛采用,在转发芯片中存储的路由条目数规格不断增长。此外,网络芯片供应商正在每个转发芯片中支持越来越大的带宽,这给数据包处理引擎带来了很大的负担,转发芯片需要支持以非常高的速率执行lpm 表的查找。

10、实现lpm表的一种常用方案是使用0-1前缀树(trie tree)存储路由。如图1所示,使用一条路由表项可以表示多条路由前缀。该方案,可以节省转发芯片的片上存储空间,同时可以有较好的查表处理速率,以及快速的表项插入和删除效率。路由表项的地址对应trie tree的root节点;trie tree bitmap对应叶子节点存储的具体路由, bitmap的宽度对应一条路由表项可以存储的路由条目数。

11、图1中,表项中的trie tree bitmap有31个bit,对应了一个从192.168.0.0/16——192.168.x.0/20共31个节点的trie tree,也即一个路由表项最多可以表示31条路由。图中,bitmap中第1,4比特设置为1,分别表示路由表汇总写入了192.168.0.0/17和192.168.64.0/18两条路由。

12、为提供最大的全局转发芯片的路由表项规格,在实现中通常预先划分好trietree的bitmap组。如表2所示,给出了ipv4的trie tree bitmap group规划,分为rootprefix length和bitmap对应的prefix length。

13、

14、从应用的角度,需要考虑路由规格,路由规格对应着网络设备的承载能力。扩大路由规格的一个简单办法,是扩大转发芯片上路由表项存储器的大小。在存储器大小确定的情况下,如何给予用户最大的路由规格的使用,非常考验网络设备的可用性。

15、使用trie tree来实现路由表的存储,可以通过支持各种掩码的路由,来扩大的路由表项的存储容量。网络客户在网络业务规划时,通常采用特定pattern的路由,使用某些固定的前缀和掩码。若某些前缀的路由恰好处于trie tree bitmap的root节点,则存储该前缀的路由将较为浪费路由存储空间。

16、例如,按照表2的trie tree bitmap group规划,如果对前缀长度16的路由,有大规格路由表项的应用需求。因前缀长度16的路由表项都规划到root节点,每个表项仅可存储一条路由,则无法发挥trie tree高效存储路由表项的优势,较为浪费路由表项的存储空间。

17、此外,从应用的角度,同样需要考虑路由操作的性能。路由操作的性能,主要与操作转发芯片的次数正相关。如何减少操作转发芯片的次数,是需要解决的问题。


技术实现思路

1、针对上述问题,本专利技术实施本文档来自技高网...

【技术保护点】

1.一种路由表项的高效管理方法,其特征在于,包括:

2.根据权利要求1所述的路由表项的高效管理方法,其特征在于,通过在全局默认的prefix规划叠加一个用户自定义prefix规划,所述用户自定义prefix规划用于记载用户输入的网络规划需求;

3.根据权利要求2所述的路由表项的高效管理方法,其特征在于,所述用户的网络规划需求为用户自定义的预定掩码长度的路由。

4.根据权利要求2所述的路由表项的高效管理方法,其特征在于,所述用户的网络规划需求为路由空间使用率;其中,在路由空间使用率达到设定阈值后,启动路由的压缩机制,将存储效率低的特定前缀的大量路由,使用一层树结构的方式实现存储。

5.根据权利要求1所述的路由表项的高效管理方法,其特征在于,在Trie Tree BitmapGroup规划中,通过设定特定字段来判断采用一层树结构还是多层树结构;当所述特定字段置位时,采用一层树结构,当所述特定字段置空时,采用多层树结构。

6.根据权利要求5所述的路由表项的高效管理方法,其特征在于,在多层树结构中,Bitmap字段的位数为2n-1位,n为多层树结构的层次数;在一层树结构中,Bitmap字段的位数为2n位。

7.根据权利要求5所述的路由表项的高效管理方法,其特征在于,还包括:

8.一种路由表项的高效管理装置,其特征在于,包括:

9.一种路由表项的高效管理设备,其特征在于,包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如权利要求1至7任意一项所述的路由表项的高效管理方法。

10.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序能够被所述计算机可读存储介质所在设备的处理器执行,以实现如权利要求1至7任意一项所述的路由表项的高效管理方法。

...

【技术特征摘要】

1.一种路由表项的高效管理方法,其特征在于,包括:

2.根据权利要求1所述的路由表项的高效管理方法,其特征在于,通过在全局默认的prefix规划叠加一个用户自定义prefix规划,所述用户自定义prefix规划用于记载用户输入的网络规划需求;

3.根据权利要求2所述的路由表项的高效管理方法,其特征在于,所述用户的网络规划需求为用户自定义的预定掩码长度的路由。

4.根据权利要求2所述的路由表项的高效管理方法,其特征在于,所述用户的网络规划需求为路由空间使用率;其中,在路由空间使用率达到设定阈值后,启动路由的压缩机制,将存储效率低的特定前缀的大量路由,使用一层树结构的方式实现存储。

5.根据权利要求1所述的路由表项的高效管理方法,其特征在于,在trie tree bitmapgroup规划中,通过设定特定字段来判断采用一层树结构还是多层树结构;当所述特定字段...

【专利技术属性】
技术研发人员:李贯中梁凯吴立群邢家茂陈清华
申请(专利权)人:云合智网上海技术有限公司
类型:发明
国别省市:

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

1