一种数据查找匹配的方法和装置的制造方法

文档序号:9380174阅读:430来源:国知局
一种数据查找匹配的方法和装置的制造方法
【技术领域】
[0001] 本发明涉及通信技术领域,尤其涉及一种数据查找匹配的方法和装置。
【背景技术】
[0002] 随着网络技术的不断发展,各种新的网络应用不断涌现,如对网络服务质量敏感 的流媒体应用。网络提供商越来越需要对他们提供的网络传输服务资源按照客户应用的要 求(比如对传输质量的要求)进行更合理的管理和分配。同时网络提供商也希望能够根据 某些经济原则(如付费原则)或者安全规则(如防止黑客)对网络的流量实现监控和管理。 这些都需要网络设备提供可以对以太网包进行预测解析的能力。
[0003] 在对以太网包进行预测解析的过程中,网络处理器首先从以太网包的包头中提取 所述包头的类型的信息,然后将所述包头的类型的信息与预设的匹配条目进行匹配查找 后,匹配成功后获得所述包头对应的报文的处理动作。为了满足高带宽的需求,采用三态内 容寻址寄存器(Ternary Content Address Memory, TCAM)用于解析所述包头的类型是一种 趋势。其中,三态内容寻址寄存器(Ternary Content Address Memory, TCAM)是一种基于 内容查询的存储器,其具有查询速度快和查询时间固定的优点。
[0004] 具体的,TCAM的每个存储单元中存储有匹配条目。当1个以太网包到来时,网络 处理器将从收到的以太网包的头部提取出一个查找匹配的关键值(Search Key),同时将这 个匹配的关键值传送给TCAM,TCAM将该关键值与存储的所有匹配条目并行进行查找匹配 处理。
[0005] 现有技术中提出了以下两种采用TCAM进行查找匹配的方式:
[0006] 一、采用TCAM+SRAM查找匹配的方案,其中TCAM和SRAM都存储有匹配条目。网络 处理器将提取的关键值传送到TCAM或者所述SRAM中进行查找匹配。每个匹配条目对应的 动作指令存储在其它的存储器中。若匹配成功,可在所述其它存储器中获取所述关键值对 应的报文的动作指令,进而根据所述动作指令对所述报文进行处理。
[0007] 二、采用TCAM查找匹配的方案,其中TCAM中存储有所有的匹配条目。其中每个匹 配条目对应的动作指令存储在其它存储器中。
[0008] 然而,采用技术方案一,由于SRAM在查找过程中,采用哈希查找的方式,这使得包 头匹配查找的时延较大。采用技术方案二,由于TCAM在每一次查找匹配过程中,需要与所 有的匹配条目并行的进行匹配,这使得TCAM的功耗较大。

【发明内容】

