本发明专利技术公开了一种报文的规则匹配方法和装置,该方法包括:对接收的报文进行解析,以获取报文的五元组、L2层长度、L3层长度、L4层长度、L5层长度、ACK值和SEQ值;根据预定的规则对报文进行精确匹配和范围匹配。本发明专利技术通过在进行五元组规则匹配时添加了范围匹配的字段,大大提高了系统的性能。
【技术实现步骤摘要】
本专利技术涉及网络报文领域,具体来说,涉及一种报文的规则匹配方法和装置。
技术介绍
在网络安全领域,需要检测报文是否是异常流量或者需要对某些IP段的报文进行后续的异常检测。在异常检测中,报文各个层报文的长度、TCP确认字符(ACK)号和SEQ(Linux中一个预设的外部命令)号是判断报文是否异常的重要标识。现有的技术一般是先对报文进行五元组(包括源IP、目的IP、源端口、目的端口、传输层协议)匹配,然后对命中的报文进行异常检测,具体的异常检测方式是利用软件分析报文的长度、TCPACK、SEQ值进行范围匹配,检测是否有异常,从而判断报文是否是属于异常包。由此可见,现有技术中,五元组匹配和范围匹配分开进行,而范围匹配一般采用软件的方法实现,大大影响了体统处理流量的性能。针对相关技术中的上述问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中的上述问题,本专利技术提出一种报文的规则匹配方法和装置,能够提高系统的性能。本专利技术的技术方案是这样实现的:根据本专利技术的一个方面,提供了一种报文的规则匹配方法。该规则匹配方法包括:对接收的报文进行解析,以获取报文的五元组、L2层长度、L3层长度、L4层长度、L5层长度、ACK值和SEQ值;根据预定的规则对报文进行精确匹配和范围匹配。其中,预定的规则包括对应报文的五元组、L2层长度、L3层长度、L4层长度、L5层长度、ACK值和SEQ值的多个数据域,多个数据域包括:规则的下限值、规则的上限值、规则的掩码、比较的类型。其中,在根据预定的规则对报文进行精确匹配时,可根据预定的规则对报文的五元组中的源IP、目的IP和传输层协议作精确匹配。此外,在根据预定的规则对报文进行范围匹配时,可根据预定的规则对报文的五元组中的源端口、目的端口和L2层长度、L3层长度、L4层长度、L5层长度、ACK值和SEQ值作范围匹配。根据本专利技术的另一方面,提供了一种报文的规则匹配装置。该规则匹配装置包括:解析模块,用于对接收的报文进行解析,以获取报文的五元组、L2层长度、L3层长度、L4层长度、L5层长度、ACK值和SEQ值;匹配模块,用于根据预定的规则对报文进行精确匹配和范围匹配。其中,预定的规则包括对应报文的五元组、L2层长度、L3层长度、L4层长度、L5层长度、ACK值和SEQ值的多个数据域,多个数据域包括:规则的下限值、规则的上限值、规则的掩码、比较的类型。此外,匹配模块包括第一匹配子模块,用于根据预定的规则对报文的五元组中的源IP、目的IP和传输层协议作精确匹配。另外,匹配模块进一步包括第二匹配子模块,用于根据预定的规则对报文的五元组中的源端口、目的端口和L2层长度、L3层长度、L4层长度、L5层长度、ACK值和SEQ值作范围匹配。本专利技术通过在进行五元组规则匹配时添加了范围匹配的字段,大大提高了系统的性能。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术实施例的报文的规则匹配方法的流程图;图2是根据本专利技术实施例的报文的规则匹配方法的系统流程图;图3是根据本专利技术实施例的IPV4规则格式;图4是根据本专利技术实施例的报文的规则匹配装置的框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。根据本专利技术的实施例,提供了一种报文的规则匹配方法。如图1所示,根据本专利技术实施例的规则匹配方法包括:步骤S101,对接收的报文进行解析,以获取报文的五元组、L2层长度、L3层长度、L4层长度、L5层长度、ACK值和SEQ值;步骤S103,根据预定的规则对报文进行精确匹配和范围匹配。为了更好的理解本专利技术的上述技术方案,下面结合一具体实施例来对本发明的上述技术方案进行详细阐述。如图2所示,网络报文首先经过现场可编程门阵列(FPGA)进行报文解析,提取报文的五元组(源IP、目的IP、源端口、目的端口、传输层协议)、L2层长度(报文数据链路层头的长度)、L3层长度(报文网络层头的长度)、L4层长度(报文传输层头的长度)、L5层长度(报文应用层的长度)、TCPACK值、SEQ值,将各个字段按照一定规则进行排序组合,然后送入TCAM(一种硬件搜索芯片)进行规则匹配,TCAM中预先存放要匹配的规则,如果命中,则返回规则的命中信息。其中,在TCAM中添加规则时,需要按照一定格式进行,本专利技术中将TCAM分为两个区,分别存放IPV4规则、IPV6规则。其中,IPV4规则分区的位宽为288bit,IPV6规则分区位宽为576bit。下面主要介绍IPV4规则的实现,IPV6只是五元组不同,其他都类似,因此不再赘述。在TCAM中添加规则时,涉及到如图3所示的对应报文的五元组、L2层长度、L3层长度、L4层长度、L5层长度、ACK值和SEQ值的4个数据域:Data:规则的下限值;Data_higher:规则的上限值;Mask:规则的掩码;stripe_type(比较的类型):标识每个字段要比较,包含‘>=’、‘<’和‘=’操作。其中,对于Mask来说,赋值为ff表示作出掩码操作,不需要进行比较匹配,赋值为0表示需要进行比较匹配,而源IP的值设置为参数msip,参数msip的赋值可以为0,也可以为ff;目的IP的值设置为参数mdip,参数mdip的赋值可以为0,也可以为ff、传输层协议的值设置为参数mproto,参数mproto的赋值可以为0,也可以为ff,即源IP、目的IP、传输层协议、和usr_id为精确匹配,可以支持掩码操作,五元组中的源端口sport、目的端口dport和L2层长度l2_len、L3层长度l3_len、L4层长度l4_len、L5层长度l5_len、ACK值和SEQ值的字段为范围匹配,不支持掩码。此外,规则中还增加一个usr_id字段,占用一个字节,用于标识规则类型。因此,在一个实施例中,在根据预定的规则对报文进行精确匹配时,可根据预定的规则对报文的五元组中的源本文档来自技高网...
【技术保护点】
一种报文的规则匹配方法,其特征在于,包括:对接收的报文进行解析,以获取所述报文的五元组、L2层长度、L3层长度、L4层长度、L5层长度、确认字符ACK值和SEQ值;根据预定的规则对所述报文进行精确匹配和范围匹配。
【技术特征摘要】
1.一种报文的规则匹配方法,其特征在于,包括:
对接收的报文进行解析,以获取所述报文的五元组、L2层长度、L3
层长度、L4层长度、L5层长度、确认字符ACK值和SEQ值;
根据预定的规则对所述报文进行精确匹配和范围匹配。
2.根据权利要求1所述的规则匹配方法,其特征在于,所述预定的规
则包括对应所述报文的五元组、L2层长度、L3层长度、L4层长度、L5层
长度、ACK值和SEQ值的多个数据域,所述多个数据域包括:规则的下限
值、规则的上限值、规则的掩码、比较的类型。
3.根据权利要求1所述的规则匹配方法,其特征在于,根据预定的规
则对所述报文进行精确匹配包括:
根据预定的所述规则对所述报文的五元组中的源IP、目的IP和传输层
协议作精确匹配。
4.根据权利要求1所述的规则匹配方法,其特征在于,根据预定的规
则对所述报文进行范围匹配包括:
根据预定的所述规则对所述报文的五元组中的源端口、目的端口和所
述L2层长度、L3层长度、L4层长度、L5层长度、ACK值和SEQ值作范
围匹配。
5.一种报文...
【专利技术属性】
技术研发人员:王继五,李峰伟,窦晓光,耿雄飞,
申请(专利权)人:曙光信息产业北京有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。