网络交换机设备中的准确匹配哈希查找数据库的方法及装置制造方法及图纸

技术编号:10530950 阅读:172 留言:0更新日期:2014-10-15 11:58
本发明专利技术的各实施例涉及网络交换机设备中的准确匹配哈希查找数据库。在一种用于在网络设备中转发包的方法中,基于查找关键字生成多个哈希值。多个哈希值至少包括使用第一哈希函数生成的第一哈希值、使用第二哈希函数生成的第二哈希值和使用第三哈希函数生成的第三哈希值。第三哈希函数不同于第一哈希函数和第二哈希函数。使用第一哈希值和第二哈希值搜索查找表以确定用于查找关键字的偏移。然后,使用第三哈希值和为查找关键字确定的偏移搜索转发表以选择与查找关键字对应的转发条目。基于选择的转发条目向网络设备的一个或者多个端口转发包。

【技术实现步骤摘要】
【专利摘要】本专利技术的各实施例涉及网络交换机设备中的准确匹配哈希查找数据库。在一种用于在网络设备中转发包的方法中,基于查找关键字生成多个哈希值。多个哈希值至少包括使用第一哈希函数生成的第一哈希值、使用第二哈希函数生成的第二哈希值和使用第三哈希函数生成的第三哈希值。第三哈希函数不同于第一哈希函数和第二哈希函数。使用第一哈希值和第二哈希值搜索查找表以确定用于查找关键字的偏移。然后,使用第三哈希值和为查找关键字确定的偏移搜索转发表以选择与查找关键字对应的转发条目。基于选择的转发条目向网络设备的一个或者多个端口转发包。【专利说明】网络交换机设备中的准确匹配哈希查找数据库 相关申请的夺叉引用 本申请要求对通过完全引用将其公开内容明确地结合于此、于2013年4月4日提 交、名称为"Exact Match Hash Algorithm For Very Large Table in Switches"的第 61/808,323号美国临时申请的优先权。
本公开内容总体上涉及网络设备,并且更具体地涉及网络设备中的哈希查找表。
技术介绍
这里提供的背景描述是出于总体上呈现公开内容的背景的目的。当前具名的专利技术 人的工作在
技术介绍
这一节中描述的程度上以及该描述的可能在提交时未以其他方式符 合现有技术的方面既未被明示地也未被暗示地承认为针对本公开内容的现有技术。 网络设备(比如网络交换机、路由器、边缘设备等)经常运用如下查找表,这些查 找表存储与由网络设备处理的包关联的各种信息,并且网络设备在查找表中执行查找以用 于在网络设备处理包期间做出各种处理判决。例如,可以执行查找操作以用于包分类、转发 判决、服务质量分类、策略控制列表应用和一般由网络设备执行的其他处理操作。一般而 言,根据与包关联的或者为包生成的关键字执行对于包的查找。关键字例如被用来搜索表, 并且从由表中的由关键字标识的条目取回与包相关的信息(例如,用于包的转发信息)。 使用内容可寻址存储器(CAM)来实施一些查找表。基于CAM的表一般允许通常在 单个比较循环中比较向表提供的关键字与表的所有条目,并且返回指示哪些条目与关键字 匹配的结果。然而,尤其在运用大规模查找表时,基于CAM的表一般在面积和功率消耗方面 成本高。 查找表的备选实现方式利用基于哈希的方案,在该方案中,将哈希函数应用于关 键字以确定哈希表中的其中存储关键字和与关键字关联的信息(例如,转发信息)的位置。 尽管哈希表与CAM实现方式相比一般更小并且更高效,但是哈希表在哈希函数为向哈希函 数提供的两个或者更多不同关键字生成相同哈希值时表现固有冲突,并且作为结果,无法 向哈希表中插入向哈希表提供的一些关键字。因此,即使关键字可以与条目匹配,对于向哈 希表提供的一些关键字的查找操作仍然不会产生匹配。因此,难以在运用哈希表时实现准 确匹配查找性能。
技术实现思路
在一个实施例中,一种用于在网络设备中转发包的方法包括在哈希值生成器并且 基于与包对应的查找关键字生成多个哈希值,至少包括使用第一哈希函数生成第一哈希 值、使用第二哈希函数生成第二哈希值和使用第三哈希函数生成第三哈希值,第三哈希函 数不同于第一哈希函数和第二哈希函数。该方法也包括使用第一哈希值和第二哈希值搜索 查找表以确定用于查找关键字的偏移,以及使用第三哈希值和为查找关键字确定的偏移搜 索转发表以选择与查找关键字对应的转发条目。该方法还包括基于选择的转发条目向网络 设备的一个或者多个端口转发包。 在另一实施例中,一种用于在网络中转发包的网络设备包括多个端口和耦合到多 个端口的包处理器,包处理器被配置用于向多个端口中的一个或者多个适当端口传送经由 多个端口中的至少一些端口接收的包。包处理器包括:哈希值生成器,被配置用于基于与包 对应的查找关键字生成多个哈希值,多个哈希值至少包括使用第一哈希函数生成的第一哈 希值、使用第二哈希函数生成的第二哈希值和使用第三哈希函数生成的第三哈希值,第三 哈希函数不同于第一哈希函数和第二哈希函数。包处理器也包括耦合到查找表和转发表的 查找单元。查找单元被配置用于使用第一哈希值和第二哈希值搜索查找表以确定用于查找 关键字的偏移,以及使用第三哈希值和为查找关键字确定的偏移搜索转发表以选择与查找 关键字对应的转发条目。包处理器还包括被配置用于基于选择的转发条目向多个端口中的 一个或者多个端口转发包的转发引擎。 在又另一实施例中,一种用于在网络设备中填充转发数据库的方法包括在哈希值 生成器并且基于查找关键字生成与包对应的多个哈希值,至少包括使用第一哈希函数生成 第一哈希值、使用第二哈希函数生成第二哈希值和使用第三哈希函数生成第三哈希值,第 三哈希函数不同于第一哈希函数和第二哈希函数。该方法也包括用网络设备并且至少基于 第一哈希值和第二哈希值为查找关键字确定进入转发表的偏移。该方法还包括用网络设备 并且基于第三哈希值和偏移确定转发表中的用于插入查找关键字的位置。该方法还包括用 网络设备确定是否可以在确定的位置向转发表中插入查找关键字而未与在确定的位置先 前存储的关键字冲突。该方法还包括在确定可以向转发表中插入查找关键字时,在确定的 位置向转发表中插入查找关键字和与查找关键字关联的转发信息。 在再一实施例中,一种用于在网络设备中填充转发数据库的装置包括:哈希值生 成器,被配置用于基于查找关键字生成多个哈希值,至少包括使用第一哈希函数生成的第 一哈希值、使用第二哈希函数生成的第二哈希值和使用第三哈希函数生成的第三哈希值, 第三哈希函数不同于第一哈希函数和第二哈希函数。该装置也包括:更新单元,被配置用 于:至少基于第一哈希值和第二哈希值为查找关键字确定进入转发表的偏移,以及基于第 三哈希值和为查找关键字确定的偏移确定转发表中的用于插入查找关键字的位置。更新单 元也被配置用于确定是否可以在确定的位置向转发表中插入查找关键字而未与在确定的 位置先前存储的关键字冲突、并且在确定可以向转发表中插入查找关键字时,在确定的位 置向转发表中插入查找关键字和与查找关键字关联的转发信息。 【专利附图】【附图说明】 图1是根据本公开内容的一个实施例的能够使用多哈希函数方案高效解决基于 哈希的查找数据库中的冲突的示例切换设备的简化框图; 图2图不根据一个实施例的查找表的不例条目; 图3A-图3B是图示根据一个实施例的用于在数据库中对查找关键字定位并且从 数据库取回与查找关键字关联的信息的示例查找方案的流程图; 图4A-图4B是图示根据一个实施例的用于向数据库中插入查找关键字和与查找 关键字关联的信息的示例更新方案400的流程图; 图4C是图示根据一个实施例的与图4A-图4B的更新技术结合实施的冲突解决方 案的流程图; 图5A-图5B是图示根据一个示例实施例的应用于数据库表的条目重排技术的示 图; 图6是根据一个实施例的用于在网络设备中转发包的示例方法的流程图; 图7是根据一个实施例的用于在网络设备中填充转发数据库的示例方法的流程 图。 【具体实施方式】 图1是根据本公开内容的一个实施例的能够使用多哈希函数方案高效解决基于 哈希的查找数据库中的冲突本文档来自技高网
...

【技术保护点】
一种用于在网络设备中转发包的方法,所述方法包括:在哈希值生成器并且基于与包对应的查找关键字生成多个哈希值,至少包括使用第一哈希函数生成第一哈希值、使用第二哈希函数生成第二哈希值和使用第三哈希函数生成第三哈希值,所述第三哈希函数不同于所述第一哈希函数和所述第二哈希函数;使用所述第一哈希值和所述第二哈希值搜索查找表以确定用于所述查找关键字的偏移;以及使用所述第三哈希值和为所述查找关键字确定的所述偏移搜索转发表以选择与所述查找关键字对应的转发条目;以及基于选择的所述转发条目向所述网络设备的一个或者多个端口转发所述包。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:C·阿拉德G·利维
申请(专利权)人:马维尔以色列MISL有限公司
类型:发明
国别省市:以色列;IL

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

1