本发明专利技术公开了一种数据包过滤方法和装置,其中,该方法包括:接收相关联的多个数据包,其中,多个数据包中的每个数据包都携带有相同的多个关键字;对多个数据包中的第一个数据包的多个关键字中的部分或全部关键字进行匹配操作,得到匹配动作;根据多个关键字,将匹配动作配置给多个数据包中的除第一个数据包之外的其余数据包。通过本发明专利技术,通过对包括相同关键字的相关联的多个数据包中的第一个数据包进行匹配操作,将得到的匹配动作配置给其它的包括相同关键字的数据包,能够提高数据包匹配的速度,从而能够解决相关技术中存在的数据包过滤速度较慢的问题,进而能够节省系统开销、提高系统处理效率。
【技术实现步骤摘要】
本专利技术涉及通信领域,具体地,涉及一种数据包过滤方法和装置。
技术介绍
在数据网络应用中,数据包过滤是常见的操作,比如,在具有防火墙的设备中,需要对进入设备的数据包进行扫描,以使符合要求的数据包通过,并将不符合要求的数据包丢弃。 数据包过滤技术的核心是扫描(或称为匹配操作),即,将数据包的相关字段中包含的信息(或称为关键字)与预先制定的过滤规则相比较,该预定的过滤规则中描述了相关字段中包含的信息应该满足的要求,进行比较操作的目的是判断信息是否符合要求,然后根据比较的结果,执行相关的处理操作,例如,上文提到的使得符合要求的数据包通过,将不符合要求的数据包丢弃。 目前,数据包过滤技术面临的问题之一在于匹配速度慢。由于需要提取数据包中的关键字信息,然后进行比较操作,所以在大流量的数据采集和分析的应用场景中,数据包过滤技术存在如下两个问题一是提取匹配字段信息(或称为关键字段信息)的速度较慢,二是根据提取的信息与规则进行匹配的速度较慢。 对于问题一,由于数据包的关键字段信息的提取需要和预先设定的规则保持一致,也就是说,规则中需要比较哪些字段,则在数据包中提取相应字段的信息,不同的规则中需要比较的字段信息可能不同,所以每个数据包提取的信息的位置不固定,提取字段的数量也有所差异。这就导致了信息字段提取的速度较慢。 对于问题二,虽然可以采取诸如哈希散列等算法来提高匹配的速度,但是采用这种算法的前提是要快速地提取需要匹配的关键字信息,也就是说,改善问题一是改善问题二的前提,如果仅改善问题二,并不能完全解决数据包过滤速度慢的问题。 目前,上述两个问题都没有得到很好地解决。 此外,在相关技术中,对于基于同一 IP数据报文的多个IP分片数据包,由于在这多个IP分片数据包中,只有第一个IP分片数据包包括完整的五元组(包括源端/目的端地址、协议类型、源端/目的端端口号)关键字信息,因此,只能对第一个IP分片数据包进行过滤,无法对其它的不包括完整的五元组关键字的IP分片数据包进行过滤,这样,无法对基于同一 IP数据报文的多个IP分片数据包进行有效、正确的过滤处理。
技术实现思路
考虑到相关技术中存在数据包过滤速度较慢、无法对基于同一 IP数据报文的多个IP分片数据包进行有效、正确的过滤处理的问题而提出本专利技术,为此,本专利技术的主要目的在于提供一种改进的数据包过滤方案,以解决相关技术中的上述问题至少之一。 为达到上述目的,根据本专利技术的一个方面,提供了 一种数据包过滤方法。 根据本专利技术的数据包过滤方法包括接收相关联的多个数据包,其中,多个数据包中的每个数据包都携带有相同的多个关键字;对多个数据包中的第一个数据包的多个关键字中的部分或全部关键字进行匹配操作,得到匹配动作;根据多个关键字,将匹配动作配置给多个数据包中的除第一个数据包之外的其余数据包。 优选地,上述相关联的多个数据包包括以下之一 基于流的多个数据包、基于同一个IP数据报文的多个IP分片数据包。 优选地,在接收多个数据包之后,该方法还包括对于多个数据包中的每个数据包,分别提取其携带的多个关键字。 优选地,上述对多个数据包中的第一个数据包的多个关键字中的部分或全部关键字进行匹配的操作具体包括将提取的多个关键字中的部分或全部关键字与预先设置的匹配信息进行比较;根据比较结果确定匹配动作。 优选地,上述根据多个关键字,将匹配动作配置给多个数据包中其余所有的数据包的操作具体包括对第一个数据包的多个关键字进行校验,建立多个关键字与匹配动作之间的映射关系;对于其余数据包中的每一个数据包,分别对从其提取的多个关键字进行校验;对于其余数据包中通过校验的数据包,根据映射关系,将与多个关键字对应的匹配动作配置给该数据包。 优选地,该方法还包括对第一个数据包的多个关键字进行校验,得到标准校验值;对其余数据包中的每个数据包的多个关键字进行校验,得到对比校验值;对于其对比校验值与标准校验值一致的数据包,判断通过校验。 优选地,在将匹配动作配置给其余所有的数据包之后,该方法还包括解除映射关系。 根据本专利技术的另 一方面,提供了 一种数据包过滤装置。 根据本专利技术的数据包过滤装置包括接收模块,用于接收相关联的多个数据包,其中,多个数据包中的每个数据包都携带有相同的多个关键字;匹配模块,用于对接收模块接收到的多个数据包中的第一个数据包的多个关键字中的部分或全部关键字进行匹配操作;确定模块,用于根据匹配模块的匹配结果确定匹配动作;配置模块,用于将匹配动作配置给多个数据包中的除第一个数据包之外的其余数据包。 优选地,上述配置模块包括设置子模块,用于建立关键字与匹配动作之间的映射关系;校验子模块,用于对数据包中的多个关键字进行校验;配置子模块,用于对于通过检验子模块校验的数据包,根据设置子模块建立的映射关系,将与多个关键字对应的匹配动作配置给该数据包。 优选地,上述相关联的多个数据包包括以下之一 基于流的多个数据包、基于同一个IP数据报文的多个IP分片数据包。 通过本专利技术的上述技术方案,通过对包括相同关键字的相关联的多个数据包中的第一个数据包进行匹配操作,将得到的匹配动作配置给其它的包括相同关键字的数据包,能够提高数据包匹配的速度,从而能够解决相关技术中存在的数据包过滤速度较慢的问题,进而能够节省系统开销、提高系统处理效率。并且,通过本专利技术的技术方案,还能够对包含多个IP分片数据的数据包进行过滤处理。 本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在所写的说明5书、权利要求书、以及附图中所特别指出的结构来实现和获得。附图说明 此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中 图1是根据本专利技术方法实施例的数据包过滤方法的处理流程 图2是根据本专利技术方法实施例的数据包过滤方法的具体实施过程的示意 图3是根据本专利技术方法实施例的数据包过滤方法的另一具体实施过程的示意 图4是根据本专利技术方法实施例的数据包过滤方法的具体实施过程的流程 图5是根据本专利技术装置实施例的数据包过滤装置的结构框 图6是根据本专利技术装置实施例的数据包过滤装置的优选结构框图。具体实施方式 功能概述 考虑到相关技术中存在的数据包过滤速度慢的问题,基于数据流的特性,提出了一种改进的数据包过滤方案,在本专利技术实施例中,利用了相关联的多个数据包(例如,基于流的多个数据包或者基于同一个IP数据报文的多个IP分片数据包)中包括相同关键字信息的特点,对相关联的多个数据包中的第一个数据包进行匹配、得到匹配动作,并将得到的匹配动作配置给其余的数据包,从而能够避免对所有数据包都进行关键字信息的匹配,能够提高数据包过滤的处理速度和处理效率。 需要说明的是,如果不冲突,本专利技术实施例以及实施例中的各个特征可以相互结合,均在本专利技术的保护范围之内。 另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。 方法实施例 根据本专利技术的实施例,首先提出了一种数据包过滤方法,图1本文档来自技高网...
【技术保护点】
一种数据包过滤方法,其特征在于,包括:接收相关联的多个数据包,其中,所述多个数据包中的每个数据包都携带有相同的多个关键字;对所述多个数据包中的第一个数据包的所述多个关键字中的部分或全部关键字进行匹配操作,得到匹配动作;根据所述多个关键字,将所述匹配动作配置给所述多个数据包中的除所述第一个数据包之外的其余数据包。
【技术特征摘要】
【专利技术属性】
技术研发人员:蔺妍,汪承研,文海军,孙卓海,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:94[中国|深圳]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。