一种数据过滤方法及系统技术方案

技术编号:14274435 阅读:95 留言:0更新日期:2016-12-23 19:09
本发明专利技术涉及计算机网络,尤其涉及网络数据流的监控、分流或分析中的过滤技术,属于计算机安全领域。一种数据过滤方法,包括步骤:根据待过滤的数据中包含的预设过滤要素,计算所述数据中过滤要素对应的散列值;在预设长度的按所述散列值排序的静态匹配表中查找相应的过滤记录;判断对应该散列值的静态匹配表过滤记录中的过滤表项是否有效;判断该条过滤记录中,记录的过滤表项与所述数据中过滤要素是否相符;判断该条过滤记录中,是否包含有效的后续记录指针;根据所述有效的后续记录指针,在可变长度的按所述记录指针排序的动态匹配表中查找下一条具有所述散列值的动态匹配表过滤记录;根据预设的过滤类型,执行相应的过滤操作或相反的过滤操作。

【技术实现步骤摘要】

本专利技术涉及计算机网络的
,尤其涉及网络数据流的监控、分流或者分析中的过滤技术,属于计算机安全领域。
技术介绍
互联网技术给信息传播带来了革命性的变化,例如,网络的“无中心化”,它向所有人开放,具有无限的信息源,每个人既可以是信息的使用者也可以是其提供者。而且,网络还具有交互性,使用者可以对自己接受的信息进行自主选择和控制。这些特性突破了过往所有的传播形态,为信息的多样化和言论自由空间的扩展提供了极大便利。也因此造成网络上时刻不停的流转着海量的数据流。但是,网络需要与外界的相对自由的联系,所以会更容易受到许多方面的威胁,例如物理威胁、系统漏洞造成的威胁、身份鉴别威胁、线缆连接威胁和有害程序等方面威胁。因此,产生了对海量数据进行监控的需求。同时,虽然网络硬件设备的性能一直不断的提高,但网络上的信息数量也一直以指数不断提高。在网络的主干信息通路上,依靠多台网络设备并行进行信息处理的情景十分常见。因此,产生了对海量数据进行分流的需求。此外,网络传输的海量数据催生出新兴的大数据概念,凭借大数据分析对海量数据的处理,能够高效精准地对相关业务服务作出改进。因此,对海量数据进行分析的需求也在快速增长。例如,一种应用环境是在如图1所示的数据分析应用中。通过交换机,将上游业务与下游业务之间的数据包复制一份导流到旁路数据通道,再通过网络分流设备将数据包分配到多个分析服务器上,从而对网络应用中的数据包中的数据进行分析。(常见的主流应用都使用TCP协议,但也可以对其他协议的数据包及数据包中的数据进行分析)。当交换机复制数据包进入旁路数据通道时,如果没有进行数据过滤,旁路数据通道进入分析设备的数据流量很多,即数据包的数量很多。但由于仅有部分数据对数据分析具有价值,因此不需要的数据包将在后端被数据分析时被丢弃,造成空耗分流设备、分析设备的资源。上述现有技术的做法存在的问题:前端交换机复制数据包时不进行数据过滤,而由后端处理数据丢弃问题,这会给后端设备造成压力和空耗资源。如图2所示,一种常见的改进方式是,在网络数据流的监控、分流或者分析之前,增加数据过滤技术的配合。一般的,当采用黑名单过滤时,当待过滤的数据中与黑名单中的某一条记录相符时,执行相应的过滤操作将数据拒绝通过/或将数据丢弃,否则使数据通过。当过滤类型为白名单过滤时,当待过滤的数据中与白名单中的某一条记录相符时,执行相应的过滤操使数据通过,否则拒绝数据通过/或将数据丢弃。通常,数据过滤的过滤要素为五元组中的一项或多项组合,即源IP地址、源端口、目的IP地址、目的端口、或传输层协议中的至少一项。从而达成,当采用白名单过滤类型时,(例如TCP协议下,数据过滤的丢弃操作可针对IP地址进行,)只有含特定IP地址的TCP数据包才能数据通过,进入后续的分流分析操作;否则将会数据丢弃,不再进行分流分析操作(或者规则相反,采用黑名单过滤类型时,一旦命中则数据丢弃,其他数据通过后进行分流分析)。如此,通过前置的过滤操作,可以有效降低监控、分流或者分析操作面对海量数据流的巨大压力。然而,为海量网络数据流的监控、分流或者分析进行的的前置过滤操作有别于为了身份认证、权限控制而进行的黑名单/白名单过滤。主要原因是名单长度的巨大差异,造成所需的过滤处理的资源需求与压力截然不同。特别是在由网络设备硬件直接执行的网络数据过滤匹配中,对硬件资源的需求与压力增长都另用户难以忍受。如果每当收到一个数据包,过滤设备都需对照过滤匹配表对数据包进行逐个扫描,依次匹配,直到匹配完,一旦命中,则放行的同时进行分流分配,但这种方法显然太耗时间,使网络分流设备很有可能不能实时完成过滤分流分配处理,过滤匹配表项越大越不可行。现有的一种改进的方案是将过滤匹配表项分块,例如,将200个表项分成4块,并行设计4个完全一样的过滤匹配模块进行并行处理,这样速度确有提升。但是对于主要由硬件进行过滤匹配处理的交换机、网络分流设备,并行设计太耗硬件处理资源,同时对于大的过滤匹配表项(例如500个,1000个),依然不可行。另一种改进是将过滤匹配表项放到CAM芯片上,则可以确保操作实时,逻辑简单,但是CAM芯片太贵,并且随着过滤匹配表项的增加成本快速上升,在很多时候造成设备成本过高不可行。所以需要一种改进的数据过滤方法,对明显不符合过滤匹配表的数据可以快速筛出,对符合过滤匹配表的数据也无需将待过滤的数据与过滤匹配表进行逐一比对,并能以较小的硬件资源与成本实现。
技术实现思路
为了解决网络数据流的监控、分流或者分析中,现有的数据过滤技术存在的技术问题,本专利技术是通过以下技术方案实现的:一种数据过滤方法,包括如下步骤:S20根据待过滤的数据中包含的预设过滤要素,计算所述数据中过滤要素对应的散列值;S30根据所述散列值,在预设长度的按所述散列值排序的静态匹配表中查找相应的过滤记录;S40判断对应该散列值的静态匹配表过滤记录中的过滤表项是否有效;当该散列值的静态过滤表项无效时,跳转执行步骤S83;否则,执行下一步;S50判断该条过滤记录中,记录的过滤表项与所述数据中过滤要素是否相符;当相符时,跳转执行步骤S81;否则,执行下一步;S60判断该条过滤记录中,是否包含有效的后续记录指针;当不含有效的后续记录指针时,跳转执行步骤S83;否则,执行下一步;S70根据所述有效的后续记录指针,在可变长度的按所述记录指针排序的动态匹配表中查找下一条具有所述散列值的动态匹配表过滤记录;循环执行步骤S50-S70;S81根据预设的过滤类型,执行相应的过滤操作;S83执行与预设的过滤类型相反的过滤操作。本专利技术对明显不符合过滤匹配表的数据可以快速筛出,对符合过滤匹配表的数据也无需将待过滤的数据与过滤匹配表进行逐一比对,显著减少了数据过滤所需的硬件资源与成本。进一步,所述步骤S81之后还包括步骤:S82:当查找到的本条过滤记录位于动态匹配表时,将本条过滤记录的过滤表项存入具有所述散列值的静态匹配表过滤记录的快速查找映射区域。本专利技术针对待过滤数据具有的数据包连续特性进行了进一步的优化,对连续的数据只需将待过滤的数据与过滤匹配表进行一次比对。一种数据过滤方法,包括如下步骤:S20根据待过滤的数据中包含的预设过滤要素,计算所述数据中过滤要素对应的散列值;S30根据所述散列值,在预设长度的按所述散列值排序的静态匹配表中查找相应的过滤记录;S40判断对应该散列值的静态匹配表过滤记录中的过滤表项是否有效;当该散列值的静态过滤表项无效时,跳转执行步骤S83;否则,执行下一步;S50判断该条过滤记录中,记录的过滤表项与所述数据中过滤要素是否相符;当相符时,跳转执行步骤S81;否则,执行下一步;S55判断该条过滤记录中,记录在所述快速查找映射区域的过滤表项与所述数据中过滤要素是否相符;当相符时,跳转执行步骤S81;否则,执行下一步;S60判断该条过滤记录中,是否包含有效的后续记录指针;当不含有效的后续记录指针时,跳转执行步骤S83;否则,执行下一步;S70根据所述有效的后续记录指针,在可变长度的按所述记录指针排序的动态匹配表中查找下一条具有所述散列值的动态匹配表过滤记录;循环执行步骤S50-S70;S81根据预设的过滤类型,执行相应的过滤操作;S82:当查找到的本条过滤记本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/62/201610877127.html" title="一种数据过滤方法及系统原文来自X技术">数据过滤方法及系统</a>

