一种数据包快速匹配分类方法技术

技术编号:12357947 阅读:77 留言:0更新日期:2015-11-20 13:40
本发明专利技术公开了一种数据包快速匹配分类方法,首先将已有的规则库按照设置的分类规则进行分类,同一类的规则进行优先级比较,重复的规则按照后来先到原则,删除以前的规则;然后,在同一类规则中采用顺序匹配和优先级集合的方式进行规则匹配;最后,根据匹配的规则,执行相应的命令。通过采用本发明专利技术的方法,可以利用现有的匹配机制和算法,加快数据包的匹配过滤,可以有效数据包的转发效果和效率。

【技术实现步骤摘要】

本专利技术涉及网络技术方向的数据包匹配过滤
,具体涉及,主要提供一种基于规则库的数据包匹配算法,该算法结合分类方法和顺序优先级匹配机制,有效提高数据包匹配过滤效率,极大提高数据转发的效率。
技术介绍
数据包过滤技术是防火墙的基本技术,几乎所有路由器都内嵌这种功能。其基本原理是依据系统内事先设定好的访问规则列表,检查数据流中每个数据包的源地址、目的地址、源端口号、目的端口号、协议类型以及连接状态等信息,并以此来确定是否允许数据包通过。对于OSI模型来说,数据包过滤模块工作在网络层与数据链路层之间。数据包过滤的核心技术是其定义的规则表,过滤器检查规则表中的每一条规则直至发现数据包中的信息与某规则相符。如果没有一条规则能够匹配,防火墙就会使用默认规则。一般情况下,默认规则就是要求防火墙丢弃该数据包。数据包过滤技术属于基于规则的软件系统。该软件系统主要用于一组定义好的规则来决定下一步动作的程序中,它所要实现的功能以来与所有规则的正确性和相关性。它的所有规则构成一个规则库,一般来说,查找的方式是线性的。对于数据包过滤技术,在规则库总只有几条、几十条规则的情况下,对网络传输性能影响不大,但是当规则数量超过1000条时,性能会大大下降。根据IP数据包的结构特点,数据包过滤功能主要通过分析IP头和TCP头的一些信息段来实现。例如,用自然语言描述该规则为(数据包到达网络192.168.137.73),then (放行)。这条规则的含义为如果数据包想要达到网络192.168.137.73,那么数据包可以通过交换机进行转发,否则丢弃。过滤规则为:if(conndit1n) then (act1n)。其中 condit1n 是一个 8 元组{sm, dm, sa, da, sp, dp, pt, flag},其中sm表示源mac地址,dm表示目的mac地址,sa表示源地址,da表示目的地址,sp表示源端口,dp表示目的端口,pt表示协议类型,flag表示优先级;act1n是规则匹配成功时采用的动作,其值为“通行”或“丢弃”。数据包过滤功能是通过一系列过滤规则组成的过滤规则集合实现,这个过滤规则集合被称为规则表RT,也就是著名的ACL访问控制列表。目前交换机的规模逐渐增大,且不少于1000多条,这些规则组合到一起,这些规则存在不少冲突和重复的地方。
技术实现思路
本专利技术要解决的技术问题是:传统的匹配方法最简单的是顺序匹配,即从第I条规则开始逐条匹配直至成功,如何更快的寻找合适的匹配规则,增加数据转发效率是本专利技术解决的问题。本专利技术所采用的技术方案为:,首先将已有的规则库按照设置的分类规则进行分类,同一类的规则进行优先级比较,重复的规则按照后来先到原则,删除以前的规则;然后,在同一类规则中采用顺序匹配和优先级集合的方式进行规则匹配;最后,根据匹配的规则,执行相应的命令。所述分类规则根据8元组将规则分为MAC地址、IP地址、端口和协议4类,如果有规则满足其中几类,那么该规则并入每一类中,优先级则跟随规则; 所述优先级分为1-255,优先级值为整数,越大越好; 同等大小的优先级的规则,根据时间优先级,后来的优先级更大,后来的规则代替以前的规则; 如果多个规则的优先级大小不同,优先级更高的规则会被选择。所述方法具体操作步骤如下: 1)将不断丰富的过滤规则库,按照分类规则分成4类,并依据顺序进行排列,使得过滤规则有序; 2)按照顺序匹配策略匹配各个过滤规则,并比较其优先级,选择合适的匹配规则; 3)根据获得的匹配规则,对数据包进行通过和丢弃处理。本专利技术的有益效果为: 通过采用本专利技术的方法,可以利用现有的匹配机制和算法,加快数据包的匹配过滤,可以有效数据包的转发效果和效率。【附图说明】图1为流程图。【具体实施方式】下面参照附图所示,通过【具体实施方式】对本专利技术进一步说明: 实施例1: 如图1所示,,首先将已有的规则库按照设置的分类规则进行分类,同一类的规则进行优先级比较,重复的规则按照后来先到原则,删除以前的规则;然后,在同一类规则中采用顺序匹配和优先级集合的方式进行规则匹配;最后,根据匹配的规则,执行相应的命令。实施例2: 在实施例1的基础上,本实施例所述分类规则根据8元组将规则分为MAC地址、IP地址、端口和协议4类,如果有规则满足其中几类,那么该规则并入每一类中,优先级则跟随规则; 举例而言,如果一条规则为 if{*,*,192.168.137.23,192.168.137.73,*,*,ICMP,100},then丢弃,则该规则可以是ip地址规则,也可以是协议规则;如果是ip地址规则,则为 if{*,*,192.168.137.23,192.168.137.73,*,*,*,100},then 丢弃;如果是协议规则,则为 if {*,*,*,*,*,*,ICMP,100},then 丢弃; 所述优先级分为1-255,优先级值为整数,越大越好; 同等大小的优先级的规则,根据时间优先级,后来的优先级更大,后来的规则代替以前的规则; 如果多个规则的优先级大小不同,优先级更高的规则会被选择。实施例3: 在实施例1或2的基础上,本实施例所述方法具体操作步骤如下: 1)将不断丰富的过滤规则库,按照分类规则分成4类,并依据顺序进行排列,使得过滤规则有序; 2)按照顺序匹配策略匹配各个过滤规则,并比较其优先级,选择合适的匹配规则; 3)根据获得的匹配规则,对数据包进行通过和丢弃处理。以上实施方式仅用于说明本专利技术,而并非对本专利技术的限制,有关
的普通技术人员,在不脱离本专利技术的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本专利技术的范畴,本专利技术的专利保护范围应由权利要求限定。【主权项】1.,其特征在于:首先将已有的规则库按照设置的分类规则进行分类,同一类的规则进行优先级比较,重复的规则按照后来先到原则,删除以前的规则;然后,在同一类规则中采用顺序匹配和优先级集合的方式进行规则匹配;最后,根据匹配的规则,执行相应的命令。2.根据权利要求1所述的,其特征在于:所述分类规则根据8元组将规则分为MAC地址、IP地址、端口和协议4类,如果有规则满足其中几类,那么该规则并入每一类中,优先级则跟随规则; 优先级分为1-255,优先级值为整数,越大越好; 同等大小的优先级的规则,根据时间优先级,后来的优先级更大,后来的规则代替以前的规则; 如果多个规则的优先级大小不同,优先级更高的规则会被选择。3.根据权利要求1所述的,其特征在于,所述方法具体操作步骤如下: 1)将不断丰富的过滤规则库,按照分类规则分成4类,并依据顺序进行排列,使得过滤规则有序; 2)按照顺序匹配策略匹配各个过滤规则,并比较其优先级,选择合适的匹配规则; 3)根据获得的匹配规则,对数据包进行通过和丢弃处理。【专利摘要】本专利技术公开了,首先将已有的规则库按照设置的分类规则进行分类,同一类的规则进行优先级比较,重复的规则按照后来先到原则,删除以前的规则;然后,在同一类规则中采用顺序匹配和优先级集合的方式进行规则匹配;最后,根据匹配的规则,执行相应的命令。通过采用本专利技术的方法,可以利用现有的匹配机制和算法本文档来自技高网
...

【技术保护点】
一种数据包快速匹配分类方法,其特征在于:首先将已有的规则库按照设置的分类规则进行分类,同一类的规则进行优先级比较,重复的规则按照后来先到原则,删除以前的规则;然后,在同一类规则中采用顺序匹配和优先级集合的方式进行规则匹配;最后,根据匹配的规则,执行相应的命令。

【技术特征摘要】

【专利技术属性】
技术研发人员:吴登勇钟超群孙超
申请(专利权)人:山东超越数控电子有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1