《用于处理交替配置的最长前缀匹配表的装置和方法.pdf》由会员分享,可在线阅读,更多相关《用于处理交替配置的最长前缀匹配表的装置和方法.pdf(14页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104052669A43申请公布日20140917CN104052669A21申请号201410090589922申请日2014031261/778,29320130312US14/194,56720140228USH04L12/74520130171申请人西普联特公司地址美国加利福尼亚州72发明人王炜煌M巴兰N希瓦Z沙74专利代理机构北京市金杜律师事务所11256代理人王茂华辛鸣54发明名称用于处理交替配置的最长前缀匹配表的装置和方法57摘要本发明的各实施例涉及用于处理交替配置的最长前缀匹配表的装置和方法。一种网络交换机,包括存储器,存储器可配置用于存储字典树层级中的单个字。
2、典树的交替表表示。前缀表处理器使用输入网络地址并行访问单个字典树的交替表表示并且在每个交替表表示中搜索最长前缀匹配以获得本地前缀匹配。选择来自本地前缀匹配的最长前缀匹配。最长前缀匹配具有关联的下一跳索引基地址和偏移值。下一跳索引处理器利用下一跳索引基地址和偏移值访问存储器中的下一跳索引表以获得下一跳表指针。下一跳处理器使用下一跳表指针访问存储器中的下一跳表以获得目的地网络地址。30优先权数据51INTCL权利要求书1页说明书4页附图8页19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书4页附图8页10申请公布号CN104052669ACN104052669A1/1页21一种网。
3、络交换机,包括存储器,可配置用于存储字典树层级中的单个字典树的交替表表示;前缀表处理器,用于使用输入网络地址并行访问所述单个字典树的所述交替表表示并且在每个交替表表示中搜索最长前缀匹配以获得本地前缀匹配,从所述本地前缀匹配选择所述最长前缀匹配,其中所述最长前缀匹配具有关联的下一跳索引基地址和偏移值;下一跳索引处理器,用于利用所述下一跳索引基地址和偏移值访问所述存储器中的下一跳索引表以获得下一跳表指针;以及下一跳处理器,用于使用所述下一跳表指针访问所述存储器中的下一跳表以获得目的地网络地址。2根据权利要求1所述的网络交换机,其中所述交替表表示包括标识选择的字典表节点的稀疏模式表示。3根据权利要求。
4、2所述的网络交换机,其中所述稀疏模式表示包括分支标识和步幅值。4根据权利要求1所述的网络交换机,其中所述交替表表示包括具有标识选择的字典树节点的位图的位图模式表示。5根据权利要求4所述的网络交换机,其中所述位图模式表示包括分支标识和步幅值。6根据权利要求1所述的网络交换机,其中所述交替表表示包括标识在字典树的底部的选择的字典树节点的叶推进表示。7根据权利要求6所述的网络交换机,其中所述叶推进表示包括分支标识和步幅值。8根据权利要求1所述的网络交换机,其中所述前缀表处理器是具有确定性查找延时的硬件资源。9根据权利要求1所述的网络交换机,其中所述交替表表示包括在相同表中具有不同分组类型的表。10根。
5、据权利要求9所述的网络交换机,其中所述不同分组类型包括IPV4分组和IPV6分组。11根据权利要求1所述的网络交换机,其中所述前缀表处理器标识用于远程主机的最长前缀匹配和用于直接附接的主机的准确匹配。12根据权利要求1所述的网络交换机,其中所述前缀表处理器在相同表中标识用于所述远程主机的所述最长前缀匹配和用于所述直接附接的主机的所述准确匹配。13根据权利要求1所述的网络交换机,其中所述下一跳索引处理器处理下一跳表条目的块以有助于等价多路径寻路由。14根据权利要求13所述的网络交换机,其中所述块指定上至1024个路径。权利要求书CN104052669A1/4页3用于处理交替配置的最长前缀匹配表的。
6、装置和方法0001相关申请的交叉引用0002本申请要求对通过引用将其公开内容结合于此、于2013年3月12日提交的第61/778,293号美国临时专利申请的优先权。技术领域0003本发明总体上涉及处理计算机网络中的流量。更特别地,本发明涉及具有交替配置的最长前缀匹配表的网络交换机。背景技术0004图1图示了根据现有技术被利用的最长前缀匹配处理器100。最长前缀匹配处理器100包括用于在转发表104中找到条目的搜索引擎102。转发表中的每个条目具有关联的交换机标识符,交换机标识符表示用于网络分组的下一目的地(跳(HOP)。0005图2图示了现有技术的转发表200的简化版本。转发表具有前缀列和下一。
7、跳列,前缀列具有条目的集合,下一跳列具有指明的交换机标识符。每个前缀条目是网络地址的分段。星号()指明“不在意”状态。如果没有前缀匹配,则下一跳被指明为交换机“A”。希望获得具有如下前缀的匹配,该前缀因为其表示到目标机器的最具体路径而最长。0006图3图示了由具有最长前缀匹配处理器100的交换机302接收的分组300。最长前缀匹配处理器生成到另一机器的跳,另一机器比如为交换机A、C或者E或者机器B、D、F或者G。0007图4图示了二叉树或者字典树(TRIE)400。该图的顶部图示了三角形400,三角形400是在该图的底部示出的字典树400的简化的表示。字典树400具有由0和1表示的不同路径,其。
8、中0表示向左的路径并且1表示向右的路径。使用这一技术,可以用数字值指明字典树中的任何路径。如所示,字典树400的底部具有四个叶节点,其可以分支到八个目的地(0)至(7)。到目的地(0)的路径被表示为000,因为三个左分支用来到达这一位置。到目的地(3)的路径被标识为011,因为一个左分支(0)后接两个右分支(1)。以这一方式,可以使用二进制值指定每个路径。字典树400具有三层节点并且因此被称为具有为三的步幅(STRIDE)。0008图5图示了字典树400可以与许多其他字典树具有任意复杂层级关系。例如,字典树400可以被视为层0,在其下方具有在层1的八个字典树400_1至400_8。这一字典树扩。
9、展可以推进用于任何数目的层,如图5中所示。每个字典树可以具有不同大小。因此,可以领会到,可以通过这样的结构定义任意长路径表达。0009图6图示了字典树600的每个节点可以具有指明的编号。在这一示例中,如所示,节点被编号为1至7。0010图7图示了其中下一跳信息驻留在暗节点(节点5和7)的场景。到节点5的路径可以用二进制被表达为01,而到节点7的路径可以用二进制被表达为11。参照图5可以领会到,节点路径可以遍历多个层并且将用长二进制值表达到特定节点的作为结果的路径。说明书CN104052669A2/4页40011鉴于前述,存在对提供用于标识最长前缀匹配的改进技术的持续需求。发明内容0012一种网。
10、络交换机,包括存储器,存储器可配置用于存储字典树层级中的单个字典树的交替表表示。前缀表处理器使用输入网络地址并行访问单个字典树的交替表表示并且在每个交替表表示中搜索最长前缀匹配以获得本地前缀匹配。选择来自本地前缀匹配的最长前缀匹配。最长前缀匹配具有关联的下一跳索引基地址和偏移值。下一跳索引处理器利用下一跳索引基地址和偏移值访问存储器中的下一跳索引表以获得下一跳表指针。下一跳处理器使用下一跳表指针访问存储器中的下一跳表以获得目的地网络地址。附图说明0013连同附图结合以下具体描述来更完全地领会本发明,在附图中0014图1图示了现有技术的最长前缀匹配处理器。0015图2图示了现有技术的转发表。00。
11、16图3图示了具有用于将分组路由到任何数目的交换机或者机器的最长前缀匹配处理器的交换机。0017图4图示了现有技术的二叉树。0018图5图示了二叉树的具有任意复杂路径的嵌套配置。0019图6图示了根据本发明的实施例被使用的节点编号。0020图7图示了在选择的节点具有下一跳信息的二叉树。0021图8图示了根据本发明的实施例被利用的稀疏模式表配置。0022图9图示了根据本发明的实施例被利用的位图模式表配置。0023图10图示了根据本发明的实施例被利用的叶推进(LEAFPUSH)模式表配置。0024图11图示了根据本发明的实施例被利用的下一跳索引表。0025图12图示了根据本发明的实施例被利用的下一。
12、跳表。0026图13图示了根据本发明的实施例被执行的分组处理操作。0027图14图示了根据本发明的实施例被利用的处理组件。0028相似参考号贯穿附图的若干视图指示对应的部分。具体实施方式0029本发明是在交换机中嵌入的最长前缀匹配处理器。最长前缀匹配处理器利用交替配置的最长前缀匹配表,可以针对不同最长前缀匹配搜索策略和存储器优化策略优化最长前缀匹配表。在图8中示出了一个最长前缀匹配表。该表的第一列指定分组类型,在这一实例中为IPV4。有利地,IPV4和IPV6分组类型可以被高效地存储在单个表中。下一列指定存储模式,在这一实例中为稀疏类型。稀疏类型有助于针对单个字典树的大步幅。即,稀疏模式有助于。
13、针对其中单个字典树大的配置的处理。下一列指定分支长度。分支长度是从层级字典树的根节点到单个字典树(比如图5中的任意字典树(也被称为子字典树)的任意根节点的路径的长度的指示符。步幅指定字典树的大小,比如2步幅。在这一示例中,步幅为5或者25或者32。下一列是下一跳索引基地址。本发明将下一跳索引用于对下一跳表说明书CN104052669A3/4页5的引用。这允许在配置存储器资源中的最大灵活性。该表的下一列是分支ID,比如如以上讨论的通过树的路径的二进制表示。图8的最后列指定具有下一跳信息的字典树节点ID。图7提供字典树节点和具有下一跳信息的对应的节点ID的示例。图8的前四个字段具有固定宽度。剩余的。
14、两个字段具有可变宽度。0030图9图示了用于前缀匹配表的交替配置。第一字段指定分组类型。下一字段指定位图模式。如以上讨论的,下一字段指定分支长度。下一字段指定步幅。在位图模式中,用于步幅5的字典树的所有节点被存储在251或者31位的数组中。下两个字段是NHI基地址和分支ID。如以上讨论的,分支ID指定分支路径。NHI基地址指定对应于字典树位图的最低有效位的基位置,其被标记为1。其他节点使它们的指针从基位置递增进入NHI表。例如,如果基位置为零,则被标记为1的第五位将从基位置被递增4个条目。最后字段是字典树位图。在这一示例中,字典树位图为31位图。位图指定在指定的字典树中具有下一跳信息的不同位置。
15、。0031图10图示了用于前缀匹配表的交替配置。第一字段指定叶推进模式。在叶推进模式中,在数组中仅表示最底部节点。例如,关于图6,在数组中将仅表示节点4、5、6和7。如果图6的其他节点具有下一跳信息,则可以使用各种技术(比如受控前缀扩展)来将该信息定位在最底部节点中。NHI表在这一实例中需要进行对应的复制。这一模式在其中用于直接连接的主机的网络地址被存储在相同表的实例中特别存储器高效,因为那些主机通常具有连续地址。这一模式也是有利的,因为所有搜索在相同层终止。0032图10的表也具有分支长度字段、步幅字段、NHI基地址字段、分支ID字段和字典树底部位图字段。在5步幅的实例中,整个位图具有251。
16、或者31位,这导致16个节点的底部集合。因此,16位图可以用来指定这些不同节点的位置。0033图11图示了下一跳索引表。表中的不同条目指定到下一跳表基位置加上块大小偏移的指针。基位置指定进入表的入口点而块大小指定从该基位置的附加字段。下一跳表条目的块大小被用于等价多路径(ECMP)寻路由,一种高级网络寻路由策略。连同IP地址,对最长前缀匹配引擎的每个请求伴随有用于路径选择的ECMP哈希值。ECMP哈希值可以大于可用块大小,因此最后路径选择被计算为下一跳基地址加上下一跳块大小的输入ECMP哈希值取模。在一个实施例中,针对ECMP支持上至1024个路径。0034NHI表大小是字典树配置的函数。表大。
17、小可以被动态配置和优化。0035图12图示了下一跳表。该表中的每个条目指定到目的地机器的跳。0036图13图示了根据本发明的实施例被执行的处理操作。入口网络地址(例如,网际协议地址)1300应用于前缀表0至N的集合,全部或者部分表可以由软件配置。如结合图8至图10讨论的,每个前缀表包含前缀条目的集合,每个前缀条目指定到字典树的路径并且然后是该字典树的特性。使用前缀表01302作为示例,入口网络地址的位的软件配置的选择应用于哈希函数以映射到前缀表地址1304。有利地,在硬件中利用固定延时完成所有匹配。然后读取前缀表存储器以到达子字典树0(任意复杂层级字典树结构中的单个字典树,比如图5中所示的字典。
18、树)0136。然后在该子字典树执行最长前缀匹配1308。跨所有前缀表0至N重复这一处理以创建本地前缀匹配。然后处理结果以选择最长前缀匹配1310。然后读取NHI表1312,这导致对下一跳表的访问1314,这产生下一跳1316。0037图14图示了根据本发明的实施例被配置的最长前缀匹配处理器1400。处理器说明书CN104052669A4/4页61400包括前缀表处理器1402,其为被配置用于指定并且然后访问不同最长前缀匹配表(比如图8图10中的最长前缀匹配表)的硬件资源。表驻留在存储器1404中,存储器1404可以是SPAM资源池。前缀表处理器1402协调图13的操作1304至1310。下一跳。
19、索引处理器1406然后可以用来访问存储器1404中的下一跳索引表,下一跳索引表向下一跳处理器1408返回基地址和偏移(如果存在)。下一跳处理器1408访问在存储器1404中存储的下一跳表,其产生下一跳地址作为结果1410。如果前缀表处理器1402具有字典树未命中或者其他错误,则可以如用箭头1412所示直接生成错误或者默认结果1410。0038前述描述出于说明的目的使用具体命名提供对本发明的透彻理解。然而,对本领域技术人员将明显的是,并不需要具体细节以便实践本发明。因此,出于例示和描述的目的呈现本发明的具体实施例的前述描述。它们并不旨在于是详尽的或者将本发明限制到所公开的精确形式;明显地,鉴于以。
20、上教导许多修改和改变是可能的。选择并且描述实施例以便最佳地说明本发明的原理及其实践应用,它们因此使得本领域其他技术人员能够最佳地利用本发明以及具有在适合于预期的特定使用时的各种修改的各种实施例。旨在于以下权利要求及其等效物限定本发明的范围。说明书CN104052669A1/8页7图1图2说明书附图CN104052669A2/8页8图3说明书附图CN104052669A3/8页9图4说明书附图CN104052669A4/8页10图5图6说明书附图CN104052669A105/8页11图7图8图9图10说明书附图CN104052669A116/8页12图11图12说明书附图CN104052669A127/8页13图13说明书附图CN104052669A138/8页14图14说明书附图CN104052669A14。