用于规则的笛卡尔乘积的有效存储器利用制造技术

技术编号:38618637 阅读:14 留言:0更新日期:2023-08-31 18:23
本公开涉及用于规则的笛卡尔乘积的有效存储器利用。网络设备包括一个或更多个端口以及动作选择电路。端口用于通过网络交换分组。动作选择电路用于:对于给定分组,基于给定分组的第一报头字段来确定第一检索关键字,以及基于给定分组的第二报头字段来确定第二检索关键字,将第一检索关键字与第一组比较值进行比较,响应于第一检索关键字与第一比较值之间的匹配来输出多元素向量,通过级联第二检索关键字和多元素向量来生成合成检索关键字,将合成检索关键字与第二组比较值进行比较,并且响应于合成检索关键字和第二比较值之间的匹配来输出用于应用于给定分组的动作指示符。来输出用于应用于给定分组的动作指示符。来输出用于应用于给定分组的动作指示符。

【技术实现步骤摘要】
用于规则的笛卡尔乘积的有效存储器利用


[0001]本专利技术总体上涉及通信网络,并且具体涉及基于分组报头的通信分组动作的有效确定。

技术介绍

[0002]在通信网络中,根据分组的一个或更多个报头字段的内容,可以将动作应用于通信分组。
[0003]在“基于期望最大化聚类的分层特里结构分组分类算法(Hierarchical trie packet classification algorithm based on expectation

maximization clustering)”中,布隆迪(Bi)和扎霍(Zaho)(2017年7月13日;doi.org/10.1371/journal.pone.0181049)作者断言能够处理大规模规则集的分组分类算法是迫切需要的,并解释了基于分层特里结构(trie)的分组分类算法由于它们广泛的实际使用而变得重要,尽管分层特里结构有缺点,诸如回溯和空节点的存在。接下来作者提出一种基于期望最大化聚类(Expectation

Maximization Clustering,HTEMC)的新的分组分类算法,既采用特里结构路径压缩来消除回溯,又解决了特里结构更新效率低的问题,大大提高了算法的性能。
[0004]在“可扩展分组分类(Scalable Packet Classification)”,Barboscu和Varghese(IEEE/ACM网络汇刊,VOL.13,NO.1,2005年2月)中,作者断言,随着过滤器数据库在尺寸上增长,以文献报道的分组分类在时间或空间上规模较差,而硬件解决方案(如TCAM)不扩展到大分类器。论文试图利用这种观察来产生称为聚合位向量(Aggregated Bit Vector,ABV)的可扩展分组分类方案,该方案采用位向量检索算法(BV)(其采用线性时间)并且将两个新想法——位图的递归聚合和过滤器重排——添加到ABV,该ABV对于许多数据库可能采用对数时间。
[0005]最后,例如,在“基于态CAM的高级分组分类算法(Algorithms for Advanced Packet Classification with Ternary CAMs)”马哈德万(Lakshminarayanan)等,美国计算机协会数据通信专业组(ACM SIGCOMM)2005中描述了提高分组分类中TCAM的效率的技术。

技术实现思路

