[发明专利]基于IP地址集合和端口集合的数据包匹配处理方法在审
| 申请号: | 200910080660.4 | 申请日: | 2009-03-23 |
| 公开(公告)号: | CN101848190A | 公开(公告)日: | 2010-09-29 |
| 发明(设计)人: | 张洁 | 申请(专利权)人: | 北京鼎信高科信息技术有限公司 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/12 |
| 代理公司: | 北京众合诚成知识产权代理有限公司 11246 | 代理人: | 童晓琳 |
| 地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 ip 地址 集合 端口 数据包 匹配 处理 方法 | ||
技术领域
本发明属于网络安全技术领域,尤其涉及一种基于IP地址集合和端口集合的数据包匹配处理方法。
背景技术
当前,很多网络安全系统提供专门的客户端工具,来处理数据包匹配问题。用户可以通过设置特定的数据包规则集,来满足不同级别的安全性要求。通常系统提供不同规则选项,用于指定数据包与规则匹配所应具有的特征。其中,有用于匹配数据包源IP地址的规则选项,但只能匹配单独的IP地址或地址段;有用于匹配数据包目标地址的规则选项,也只能匹配单独的IP地址或地址段;有用于匹配数据包的源端口和目标端口的规则选项,但只能匹配单独的端口或端口范围。虽然也有功能更强大的规则选项,提供了对IP地址范围和端口范围的匹配,但如果用户需要同时指定多个分散的IP地址、地址段、端口、端口范围时,是无法运用上述的匹配项通过制定一条规则来满足要求的,需要用户制定多条规则来实现。并且,当用户需要匹配的地址或端口范围大且分散时,规则的数量也相应地增加,每个数据包的处理速度也会相应下降。此外,每条规则中的IP地址或端口数据,用户是无法重复使用的。
发明内容
本发明的目的在于,针对上述用户需要匹配的地址或端口范围大且分散,没有单一的匹配规则并且当前匹配规则的数量众多,数据包的处理速度太慢的问题,提出一种基于IP地址集合和端口集合的数据包匹配处理方法。
本发明的技术方案是,一种基于IP地址集合和端口集合的数据包匹配处理方法,其特征是所述方法为:
在系统内核空间建立IP地址集合和端口集合;
在系统内核空间构建两个双向链表,分别存储IP地址集合和端口集合,每个集合是双向链表中的一个结点,并且以每个集合的名称作为结点标识;
对每个结点分别构建红黑区间树,用于存储与该结点对应的IP地址集合或者端口集合中的元素;
根据用户设置的数据包处理规则,在系统内核空间建立的IP地址集合和端口集合中查找与数据包的IP地址和端口相匹配的元素。
所述IP地址集合中的元素包括:独立的IP地址及掩码、连续的IP地址段或者IP地址子集合。
所述端口集合中的元素包括:独立的端口、连续的端口段或者端口子集合。
所述在系统内核空间建立的IP地址集合和端口集合中查找与数据包的IP地址和端口相匹配的元素,其过程是:
步骤1:获取数据包源IP地址、目的IP地址、源端口、目标端口,以及IP地址集合和端口集合的名称;
步骤2:分别遍历内核空间中的两个双向链表,通过结点标识查找到与数据包IP地址集合和端口集合的名称相同的结点;
步骤3:在该结点的红黑区间树中查找与数据包的IP地址或端口相同的元素;
步骤4:如果在该结点的红黑区间树中,查找到与数据包的IP地址或端口相同的元素,则处理该数据包。
本发明的效果在于,使用本发明提供的方法,可以产生数量更少的规则来满足用户的同一需求,大大降低防火墙中的规则总量以及数据包匹配次数,从而提高系统处理性能。并且,用户可以在数据包规则的制定中,通过使用IP地址集合和端口集合名称,达到重复使用IP地址集合和端口集合的目的。
附图说明
图1是通过软件实现本发明的各个模块的关系示意图。
图2是匹配数据包的IP地址和端口的处理流程图。
图3是本发明提供的实施例的链表及其对象结点中的红黑区间树的示意图。
具体实施方式
下面结合附图,对优选实施例作详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。
图1是通过软件实现本发明的各个模块的关系示意图。图1中,资源对象生成模块根据用户预定义的IP地址集合、端口集合,负责在用户空间生成IP地址集合、端口集合等资源对象。
数据结构生成模块通过动态连接库,负责用户空间和内核空间交互所需的数据结构。
数据包解析模块负责解析数据包规则,且依赖于数据结构生成模块中的动态连接库。
查找匹配模块负责利用红黑区间树查找是否存在与数据包的IP地址和端口相匹配的元素。
数据处理模块负责维护内核空间的IP地址集合和端口集合,即负责生成和维护链表和链表结点中红黑区间树的数据结构,即构建和维护两个双向链表,分别存储IP地址集合和端口集合,每个集合是双向链表中的一个结点,并且以每个集合的名称作为结点标识。对每个结点分别构建红黑区间树,用于存储与该结点对应的IP地址集合或者端口集合中的元素。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京鼎信高科信息技术有限公司,未经北京鼎信高科信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910080660.4/2.html,转载请声明来源钻瓜专利网。





