公开了一种执行用于网络分组检查的串匹配的方法和装置。在一些实施例中存在串匹配片电路的集合,该集合中的每个片电路配置为与其他片电路并行执行串匹配步骤。每个片电路可包括存储来自输入数据流的某一数目字节的数据的输入窗口。如果需要可填充数据的输入窗口,以及然后将其乘以多项式模不可约伽罗瓦域多项式以生成哈希索引。可访问对应于哈希索引的存储器的存储位置来生成H个片命中信号的集合中的片命中信号。可向与或逻辑阵列提供片命中信号,其中H个片命中信号的集合被逻辑组合成匹配结果。
【技术实现步骤摘要】
【国外来华专利技术】
本公开一般涉及网络处理领域。特别地,本公开涉及一种新型过滤器架构,用以在用于例如入侵检测/预防和病毒检测的网络应用的分组检查中加快串匹配。
技术介绍
在现代网络中,例如入侵检测/预防和病毒检测的应用对于保护网络和/或网络用户免受攻击是重要的。在这种应用中,通常通过找到与已知数据模式集合的匹配来检查网络分组以识别问题分组。将输入数据流的每一字节与大型(如高达几十万)模式数据库匹配是非常计算密集的。程序已使用了例如有限状态机和过滤器的技术来找到与已知集的匹配。由Burton H. Bloom在1970年设计的Bloom过滤器是一种用来确定元素是否是集合的成员的概率结构。对元素执行哈希运算。使用多个不同的哈希函数来生成到比特阵列中的多个不同哈希索引。为了将元素增加或插入到集合中,对于该元素,使用这些哈希函数来索引阵列中的多个比特位置,并且然后将这些比特位置设置为1。为了对于任意元素查询过滤器,使用哈希函数来对于该元素索引阵列中的多个比特位置,并且然后核查这些比特位置来看它们是否全部被设置为1。如果它们没有全部被设置为1,讨论的该任意元素不是集合的成员。每当过滤器对于并不真正是集合的成员的元素生成正结果时,该结果被称为误测。Bloom过滤器不会生成误测。误测的概率“小”是任何特定过滤器设计的目标。对Bloom 过滤器来说,在使用k个不同哈希函数将η个元素插入到由m个比特的阵列表示的集合中之后,误测的概率是权利要求1.一种执行用于网络分组检查的串匹配的方法,该方法包括配置H个片电路的集合,H个片电路的集合中的每个第i片电路配置为执行以下步骤存储来自输入数据流的Wi个字节的数据的第i输入窗口 ;如果需要,填充Wi个字节的数据,并且将Wi个字节的数据乘以多项式模不可约伽罗瓦域多项式以生成第i哈希索引;和访问对应于第i哈希索引的存储器的存储位置来生成H个片命中信号的集合中的第i 片命中信号;以及将第i片命中信号作为H个片命中信号的集合中的一个提供给与或逻辑阵列。2.权利要求1的方法,其中配置H个片电路的集合中的每个第i片电路以执行将第i 片命中信号提供给与或逻辑阵列的步骤包括将第i片命中信号存储在与第i哈希索引对应的存储器的存储位置中。3.权利要求2的方法,其中来自输入数据流的Wi个字节的数据的每个第i输入窗口包括完整数据模式。4.权利要求2的方法,其中将第i片命中信号提供给与或逻辑阵列包括从与第i哈希索引对应的存储器的存储位置将第i片命中信号作为H个片命中信号的集合中的第i片命中信号读出到与或逻辑阵列。5.权利要求2的方法,其中将第i片命中信号提供给与或逻辑阵列包括将来自与第i哈希索引对应的存储器的存储位置的第i片命中信号,作为H个片命中信号的集合中的第i片命中信号复用到与或逻辑阵列。6.权利要求1的方法,进一步包括配置与或逻辑阵列来接收H个片命中信号的集合,并将H个片命中信号的集合组合为匹配结果。7.权利要求6的方法,其中与或逻辑阵列配置为接收H个片命中信号的集合并对H个片命中信号的集合进行逻辑与操作以形成匹配结果。8.权利要求6的方法,其中与或逻辑阵列配置为接收H个片命中信号的集合并对H个片命中信号的集合进行逻辑或操作以形成匹配结果。9.权利要求6的方法,其中与或逻辑阵列配置为接收H个片命中信号的集合并对H个片命中信号的集合的子集进行逻辑与操作以形成临时结果、并且对临时结果进行逻辑或操作以形成匹配结果。10.一种装置,包括与或逻辑阵列,可配置为接收H个片命中信号的集合并将H个片命中信号的集合组合为匹配结果;和H个片电路的集合,该集合中的每个第i片电路包括输入窗口,可配置为存储来自输入数据流的化个字节的数据;Ghash单元,其与输入窗口耦合,并且可配置为接收Wi个字节的数据,如果需要填充Wi 个字节的数据,以及将Wi个字节的数据乘以多项式模不可约伽罗瓦域多项式以生成索引; 和存储器,其与(^hash单元耦合,并且可配置为访问响应于所述索引的存储位置以生成片命中信号,并将该片命中信号作为H个片命中信号的集合中的一个提供给所述与或逻辑阵列。11.权利要求10的装置,其中将片命中信号提供给与或逻辑阵列包括将片命中信号从与第i片电路的索引对应的存储器的存储位置作为H个片命中信号的集合中的第i片命中信号读出到与或逻辑阵列。12.权利要求10的装置,其中将片命中信号提供给与或逻辑阵列包括将来自与第i片电路的索引对应的存储器的存储位置的片命中信号作为H个片命中信号的集合中的第i片命中信号复用到与或逻辑阵列。13.权利要求10的装置,其中与或逻辑阵列可配置为接收H个片命中信号的集合并对 H个片命中信号的集合进行逻辑与操作以形成匹配结果。14.权利要求10的装置,其中与或逻辑阵列可配置为接收H个片命中信号的集合并对 H个片命中信号的集合进行逻辑或操作以形成匹配结果。15.权利要求10的装置,其中与或逻辑阵列可配置为接收H个片命中信号的集合并对 H个片命中信号的集合的子集进行逻辑与操作以形成临时结果、并且对临时结果进行逻辑或操作以形成匹配结果。16.权利要求10的装置,其中在H个片电路的集合中的每个第i片电路中使用相同的不可约伽罗瓦域多项式。17.权利要求16的装置,其中在H个片电路的集合中的每个第i片电路中将Wi个字节的数据各乘以不同的独特多项式。18.一种执行用于网络分组检查的串匹配的分组处理系统,该系统包括系统处理器;与或逻辑阵列,可配置为接收H个片命中信号的集合并将H个片命中信号的集合组合成匹配结果;和H个片电路的集合,该集合的每个第i片电路包括输入窗口,可配置为存储来自输入数据流的Wi个字节的数据;Ghash单元,其与输入窗口耦合,并且可配置为接收Wi个字节的数据,如果需要填充Wi 个字节的数据,以及将Wi个字节的数据乘以多项式模不可约伽罗瓦域多项式以生成索引; 和存储器,其与(^hash单元耦合,并且可配置为访问响应于所述索引的存储位置以生成片命中信号,并将该片命中信号作为H个片命中信号的集合中的一个提供给所述与或逻辑阵列;以及存储可执行指令的机器可读媒介,使得当系统处理器执行所述可执行指令时,使得系统处理器将指针设置到输入数据流的第一字符以为每个第i片电路的输入窗口建立起始点,和递增指针,直到匹配结果为正或直到到达输入数据流中的文件结束处。19.权利要求18的系统,其中在H个片电路的集合中的每个第i片电路中使用相同的不可约伽罗瓦域多项式。20.权利要求19的系统,其中在H个片电路的集合中的每个第i片电路中将Wi个字节的数据各乘以不同的独特多项式。21.权利要求18的系统,其中与或逻辑阵列可配置为接收H个片命中信号的集合并对H个片命中信号的集合进行逻辑与操作以形成匹配结果。22.权利要求18的系统,其中与或逻辑阵列可配置为接收H个片命中信号的集合并对 H个片命中信号的集合进行逻辑或操作以形成匹配结果。23.权利要求18的系统,其中与或逻辑阵列可配置为接收H个片命中信号的集合并对 H个片命中信号的集合的子集进行逻辑与操作以形成临时结果、并且对临时结果进行逻辑或操作以形成匹配结果。24.权利要求18的系统,其中将片命中信号提供给与或逻辑阵列包括将片命中信号从与第i片电路的索引对应的存储器的存储位置作为H个本文档来自技高网...
【技术保护点】
1.一种执行用于网络分组检查的串匹配的方法,该方法包括:配置H个片电路的集合,H个片电路的集合中的每个第i片电路配置为执行以下步骤:存储来自输入数据流的Wi个字节的数据的第i输入窗口;如果需要,填充Wi个字节的数据,并且将Wi个字节的数据乘以多项式模不可约伽罗瓦域多项式以生成第i哈希索引;和访问对应于第i哈希索引的存储器的存储位置来生成H个片命中信号的集合中的第i片命中信号;以及将第i片命中信号作为H个片命中信号的集合中的一个提供给与或逻辑阵列。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:V·戈帕尔,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。