[0006]这里描述的本专利技术的实施例提供一种网络设备,该网络设备包括一个或更多个端口、动作选择电路和分组处理器。所述一个或更多个端口用于通过网络交换分组,每个分组包括具有至少第一报头字段和第二报头字段的分组报头。所述动作选择电路用于:对于给定分组,基于所述给定分组的所述第一报头字段来确定第一检索关键字,以及基于所述给定分组的所述第二报头字段来确定第二检索关键字,将所述第一检索关键字与第一组比较值进行比较,以响应于所述第一检索关键字与所述第一组中的第一比较值之间的匹配来输出多元素向量,通过级联所述第二检索关键字和所述多元素向量来生成合成检索关键字,
将所述合成检索关键字与第二组比较值进行比较,并且响应于所述合成检索关键字与所述第二组中的第二比较值之间的匹配来输出用于应用于所述给定分组的动作指示符。分组处理器响应于所述分组报头来处理所述分组,包括响应于所述动作指示符将动作应用于所述给定分组,所述动作指示符由比较电路输出。
[0007]在一些实施例中,所述多元素向量包括独热向量,所述独热向量具有标记元素,所述标记元素在所述独热向量中的位置指示在所述第一组中被发现与所述第一检索关键字匹配的所述第一比较值的索引。在示例性实施例中,所述第二组中的所述第二比较值包括(i)与所述第二报头字段相对应的第二值,以及(ii)比较向量,每个比较向量包括:在(i)对应的第二值和(ii)对应的第一比较值的组合保证输出所述动作指示符的一个或更多个位置中的“不关心(do not care)”值;以及在一个或更多个其他位置中的非设置值。
[0008]在一些实施例中,所述多元素向量被定义为使得:设置所述多元素向量的具有与所述第二组中的与所述第二检索关键字匹配的第二比较值的索引相对应的索引的一个或更多个元素;以及未设置所述多元素向量的具有与所述第二组中的与所述第二检索关键字不匹配的第二比较值的索引相对应的索引的一个或更多个元素。在示例实施例中,所述第二组中的所述比较值包括:(i)第二检索关键字值,以及(ii)多元素向量比较值,其中在指示第一检索关键字值的索引的位置中的一个或更多个元素被设置,并且在其他位置中的元素被设置为“不关心”值。
[0009]在公开的实施例中,所述第一比较值和所述第二比较值中的至少一个包括“不关心”值。在一些实施例中,多元素向量包括二进制元素。在一个实施例中,所述动作选择电路包括三态内容寻址存储器(TCAM),用于存储所述第一组比较值和所述第二组比较值中的一个或两个。
[0010]根据本文描述的实施例,还提供了一种网络设备中的方法。该方法包括通过网络交换分组,每个分组包括具有至少第一报头字段和第二报头字段的分组报头。对于给定分组,基于所述给定分组的第一报头字段来确定第一检索关键字,以及基于所述给定分组的第二报头字段来确定第二检索关键字。将所述第一检索关键字与第一组比较值进行比较,并且响应于所述第一检索关键字与所述第一组中的第一比较值之间的匹配来输出与所述第一比较值相对应的多元素向量。通过级联所述第一检索关键字和所述多元素向量来生成合成检索关键字。将所述合成检索关键字与第二组比较值进行比较,并且响应于所述合成检索关键字与所述第二组中的第二比较值之间的匹配来输出用于应用于所述给定分组的动作指示符。响应于所述分组报头来处理所述分组,包括响应于所述动作指示符将动作应用于所述给定分组,所述动作指示符由比较电路输出。
[0011]根据本文描述的实施例,还提供了一种用于确定应用于网络设备中的分组的动作的方法。所述方法包括:对于正在所述网络设备中被处理的给定分组,基于所述给定分组的第一报头字段来确定第一检索关键字,以及基于所述给定分组的第二报头字段来确定第二检索关键字。将第一检索关键字与第一组比较值进行比较,并且响应于匹配而输出多元素向量。通过级联第一检索关键字和多元素向量来生成合成检索关键字。将合成检索关键字与第二组比较值进行比较,并且响应于匹配来输出用于应用于给定分组的动作指示符。
附图说明
[0012]通过以下结合附图对实施例的详细描述,将更充分地理解本专利技术,在附图中:
[0013]图1是示意性地示出了根据本专利技术的实施例的网络设备的框图;
[0014]图2是根据本专利技术的实施例的示例双报头字段规则集表;
[0015]图3是示意性地示出了根据本专利技术的实施例的具有成员资格向量规则(Rule

with

Membership

Vector)类型的动作选择电路(Action Select Cir本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网络设备,包括:一个或更多个端口,用于通过网络交换分组,每个分组包括具有至少第一报头字段和第二报头字段的分组报头;动作选择电路,用于:对于给定分组,基于所述给定分组的所述第一报头字段来确定第一检索关键字,以及基于所述给定分组的所述第二报头字段来确定第二检索关键字;将所述第一检索关键字与第一组比较值进行比较,并且响应于所述第一检索关键字与所述第一组中的第一比较值之间的匹配来输出多元素向量;通过级联所述第二检索关键字和所述多元素向量来生成合成检索关键字;以及将所述合成检索关键字与第二组比较值进行比较,并且响应于所述合成检索关键字与所述第二组中的第二比较值之间的匹配来输出用于应用于所述给定分组的动作指示符;以及分组处理器,用于响应于所述分组报头来处理所述分组,包括响应于所述动作指示符将动作应用于所述给定分组,所述动作指示符由比较电路输出。2.根据权利要求1所述的网络设备,其中所述多元素向量包括独热向量,所述独热向量具有标记元素,所述标记元素在所述独热向量中的位置指示在所述第一组中被发现与所述第一检索关键字匹配的所述第一比较值的索引。3.根据权利要求2所述的网络设备,其中所述第二组中的所述第二比较值包括(i)与所述第二报头字段相对应的第二值,以及(ii)比较向量,每个比较向量包括:在(i)对应的第二值和(ii)对应的第一比较值的组合保证输出所述动作指示符的一个或更多个位置中的“不关心”值;以及在一个或更多个其他位置中的非设置值。4.根据权利要求1所述的网络设备,其中所述多元素向量被定义为使得:设置所述多元素向量的具有与所述第二组中的与所述第二检索关键字匹配的第二比较值的索引相对应的索引的一个或更多个元素;以及未设置所述多元素向量的具有与所述第二组中的与所述第二检索关键字不匹配的第二比较值的索引相对应的索引的一个或更多个元素。5.根据权利要求4所述的网络设备,其中:所述第二组中的所述比较值包括:(i)第二检索关键字值,以及(ii)多元素向量比较值,其中在指示第一检索关键字值的索引的位置中的一个或更多个元素被设置,并且在其他位置中的元素被设置为“不关心”值。6.根据权利要求1所述的网络设备,其中所述第一比较值和所述第二比较值中的至少一个包括“不关心”值。7.根据权利要求1所述的网络设备,其中所述多元素向量包括二进制元素。8.根据权利要求1所述的网络设备,其中所述动作选择电路包括三态内容寻址存储器TCAM,用于存储所述第一组比较值和所述第二组比较值中的一个或两个。9.一种网络设备中的方法,所述方法包括:通过网络交换分组,每个分组包括具有至少第一报头字段和第二报头字段的分组报头;
对于给定分组,基于所述给定分组的第一报头字段来确定第一检索关键字,以及基于所述给定分组的第二报...

【专利技术属性】
技术研发人员:G
申请(专利权)人:迈络思科技有限公司
类型:发明
国别省市:

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

1