[0009] 有鉴于此,本发明的实施例提供一种数据查找匹配的方法和装置,能够降低数据 查找的时延,且能够降低TCAM的使用功耗。
[0010] 为达到上述目的,本发明的实施例采用如下技术方案:
[0011] 第一方面,本发明实施例提供了一种数据查找匹配的方法,所述方法包括:
[0012] 获取数据的匹配类型字段;
[0013] 根据所述数据的匹配类型字段,通过第一存储器查找匹配所述匹配类型字段对应 的匹配结果,所述第一存储器存储有第一匹配规则集,所述第一匹配规则集包括至少一个 匹配规则,所述匹配规则包括匹配类型字段与匹配结果的对应关系,所述第一存储器为三 态内容寻址存储器TCAM;
[0014] 若所述TCAM匹配不成功,通过第二存储器查找匹配所述匹配类型字段对应的匹 配结果,所述第二存储器存储有第二匹配规则集,所述第二匹配规则集包括至少一个匹配 规则;
[0015] 若匹配成功,将所述匹配类型字段及所述匹配类型字段对应的匹配结果存储至所 述TCAM中;
[0016] 通过所述TCAM获取匹配结果。
[0017] 结合第一方面,在第一种可能的实施方式中,所述第二存储器为静态随机存取存 储器SRAM或其它类型的存储器。
[0018] 结合第一方面或第一种可能的实施方式,在第二种可能的实施方式中,若所述 TCAM匹配不成功,在通过第二存储器查找匹配所述匹配类型字段对应的匹配结果之前,该 方法还包括:
[0019] 通过第三存储器查找匹配所述匹配类型字段对应的匹配结果;
[0020] 通过第二存储器查找匹配所述匹配类型字段对应的匹配结果具体包括:
[0021] 若所述第三存储器查找匹配不成功,通过第二存储器查找匹配所述匹配类型字段 对应的匹配结果。
[0022] 结合第一方面或第一种可能的实施方式至第二种可能的实施方式,在第三种可能 的实施方式中,该方法还包括:
[0023] 在所述第二存储器的第二规则集中增加新的匹配规则;
[0024] 和 / 或
[0025] 在所述第二存储器的第二规则集中删除已存储的匹配规则。
[0026] 结合第一方面或第一种可能的实施方式至第三种可能的实施方式,在第四种可能 的实施方式中,该方法还包括:
[0027] 若所述第一匹配规则集中存在第一匹配规则,则将所述第一匹配规则存储在所述 第二匹配规则集中,其中所述第一匹配规则为被匹配成功的次数小于预设阈值的匹配规 则。
[0028] 结合第一方面或第一种可能的实施方式至第四种可能的实施方式,在第五种可能 的实施方式中,若所述数据的匹配类型字段为报文的协议类型字段,则所述匹配规则包括 协议类型字段与所述协议类型字段对应的报文的处理动作索引。
[0029] 根据第五种可能的实施方式,在第六种可能的实施方式中,若所述第一匹配规则 集和/或第二匹配规则集中包括的协议类型字段对应的报文的长度有N种,则所述匹配规 则包括协议类型字段与所述协议类型字段对应的报文的长度字段类型和报文的处理动作 索引。
[0030] 第二方面,本发明实施例提供了一种数据查找匹配的装置,该装置包括:第一获取 单元、第一查找单元、第二查找单元、存储单元和第二获取单元;
[0031] 所述第一获取单元,用于获取数据的匹配类型字段;
[0032] 所述第一查找单元,用于根据所述数据的匹配类型字段,通过第一存储器查找匹 配所述匹配类型字段对应的匹配结果,所述第一存储器存储有第一匹配规则集,所述第一 匹配规则集包括至少一个匹配规则,所述匹配规则包括匹配类型字段与匹配结果的对应关 系,所述第一存储器为三态内容寻址存储器TCAM ;
[0033] 所述第二查找单元,用于若所述TCAM匹配不成功,通过第二存储器查找匹配所述 匹配类型字段对应的匹配结果,所述第二存储器存储有第二匹配规则集,所述第二匹配规 则集包括至少一个匹配规则;
[0034] 所述控制单元,用于将匹配成功的所述匹配类型字段及所述匹配类型字段对应的 匹配结果存储至所述TCAM中;
[0035] 所述第二获取单元,用于通过所述TCAM获取所述匹配结果。
[0036] 结合第二方面,在第一种可能的实施方式中,所述第二存储器为静态随机存取存 储器SRAM或其它类型的存储器。
[0037] 结合第二方面或第一种可能的实施方式,在第二种可能的实施方式中,若所述 TCAM匹配不成功,在通过第二存储器查找匹配所述匹配类型字段对应的匹配结果之前,该 装置还包括:
[0038] 通过第三存储器查找匹配所述匹配类型字段对应的匹配结果;
[0039] 通过第二存储器查找匹配所述匹配类型字段对应的匹配结果具体包括:
[0040] 若所述第三存储器查找匹配不成功,通过第二存储器查找匹配所述匹配类型字段 对应的匹配结果。
[0041] 结合第二方面或第一种可能的实施方式至第二种可能的实施方式,在第三种可能 的实施方式中,该装置还包括:
[0042] 在所述第二存储器的第二规则集中增加新的匹配规则;
[0043] 和 / 或
[0044] 在所述第二存储器的第二规则集中删除已存储的匹配规则。
[0045] 结合第二方面或第一种可能的实施方式至第三种可能的实施方式,在第四种可能 的实施方式中,该装置还包括:
[0046] 若所述第一匹配规则集中存在第一匹配规则,则将所述第一匹配规则存储在所述 第二匹配规则集中,其中所述第一匹配规则为被匹配成功的次数小于预设阈值的匹配规 则。
[0047] 结合第二方面或第一种可能的实施方式至第四种可能的实施方式,在第五种可能 的实施方式中,若所述数据的匹配类型字段为报文的协议类型字段,则所述匹配规则包括 协议类型字段与所述协议类型字段对应的报文的处理动作索引。
[0048] 根据第五种可能的实施方式,在第六种可能的实施方式中,若所述第一匹配规则 集和/或第二匹配规则集中包括的协议类型字段对应的报文的长度有N种,则所述匹配规 则包括协议类型字段与所述协议类型字段对应的报文的长度字段类型和报文的处理动作 索引。
[0049] 本发明实施例提供了一种数据查找匹配的方法和装置,所述方法包括:获取所述 数据的匹配类型字段;根据所述数据的匹配类型字段,通过第一存储器查找匹配所述匹配 类型字段对应的匹配结果,所述第一存储器存储有第一匹配规则集,所述第一匹配规则集 包括至少一个匹配规则,所述匹配规则包括匹配类型字段与匹配结果的对应关系,所述第 一存储器为三态内容寻址存储器TCAM ;若所述TCAM匹配不成功,通过第二存储器查找匹配 所述匹配类型字段对应的匹配结果,所述第二存储器存储有第二匹配规则集,所述第二匹 配规则集包括至少一个匹配规则;若匹配成功,将所述匹配类型字段及所述匹配类型字段 对应的匹配结果存储至所述TCAM中;通过所述TCAM获取匹配结果。基于上述技术方案,由 于对存储的匹配规则集进行区分存储,将匹配频率高的匹配规则集存储在第一存储器TCAM 中,优先通过第一存储器进行查找匹配操作,即使在第二存储器中匹配成功,也将在所述第 二存储器中匹配成功的匹配条目存储到所述第一存储器TCAM
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1