报文的匹配方法和装置的制造方法

文档序号:8265799阅读:239来源:国知局
报文的匹配方法和装置的制造方法
【技术领域】
[0001] 本发明涉及计算机网络安全领域,具体来说,涉及一种报文的匹配方法和装置。
【背景技术】
[0002] 在网络安全领域,防火墙等对网络报文进行分析过滤的安全设备,需要对网络流 量中的每个报文进行实时报文匹配。在高速网络的应用环境中,对匹配速度要求很高。报 文匹配就是将报文中提取的五元组信息和规则进行比较,判断是否命中。五元组通常是由 源IP地址,目的IP地址,源端口,目的端口,和传输层协议号五个元素组成的集合。报文匹 配的效率直接影响整个系统的性能。
[0003] 最常见的五元组报文匹配方法是将报文中提取的五元组信息依次和规则中的五 元组信息进行比较,如果全部相同则认为命中,否则认为不命中,但是现有的这种报文匹配 方法存在多个分支,即,在进行报文匹配时需要将上述五个元素分别与对应的规则分别进 行比较判断,而这显然会打断CPU的流水线,严重影响系统的执行效率。

【发明内容】

[0004] 针对相关技术中的上述问题,本发明提出一种报文的匹配方法和装置,能够在不 打断CPU的流水线的前提下实现报文的规则匹配,从而提高系统的执行效率。
[0005] 本发明的技术方案是这样实现的:
[0006] 根据本发明的一个方面,提供了一种报文的匹配方法。
[0007] 该匹配方法包括:
[0008] 根据预定的分段方式对报文和报文对应的规则分别进行分段,生成多个一一对应 的报文段和规则段;
[0009] 通过对多个一一对应的报文段和规则段分别进行第一逻辑运算,得到多个运算结 果;
[0010] 通过对多个运算结果进行第二逻辑运算,得到匹配结果。
[0011] 其中,在根据预定的分段方式对报文和报文对应的规则分别进行分段时,可根据 处理器的位宽对报文和报文对应的规则分别进行分段,使生成的报文段和规则段的数据长 度与处理器的位宽相同。
[0012] 此外,该匹配方法进一步包括:
[0013] 确定报文的五元组信息和对应五元组的规则;
[0014] 相应的,在根据预定的分段方式对报文和报文对应的规则分别进行分段时,可根 据预定的分段方式对五元组信息和五元组的规则分别进行分段。
[0015] 此外,该匹配方法进一步包括:
[0016] 在报文中需要匹配的信息为五元组信息中的部分信息的情况下,确定报文的五元 组信息中需要匹配的目标信息;
[0017] 在预先配置的对应不同目标信息的多个规则中查找对应目标信息的规则作为报 文的规则。
[0018] 另外,该匹配方法进一步包括:
[0019] 在确定匹配结果为0的情况下,确定报文对规则不匹配;
[0020] 在确定匹配结果为非0的情况下,确定报文与规则相匹配。
[0021] 根据本发明的另一方面,还提供了一种报文的匹配装置。
[0022] 该匹配装置包括:
[0023] 分段模块,用于根据预定的分段方式对报文和报文对应的规则分别进行分段,生 成多个一一对应的报文段和规则段;
[0024] 第一运算模块,用于通过对多个一一对应的报文段和规则段分别进行第一逻辑运 算,得到多个运算结果;
[0025] 第二运算模块,用于通过对多个运算结果进行第二逻辑运算,得到匹配结果。
[0026] 其中,分段模块可包括分段子模块,用于根据处理器的位宽对报文和报文对应的 规则分别进行分段,使生成的报文段和规则段的数据长度与处理器的位宽相同。
[0027] 此外,该分配装置进一步包括:
[0028] 第一确定模块,用于确定报文的五元组信息和对应五元组的规则;
[0029] 该分段模块进一步用于根据预定的分段方式对五元组信息和五元组的规则分别 进行分段。
[0030] 此外,该分配装置进一步包括:
[0031] 第二确定模块,用于在报文中需要匹配的信息为五元组信息中的部分信息的情况 下,确定报文的五元组信息中需要匹配的目标信息;
[0032] 查找模块,用于在预先配置的对应不同目标信息的多个规则中查找对应目标信息 的规则作为报文的规则。
[0033] 此外,该匹配装置进一步包括:
[0034] 第三确定模块,用于在确定匹配结果为0的情况下,确定报文对规则不匹配;
[0035] 第四确定模块,用于在确定匹配结果为非0的情况下,确定报文与规则相匹配。
[0036] 本发明通过对报文和相应的规则采用相同的方式进行分段处理,并通过对分段后 的报文和规则通过使用逻辑运算来实现报文与规则的匹配,保证了规则匹配流程不会被各 种判断分支打断,充分的利用CPU流水线,从而提高了报文匹配效率,增加系统吞吐量。
【附图说明】
[0037] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获 得其他的附图。
[0038] 图1是根据本发明实施例的报文的匹配方法的流程图;
[0039] 图2是根据本发明实施例的报文的完全五元组的匹配方法的流程图;
[0040] 图3是根据本发明实施例的报文的灵活五元组的匹配方法的流程图;
[0041] 图4是根据本发明实施例的报文的匹配装置的框图。
【具体实施方式】
[0042] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的 范围。
[0043] 根据本发明的实施例,提供了一种报文的匹配方法。
[0044] 如图1所示,根据本发明实施例的报文的匹配方法包括:
[0045] 步骤S101,根据预定的分段方式对报文和报文对应的规则分别进行分段,生成多 个一一对应的报文段和规则段;
[0046] 步骤S103,通过对多个一一对应的报文段和规则段分别进行第一逻辑运算,得到 多个运算结果;
[0047] 步骤S105,通过对多个运算结果进行第二逻辑运算,得到匹配结果。
[0048] 为了更好的理解本发明的上述技术方案,下面结合64位处理器来对上述技术方 案进行详细阐述。
[0049] 在本实施例中,在对报文进行匹配时,对报文关心的因素为IPv4(Internet Protocol Version 4,即网际协议版本4)报文的五元组信息,即源IP地址、目的IP地址、 源端口、目的端口、传输层协议号,基于此,在本实施例中定义了一个五元组的数据结构:
【主权项】
1. 一种报文的匹配方法,其特征在于,包括: 根据预定的分段方式对所述报文和所述报文对应的规则分别进行分段,生成多个一一 对应的报文段和规则段; 通过对所述多个一一对应的报文段和规则段分别进行第一逻辑运算,得到多个运算结 果; 通过对所述多个运算结果进行第二逻辑运算,得到匹配结果。
2. 根据权利要求1所述的匹配方法,其特征在于,根据预定的分段方式对所述报文和 所述报文对应的规则分别进行分段包括: 根据处理器的位宽对所述报文和所述报文对应的规则分别进行分段,使生成的所述报 文段和所述规则段的数据长度与所述处理器的位宽相同。
3. 根据权利要求1所述的匹配方法,其特征在于,进一步包括: 确定所述报文的五元组信息和对应所述五元组的规则; 根据预定的分段方式对所述报文和所述报文对应的规则分别进行分段包括: 根据所述预定的分段方式对所述五元组信息和所述五元组的规则分别进行分段。
4. 根据权利要求3所述的匹配方法,其特征在于,进一步包括: 在所述报文中需要匹配的信息为所述五元组信息中的部分信息的情况下,确定所述报 文的五元组信息中需要匹配的目标信息; 在预先配置的对应不同目标信息的多个规则中查找对应所述目标信息的规则作为所 述报文的规则。
5. 根据权利要求1所述的匹配方法,其特征在于,进一步包括: 在确定所述匹配结果为〇的情况下,确定所述报文对所述规则不匹配; 在确定所述匹配结果为非〇的情况下,确定所述报文与所述规则相匹配。
6. -种报文的匹配装置,其特征在于,包括: 分段模块,用于根据预定的分段方式对所述报文和所述报文对应的规则分别进行分 段,生成多个一一对应的报文段和规则段; 第一运算模块,用于通过对所述多个一一对应的报文段和规则段分别进行第一逻辑运 算,得到多个运算结果; 第二运算模块,用于通过对所述多个运算结果进行第二逻辑运算,得到匹配结果。
7. 根据权利要求6所述的匹配装置,其特征在于,所述分段模块包括分段子模块,用于 根据处理器的位宽对所述报文和所述报文对应的规则分别进行分段,使生成的所述报文段 和所述规则段的数据长度与所述处理器的位宽相同。
8. 根据权利要求6所述的匹配装置,其特征在于,进一步包括: 第一确定模块,用于确定所述报文的五元组信息和对应所述五元组的规则; 所述分段模块进一步用于根据所述预定的分段方式对所述五元组信息和所述五元组 的规则分别进行分段。
9. 根据权利要求8所述的匹配装置,其特征在于,进一步包括: 第二确定模块,用于在所述报文中需要匹配的信息为所述五元组信息中的部分信息的 情况下,确定所述报文的五元组信息中需要匹配的目标信息; 查找模块,用于在预先配置的对应不同目标信息的多个规则中查找对应所述目标信息 的规则作为所述报文的规则。
10.根据权利要求6所述的匹配装置,其特征在于,进一步包括: 第三确定模块,用于在确定所述匹配结果为〇的情况下,确定所述报文对所述规则不 匹配; 第四确定模块,用于在确定所述匹配结果为非〇的情况下,确定所述报文与所述规则 相匹配。
【专利摘要】本发明公开了一种报文的匹配方法,该匹配方法包括:根据预定的分段方式对报文和报文对应的规则分别进行分段,生成多个一一对应的报文段和规则段;通过对多个一一对应的报文段和规则段分别进行第一逻辑运算,得到多个运算结果;通过对多个运算结果进行第二逻辑运算,得到匹配结果。本发明通过对报文和相应的规则采用相同的方式进行分段处理,并通过对分段后的报文和规则通过使用逻辑运算来实现报文与规则的匹配,保证了规则匹配流程不会被各种判断分支打断,充分的利用CPU流水线,从而提高了报文匹配效率,增加系统吞吐量。
【IPC分类】H04L29-06
【公开号】CN104580202
【申请号】CN201410855667
【发明人】陈玉龙
【申请人】曙光信息产业(北京)有限公司
【公开日】2015年4月29日
【申请日】2014年12月31日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1