【技术保护点】
一种数据过滤方法,其特征在于,包括如下步骤:S20根据待过滤的数据中包含的预设过滤要素,计算所述数据中过滤要素对应的散列值;S30根据所述散列值,在预设长度的按所述散列值排序的静态匹配表中查找相应的过滤记录;S40判断对应该散列值的静态匹配表过滤记录中的过滤表项是否有效;当该散列值的静态过滤表项无效时,跳转执行步骤S83;否则,执行下一步;S50判断该条过滤记录中,记录的过滤表项与所述数据中过滤要素是否相符;当相符时,跳转执行步骤S81;否则,执行下一步;S60判断该条过滤记录中,是否包含有效的后续记录指针;当不含有效的后续记录指针时,跳转执行步骤S83;否则,执行下一步;S70根据所述有效的后续记录指针,在可变长度的按所述记录指针排序的动态匹配表中查找下一条具有所述散列值的动态匹配表过滤记录;循环执行步骤S50‑S70;S81根据预设的过滤类型,执行相应的过滤操作;S83执行与预设的过滤类型相反的过滤操作。

【技术特征摘要】
1.一种数据过滤方法,其特征在于,包括如下步骤:S20根据待过滤的数据中包含的预设过滤要素,计算所述数据中过滤要素对应的散列值;S30根据所述散列值,在预设长度的按所述散列值排序的静态匹配表中查找相应的过滤记录;S40判断对应该散列值的静态匹配表过滤记录中的过滤表项是否有效;当该散列值的静态过滤表项无效时,跳转执行步骤S83;否则,执行下一步;S50判断该条过滤记录中,记录的过滤表项与所述数据中过滤要素是否相符;当相符时,跳转执行步骤S81;否则,执行下一步;S60判断该条过滤记录中,是否包含有效的后续记录指针;当不含有效的后续记录指针时,跳转执行步骤S83;否则,执行下一步;S70根据所述有效的后续记录指针,在可变长度的按所述记录指针排序的动态匹配表中查找下一条具有所述散列值的动态匹配表过滤记录;循环执行步骤S50-S70;S81根据预设的过滤类型,执行相应的过滤操作;S83执行与预设的过滤类型相反的过滤操作。2.根据权利要求1所述的数据过滤方法,其特征在于,所述步骤S81之后还包括步骤:S82:当查找到的本条过滤记录位于动态匹配表时,将本条过滤记录的过滤表项存入具有所述散列值的静态匹配表过滤记录的快速查找映射区域。3.根据权利要求2所述的数据过滤方法,其特征在于,所述步骤S50之后还包括步骤:S55判断该条过滤记录中,记录在所述快速查找映射区域的过滤表项与所述数据中过滤要素是否相符;当相符时,跳转执行步骤S81;否则,执行下一步。4.根据权利要求1所述的数据过滤方法,其特征在于:所述步骤S20之前还包括步骤S01,设置数据过滤的过滤类型为黑名单过滤/或白名单过滤;当步骤S01中设置所述过滤类型为黑名单过滤时,步骤S81中,所述相应的过滤操作为数据拒绝/数据丢弃,步骤S83中,所述相反的过滤操作为数据通过;当步骤S01中设置所述过滤类型为白名单过滤时,步骤S81中,相应的过滤操作为数据通过,步骤S83中,相反的过滤操作为数据拒绝/数据丢弃。5.根据权利要求1所述的数据过滤方法,其特征在于,所述步骤S20之前还包括步骤:S02设置数据过滤的过滤要素为:源IP地址、源端口、目的IP地址、目的端口、或传输层协议中的至少一项。6.根据权利要求1所述的数据过滤方法,其特征在于:所述步骤S20之前还包括步骤S03,设置采用的散列算法为CRC16、CRC32、MD4、MD5、或SHA1中的一种算法;所述步骤S20中,计算所述数据中过滤要素对应的散列值是指:使用步骤S03设置的CRC16、CRC32、MD4、MD5、或SHA1算法,计算所述数据中过滤要素对应的散列值。7.根据权利要求6所述的数据过滤方法,其特征在于,所述步骤S20之前还包括步骤:S04设置静态匹配表的预设长度,使静态匹配表的长度与步骤S03中设置的散列算法的散列输出值长度相匹配;S05初始化所述静态匹配表,将每一条过滤记录的过滤表项清空,将每一条过滤记录的表项有效性标记、后续记录指针设置为“无效”。8.根据权利要求7所述的数据过滤方法,其特征在于,所述步骤S20之前还包括步骤:S11根据预设的过滤名单,使用步骤S03设置的散列算法,依次计算所述过滤名单中每一条过滤记录对应的散列值;S12根据所述散列值,在按所述散列值排序的静态匹配表中查找相应的过滤记录;S13判断对应该散列值的静态匹配表过滤记录中的过滤表项是否有效;当该散列值的静态过滤表项无效时,跳转执行步骤S19;否则,执行下一步;S14判断该条过滤记录中,是否包含有效的后续记录指针;当含有效的后续记录指针时,执行下一步骤S15;否则,跳过步骤S15执行下一步骤;S15根据所述有效的后续记录指针,在按所述记录指针排序的动态匹配表中查找下一条具有所述散列值的动态匹配表过滤记录;循环执行步骤S14-S15;S17在动态匹配表中新建一条过滤记录,将该条新建过滤记录的记录指针设置为顺序加一;S18将该条过滤记录的记录指针存入前一条具有所述散列值的过滤记录的后续记录指针;S19将所述过滤名单中的该条过滤记录存入该匹配表的该条过滤记录的过滤表项,并修改该条过滤记录的表项有效性标记为“有效”。9.根据权利要求8所述的数据过滤方法,其特征在于,还包括步骤:S91当删除预设的过滤名单中的部分过滤记录时,使用步骤S03设置的散列算法,依次计算所述每一条删除的过滤记录对应的散列值;S92根据所述散列值,在按所述散列值排序的静态匹配表中查找相应的过滤记录;S93判断该条过滤记录中,记录的过滤表项与所述删除的过滤记录是否相符;当相符时,跳转执行步骤S95;否则,执行下一步;S94根据所述有效的后续记录指针,在所述动态匹配表中查找下一条具有所述散列值的动态匹配表过滤记录;循环执行步骤S93-S94;S95将该匹配表的该条过滤记录的过滤表项删除,并修改该条过滤记录的表项有效性标记为“无效”;S96判断该条过滤记录中,是否包含有效的后续记录指针;当不含有效的后续记录指针时,结束本条过滤记录的删除操作;否则,执行下一步;S97当删除的本条过滤记录位于静态匹配表时,跳转执行步骤S99;否则,执行下一步;S98将该条过滤记录的后续记录指针存入前一条具有所述散列值的过滤记录的后续记录指针,并修改该条过滤记录的后续记录指针为“无效”;S99根据所述有效的后续记录指针,将动态匹配表中第一条具有所述散列值的动态匹配表过滤记录,复制到静态匹配表的该条过滤记录;而后将动态匹配表的该条过滤记录的过滤表项清空,将表项有效性标记、后续记录指针设置为“无效”。10.根据权利要求9所述的数据过滤方法,其特征在于,所述步骤S17之前还包括步骤:S16在动态匹配表中查找第一条表项有效性标记为“无效”的动态匹配表过滤记录;当查找到时,跳转执行步骤S18;否则,执行下一步。11.一种数据过滤系统,其特征在于,包括:过滤记录查找模块,包括索引查找子模块、过滤记录匹配子模块;索引计算模块,与所述过滤记录查找模块电连接;存储模块,与所述...

【专利技术属性】
技术研发人员:贾连锁
申请(专利权)人:湖南智卓创新信息产业股份有限公司
类型:发明
国别省市:湖南;43

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

1