CN108123949A - 一种数据包过滤的方法及装置 - Google Patents

一种数据包过滤的方法及装置 Download PDF

Info

Publication number
CN108123949A
CN108123949A CN201711403870.3A CN201711403870A CN108123949A CN 108123949 A CN108123949 A CN 108123949A CN 201711403870 A CN201711403870 A CN 201711403870A CN 108123949 A CN108123949 A CN 108123949A
Authority
CN
China
Prior art keywords
packet filtering
grade
default
filtering rule
hit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711403870.3A
Other languages
English (en)
Other versions
CN108123949B (zh
Inventor
谭天
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPtech Information Technology Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201711403870.3A priority Critical patent/CN108123949B/zh
Publication of CN108123949A publication Critical patent/CN108123949A/zh
Application granted granted Critical
Publication of CN108123949B publication Critical patent/CN108123949B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种数据包过滤的方法,所述方法包括:在接收到数据包时,判断预设的更新事件是否触发;当预设的更新事件触发时,依次在根据预设的等级划分策略划分的每个等级所包含的数据包过滤规则中,查找与接收到的数据包所对应的数据包过滤规则,且每个等级中所包含的数据包过滤规则在等级划分之后按照预设的预处理算法对其进行预处理,所述预设的等级划分策略是统计数据包过滤规则对应的命中次数,基于所述数据包过滤规则对应的命中次数,对当前现有的数据包过滤规则进行等级划分,划分成至少两个等级,且不同等级的优先级不同;基于所述查找到的数据包过滤规则对所述接收到的数据包进行过滤处理。

Description

一种数据包过滤的方法及装置
技术领域
本申请涉及网络安全领域,尤其涉及一种数据包过滤的方法及装置。
背景技术
在网络安全领域,数据包过滤是对进出网络的数据包与用户配置的一系列数据包过滤规则进行比较,以判断一个数据包是否匹配到某一条规则,其中数据包过滤规则通常由源IP地址、目的IP地址、端口号、协议等字段组成。为了使网络设备能够快速有效的根据数据包过滤规则匹配数据包,通常需要对数据包过滤规则进行预处理,网络设备根据预处理后的数据包过滤规则匹配接收到的数据包。
现有的数据包过滤方法在对数据包过滤规则进行预处理的时候对每条规则平等对待,为其分配的预处理时间和内存是相等的,因此根据预处理后的数据包过滤规则匹配接收到的数据包时,平等的去匹配每条数据包规则,这种方法并没有考虑在实际应用中数据包过滤规则被命中的情况,在实际应用中往往很少一部分的数据包过滤规则经常被命中,很大一部分数据包过滤规则很少被命中。这样就会导致很大一部分预处理阶段的资源消耗没有发挥应有的作用,同时也限制了匹配效率的提升。
发明内容
有鉴于此,本申请提供一种数据包过滤的方法及装置。
具体地,本申请是通过如下技术方案实现的:
一种数据包过滤的方法,所述方法包括:
在接收到数据包时,判断预设的更新事件是否触发;
当预设的更新事件触发时,依次在根据预设的等级划分策略划分的每个等级所包含的数据包过滤规则中,查找与接收到的数据包所对应的数据包过滤规则,且每个等级中所包含的数据包过滤规则在等级划分之后按照预设的预处理算法对其进行预处理,所述预设的等级划分策略是统计数据包过滤规则对应的命中次数,基于所述数据包过滤规则对应的命中次数,对当前现有的数据包过滤规则进行等级划分,划分成至少两个等级,且不同等级的优先级不同;
基于所述查找到的数据包过滤规则对所述接收到的数据包进行过滤处理。
一种数据包过滤的装置,所述装置包括:
第一判断单元,用于在接收到数据包时,判断预设的更新事件是否触发;
规则查找单元,用于当预设的更新事件触发时,依次在根据预设的等级划分策略划分的每个等级所包含的数据包过滤规则中,查找与接收到的数据包所对应的数据包过滤规则,且每个等级中所包含的数据包过滤规则在等级划分之后按照预设的预处理算法对其进行预处理,所述预设的等级划分策略是统计数据包过滤规则对应的命中次数,基于所述数据包过滤规则对应的命中次数,对当前现有的数据包过滤规则进行等级划分,划分成至少两个等级,且不同等级的优先级不同;
数据包过滤单元,用于基于所述查找到的数据包过滤规则对所述接收到的数据包进行过滤处理。
通过本申请的技术方案,依次在根据预设的等级划分策略划分的每个等级所包含的数据包过滤规则中匹配接收到的数据包时,有效提高了匹配效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本申请一示例性实施例示出的一种示例性应用场景图;
图2是本申请一示例性实施例示出的数据包过滤方法的一种实施流程图;
图3是本申请一示例性实施例示出的统计数据包过滤规则所使用的一种统计方式;
图4是本申请一示例性实施例示出的数据包过滤方法的一种优选实施流程图;
图5是本申请一示例性实施例示出的数据包过滤的装置的一种结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先对本申请实施例提供的一种数据包过滤的方法进行说明,该方法可以包括以下步骤:
在接收到数据包时,判断预设的更新事件是否触发;
当预设的更新事件触发时,依次在根据预设的等级划分策略划分的每个等级所包含的数据包过滤规则中,查找与接收到的数据包所对应的数据包过滤规则,且每个等级中所包含的数据包过滤规则在等级划分之后按照预设的预处理算法对其进行预处理,所述预设的等级划分策略是统计数据包过滤规则对应的命中次数,基于所述数据包过滤规则对应的命中次数,对当前现有的数据包过滤规则进行等级划分,划分成至少两个等级,且不同等级的优先级不同;
基于所述查找到的数据包过滤规则对所述接收到的数据包进行过滤处理。
在背景技术中提到,如图1所示的一种示例性应用场景示意图,在网络安全领域,数据包过滤是对进出网络的数据包与用户配置的一系列数据包过滤规则进行比较,以判断一个数据包是否匹配到某一条规则,其主要应用于路由器或防火墙。一般的数据包过滤规则通常由源IP地址、目的IP地址、端口号、协议等字段构成,通过检查数据包所携带的上述字段信息,以决定是否允许数据包通过或丢弃数据包。
对数据包进行过滤的过程中,在接收到数据包时,首先判断预设的更新事件是否触发,所述预设的更新事件包括但不限于用户增加或删除数据包过滤规则的事件、命中次数累积达到预设阈值的事件、和/或数据包过滤系统运行时间累计达到预设阈值的事件;若预设的更新事件没有触发,则依次在现有的等级所包含的数据包过滤规则中查找与接收到的数据包所对应的数据包过滤规则,基于所述查找到的数据包过滤规则对所述接收到的数据包进行过滤处理;若预设的更新事件触发时,基于不同等级的优先级不同,依次在根据预设的等级划分策略划分的每个等级所包含的数据包过滤规则中查找与接收到的数据包所对应的数据包过滤规则,且每个等级中所包含的数据包过滤规则在等级划分之后按照预设的预处理算法对其进行预处理,所述预设的等级划分策略是统计数据包过滤规则对应的命中次数,基于所述数据包过滤规则对应的命中次数,对当前现有的数据包过滤规则进行等级划分,划分成至少两个等级,且不同等级的优先级不同,基于所述查找到的数据包过滤规则对所述接收到的数据包进行过滤处理。
其中在所述预设的更新事件触发时,判断是否由用户增加或删除数据包过滤规则触发了所述预设的更新事件;若用户删除数据包过滤规则触发了所述预设的更新事件,按照所述预设的等级划分策略划分等级;若用户增加数据包过滤规则触发了所述预设的更新事件,按照所述预设的等级划分策略划分等级后,从所划分的等级中选取优先级最高的等级,将所选取的优先级最高的等级中所包含的所有数据包过滤规则的命中次数的均值作为新增数据包过滤规则的命中次数,并将新增的数据包过滤规则加入到所选取的等级中,并记录下新增数据包过滤规则的命中次数;当下次预设的更新事件被触发时,在按照所述预设的等级划分策略划分等级后,若新增的数据包过滤规则依然位于所述选取的优先级最高的等级中,但其命中次数的增长值小于所述选取的优先级最高的等级平均命中次数的增长值,则将其划分到次级优先级的等级中,并将次级优先级等级的最大命中次数作为其命中次数。为了进一步对本申请进行说明,提供下列实施例对本申请进行说明:
其中本申请的技术方案在初始阶段时需要采集一定数据,即为每个数据包过滤规则设置对应的命中计数器,用于记录被命中的次数,采集每条数据包过滤规则在一段时间内被命中的次数。在初始阶段由于所有数据包过滤规则的命中次数都为0,因此会将所有数据包过滤规则平等对待,将所有数据包过滤规则统一放到一个等级中,例如放到第1级中。当系统运行一段时间后,即采集了一定时间的数据后,就需要对数据包过滤规则进行等级划分,因此设置了更新事件,当更新事件触发时,即数据采集完毕,根据采集的结果对数据包过滤规则进行等级划分。
如图2所示,为本申请数据包过滤的方法的一种实施流程图,其具体可以包括以下步骤:
S101,在接收到数据包时,判断预设的更新事件是否触发;
在一实施例中,在接收到数据包时,判断预设的更新事件是否触发,其目的是为了判断是否对现有的数据包过滤规则进行等级划分。其中所述预设的更新事件可以为但不限于用户增加或删除数据包过滤规则的事件、命中次数累积达到预设阈值的事件、和/或数据包过滤系统运行时间累计达到预设阈值的事件。意味着系统运行一段时间后采集到一定的数据,需要设置更新时机,所述更新时机可以是上述所说的一种或几种。例如设置系统运行时间,在系统运行时间达到其预设的时间阈值时,则会触发更新事件,例如预设的时间阈值为一个月,即采集一个月的数据后,就需要对现有的数据包过滤规则进行等级划分,而在这一个月内由于没有更新事件触发,则会在现有的等级划分中所包含的数据包过去规则中查找与接收到的数据包对应的数据包过滤规则。又例如可以设置数据包过滤规则的命中次数,为其设置阈值,可以为单个数据包过滤规则设置其阈值为10000,意味着只要有某个数据包过滤规则的命中次数达到10000,就触发了更新事件,就需要对现有的数据包过滤规则进行等级划分,相应的如果没有达到10000时,则会在现有的等级划分中所包含的数据包过去规则中查找与接收到的数据包对应的数据包过滤规则,当然这里也可以设置所有数据包过滤规则的总命中次数。例如设置十万次。其中若是用户新增或删除了数据包过滤规则,也会触发更新事件,需要对现有的数据包过滤规则进行等级划分。
其中上述所说的数据包可以是流入的数据包,也可以是流出的数据包。
S102,当预设的更新事件触发时,依次在根据预设的等级划分策略划分的每个等级所包含的数据包过滤规则中,查找与接收到的数据包所对应的数据包过滤规则,且每个等级中所包含的数据包过滤规则在等级划分之后按照预设的预处理算法对其进行预处理,所述预设的等级划分策略是统计数据包过滤规则对应的命中次数,基于所述数据包过滤规则对应的命中次数,对当前现有的数据包过滤规则进行等级划分,划分成至少两个等级,且不同等级的优先级不同;
在一实施例中,在背景技术中提到,由于现有技术并没有考虑到在实际应用中数据包过滤规则被命中的情况,在实际应用中往往很少一部分的数据包过滤规则经常被命中,很大一部分数据包过滤规则很少被命中。因此本申请为每个数据包过滤规则设置对应的命中计数器,用来记录被命中的次数。在接收到流入的数据包或流出的数据包时,判断预设的更新事件是否触发,当预设的更新事件触发后,意味着数据采集完毕,需要对现有的数据包过滤规则进行等级划分,由此可以看是本申请是根据数据包过滤规则在实际应用中被命中的情况,以此来对数据包过滤规则进行等级划分。
其中若预设的更新事件没有触发时,即上述所说的用户增加或删除数据包过滤规则的事件、命中次数累积达到预设阈值的事件、和/或数据包过滤系统运行时间累计达到预设阈值的事件没有触发时,则会按照现有的等级划分,依次从每个等级所包含的数据包过滤规则中查找与其对应的数据包过滤规则。例如在初始阶段,只有一个等级,则会遍历所有的数据包过滤规则,从现有的数据包过滤规则中查找与接收的数据包对应的数据包过滤规则;又例如现有的等级划分存在两个等级,分别为第1级,第2级,暂且认为第1等级的优先级最高,优先在优先级最高的第1级中查找与接收的数据包对应的数据包过滤规则,如果在第1等级中未查找到,则转到第2级中进行查找,如果查找到与接收的数据包对应的数据包过滤规则,则更新其命中次数,命中次数加1。
若预设的更新事件触发时,基于不同等级的优先级不同,依次在根据预设的等级划分策略划分的每个等级所包含的数据包过滤规则中查找与接收到的数据包所对应的数据包过滤规则,且每个等级中所包含的数据包过滤规则在等级划分之后按照预设的预处理算法对其进行预处理。例如当预设的更新事件触发时,而且根据预设的等级划分策略划分了两个等级,分别为第1等级和第2等级,且第1等级的优先级高于第2等级,在查找与接收到的数据包对应的数据包过滤规则的过程中,首先会在第1级上进行查找,如果在第1级就查找到某一条规则,相应的更新其命中次数,使其命中次数加1,如果未在第1级中查找到,则转到第2级进行查找,如果在第2级查找到某条数据包过滤规则,相应的更新其命中次数,使其命中次数加1,反之则没有命中任意一条数据包过滤规则。
所述预设的等级划分策略是统计数据包过滤规则对应的命中次数,基于所述数据包过滤规则对应的命中次数,对当前现有的数据包过滤规则进行等级划分,划分成至少两个等级,且不同等级的优先级不同。统计数据包过滤规则对应的命中次数,其中一种简便的方法是使用柱状图进行统计,可以查看数据包过滤规则在各个阶段的分布情况,以便于决定划分等级的个数,如图3所示的柱状图,每个条形柱都有其自己的区间,横向上代表数据包过滤规则的命中次数,纵向上代表在这个区间内所拥有的数据包过滤规则,即如图所示5000-7000区间内,即命中次数在这个区间内的数据包过滤规则有16000个。由此可以看出数据包过滤规则对应的命中次数的大致分布情况,即各个区间所包含的数据包过滤规则占总数据包过滤规则的比率,相应的可以根据柱状图划分为三个等级,根据第三区间内所包含的数据包过滤规则占总数据包过滤规则的比率大约为30%,将命中次数位于其前30%的数据包过滤规则放到第1等级中,以此类推,且第1等级的优先级最高。当然如果要划分为两个等级的话,经过大量实验表明,数据包过滤规则在实际应用中被命中的情况基本符合二八规律,因此将命中次数位于前20%的数据包过滤规则放到第1级中,剩余的80%的数据包过滤规则放到第2级中。以上所说的划分方法仅仅是示例性的,其它的划分方法这里不再一一赘述。
其中在等级划分完之后,需要对每个等级中的数据包过滤规则分别进行预处理,预处理的方式有很多种,本申请以hash算法为例进行说明,hash算法是一种比较常用的预处理手段。假设现在有10000条数据包过滤规则,选择的hash算法的填装因子达到0.5(这个值只是进行举例说明)。第1级中有2000条数据包过滤规则,设置第1级hash表的长度为4000,查找时平均查找次数为1;第2级有8000条数据包过滤规则,设置其hash表的长度为4000,则查找一次的平均比较次数为4。根据二八原理,第1级的20%的数据包过滤规则命中次数占了总命中次数的80%,第2级的80%的数据包过滤规则的命中次数占了总命中次数的20%,因此比较次数的期望值:
E1=80%*1+(20%*1+20%*4)=1.8
如果按照现有技术进行处理,并且使用的hash表长度为(4000+4000)=8000,填装因子也为0.5,则此时查找时比价次数的期望值:
E2=10000/(8000*0.5)=2.5
由此可以看到在不改变基础预处理方法和内存使用的情况下,匹配效率可提升(E1-E2)/E2=28%。
另外,采用等级划分的方式后,每个等级可以采用不同的预处理算法。第1级可以采用虽然耗时大但是处理效果更加好的预处理算法,例如上述所说的hash算法,则需要更大的填装因子,更少的平均查找次数,第2级可以采用一些处理效果一般,内存占用较小耗时较小的预处理算法。由于第1级数据包过滤规则的数量仅占总数量的20%,而命中次数占总命中次数的80%,所以整个预处理过程的时间增加并不会明显,反而匹配效率会有所提高。
S103,基于所述查找到的数据包过滤规则对所述接收到的数据包进行过滤处理。
在一实施例中,基于所述查找到的数据包过滤规则对所述接收到的数据包进行过滤处理,如果命中的是丢弃数据包的数据包过滤规则,则会将所述数据包丢弃,如果命中的是允许数据包通过的数据包过滤规则,则会允许该数据包通过。
在本申请的另一实施例中,如图4所示,所述方法还可以包括:
S104,当预设的更新事件触发时,判断是否由用户增加或删除数据包过滤规则触发了所述预设的更新事件;
在一实施例中,有上述所说,当这三种触发方式存在任意一种时或任意几种,都会触发预设的更新事件,因此需要判断是否是由用户增加或删除数据包过滤规则所触发的,因为用户增加或删除数据包过滤规则需要对其进行相应的处理;若不是由用户增加或删除数据包过滤规则所触发的,则根据预设的等级划分策略对现有的数据包过滤规则进行等级划分。
其中若是由用户增加或删除规则触发了预设的更新事件,需要对数据包过滤规则进行更新,当前的数据包过滤规则的更新主要分为两种:全量更新或增量更新。增量更新是根据一定的规则在原来的预处理结果上直接增加或删除数据包过滤规则,全量更新是增加或删除数据包过滤规则后重新进行预处理,通常情况下,全量更新的匹配效率会高一些,因此本申请的技术方案默认采用全量更新的方式来更新数据包过滤规则。
S105,若用户删除数据包过滤规则触发了所述预设的更新事件,按照所述预设的等级划分策略划分等级;若用户增加数据包过滤规则触发了所述预设的更新事件,按照所述预设的等级划分策略划分等级后,从所划分的等级中选取优先级最高的等级,将所选取的优先级最高的等级中所包含的所有数据包过滤规则的命中次数的均值作为新增数据包过滤规则的命中次数,并将新增的数据包过滤规则加入到所选取的等级中,并记录下新增数据包过滤规则的命中次数。
在一实施例中,若是用户删除数据包过滤规则触发了所述预设的更新事件,只需将指定的规则删除,按照上述的等级划分策略进行等级划分即可。若用户增加数据包过滤规则触发了所述预设的更新事件,例如假设用户增加了m条数据包过滤规则,新增的这m条数据包过滤规则没有命中次数的统计信息,而且这些新增的数据包过滤规则极有可能在近期经常被命中,因此要将用户新增的这m条数据包过滤规则划分到优先级最高的等级中,例如上述所说的划分的两个等级,第1等级高于第2等级,因此会将这m条数据包过滤规则加入到第1级中。为了使这m条数据包过滤规则以更加真实、自然、平滑的方式融入到各个等级中,本申请会按如下方式来对这m条数据包过滤规则进行处理:将当前第1级中所有数据包过滤规则的命中次数的平均值作为这m个新增数据包过滤规则的命中次数;并记录下此次更新时这m条数据包过滤规则的命中次数,即当前第1级所有数据包过滤规则命中次数的平均值。然后基于各个等级的优先级,依次在各个等级中查找与接收到的数据包对应的数据包过滤规则,基于查找到的数据包过滤规则对接收到的数据包进行过滤处理。
当下次预设的更新事件被触发时,在按照所述预设的等级划分策略划分等级后,若新增的数据包过滤规则依然位于所述选取的优先级最高的等级中,但其命中次数的增长值小于所述选取的优先级最高的等级平均命中次数的增长值,则将其划分到次级优先级的等级中,并将次级优先级等级的最大命中次数作为其命中次数。例如上述所说的新增加的m条数据包过滤规则,在下次更新时,首先还是按照上述所说的等级划分策略将各个数据包过滤规则划分到两个不用的等级中。如果这m条数据包过滤规则中的某些规则依然位于第1级中,判断其命中次数的增长值是否不小于第1级所有数据包过滤规则命中次数平均值的增长值,例如这m条数据包过滤规则中的某些规则命中次数的增长值为200,而第1级所有数据包过滤规则命中次数平均值的增长值为300,显而易见其命中次数的增长值小于第1级所有数据包过滤规则命中次数平均值的增长值,则将其划分到次级优先级的等级中,即划分到第2级中,并且将第2级中最大的命中次数作为其命中次数。在这种情况下,如果此次是误操作,当后面其命中次数增长值高于第1级数据包过滤规则平均命中次数的增长值时,很有可能重新被划分到第1级中。此后这m条数据包过滤规则就和其它的数据包过滤规则都按照预设的等级划分策略进行等级划分。
通过上述步骤,动态统计数据包过滤规则在实际应用中的命中率,然后分等级对数据包规则进行预处理,等级越高的规则越容易被命中,对其进行的预处理更充分,从而提高匹配效率。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
与前述数据包过滤的方法的实施例相对应,本申请还提供了数据包过滤的装置的实施例,如图5所示,包括第一判断单元210、规则查找单元220、数据包过滤单元230。
所述第一判断单元210,用于在接收到数据包时,判断预设的更新事件是否触发;
所述规则查找单元220,用于当预设的更新事件触发时,依次在根据预设的等级划分策略划分的每个等级所包含的数据包过滤规则中,查找与接收到的数据包所对应的数据包过滤规则,且每个等级中所包含的数据包过滤规则在等级划分之后按照预设的预处理算法对其进行预处理,所述预设的等级划分策略是统计数据包过滤规则对应的命中次数,基于所述数据包过滤规则对应的命中次数,对当前现有的数据包过滤规则进行等级划分,划分成至少两个等级,且不同等级的优先级不同;
所述数据包过滤单元230,用于基于所述查找到的数据包过滤规则对所述接收到的数据包进行过滤处理。
在本申请的一种具体实施方式中,所述预设的更新事件,包括:
用户增加或删除数据包过滤规则的事件、命中次数累积达到预设阈值的事件、和/或数据包过滤系统运行时间累计达到预设阈值的事件。
在本申请的一种具体实施方式中,所述查找单元220具体用于:
当预设的更新事件触发时,基于不同等级的优先级不同,依次在根据预设的等级划分策略划分的每个等级所包含的数据包过滤规则中查找与接收到的数据包所对应的数据包过滤规则,且每个等级中所包含的数据包过滤规则在等级划分之后按照预设的预处理算法对其进行预处理。
在本申请的一种具体实施方式中,所述装置还包括:第二判断单元240、规则删除单元250、规则增加单元260
所述第二判断单元240,用于当预设的更新事件触发时,判断是否由用户增加或删除数据包过滤规则触发了所述预设的更新事件;
所述规则删除单元250,用于若用户删除数据包过滤规则触发了所述预设的更新事件,只需删除用户指定的规则,按照所述预设的等级划分策略划分等级;
所述规则增加单元260,用于若用户增加数据包过滤规则触发了所述预设的更新事件,按照所述预设的等级划分策略划分等级后,从所划分的等级中选取优先级最高的等级,将所选取的优先级最高的等级中所包含的所有数据包过滤规则的命中次数的均值作为新增数据包过滤规则的命中次数,并将新增的数据包过滤规则加入到所选取的等级中,并记录下新增数据包过滤规则的命中次数。
在本申请的一种具体实施方式中,所述装置还包括:规则划分单元270
所述规则划分单元270,用于当下次预设的更新事件被触发时,在按照所述预设的等级划分策略划分等级后,若新增的数据包过滤规则依然位于所述选取的优先级最高的等级中,但其命中次数的增长值小于所述选取的优先级最高的等级平均命中次数的增长值,则将其划分到次级优先级的等级中,并将次级优先级等级的最大命中次数作为其命中次数。
上述系统中各个单元的作用实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于系统实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明可以在由计算机执行的计算值可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种数据包过滤的方法,其特征在于,所述方法包括:
在接收到数据包时,判断预设的更新事件是否触发;
当预设的更新事件触发时,依次在根据预设的等级划分策略划分的每个等级所包含的数据包过滤规则中,查找与接收到的数据包所对应的数据包过滤规则,且每个等级中所包含的数据包过滤规则在等级划分之后按照预设的预处理算法对其进行预处理,所述预设的等级划分策略是统计数据包过滤规则对应的命中次数,基于所述数据包过滤规则对应的命中次数,对当前现有的数据包过滤规则进行等级划分,划分成至少两个等级,且不同等级的优先级不同;
基于所述查找到的数据包过滤规则对所述接收到的数据包进行过滤处理。
2.根据权利要求1所述的方法,其特征在于,所述预设的更新事件,包括:
用户增加或删除数据包过滤规则的事件、命中次数累积达到预设阈值的事件、和/或数据包过滤系统运行时间累计达到预设阈值的事件。
3.根据权利要求1所述的方法,其特征在于,所述当预设的更新事件触发时,依次在根据预设的等级划分策略划分的每个等级所包含的数据包过滤规则中查找与接收到的数据包所对应的数据包过滤规则,且每个等级中所包含的数据包过滤规则在等级划分之后按照预设的预处理算法对其进行预处理,包括:
当预设的更新事件触发时,基于不同等级的优先级不同,依次在根据预设的等级划分策略划分的每个等级所包含的数据包过滤规则中查找与接收到的数据包所对应的数据包过滤规则,且每个等级中所包含的数据包过滤规则在等级划分之后按照预设的预处理算法对其进行预处理。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
当预设的更新事件触发时,判断是否由用户增加或删除数据包过滤规则触发了所述预设的更新事件。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括;
若用户删除数据包过滤规则触发了所述预设的更新事件,只需删除用户指定的规则,按照所述预设的等级划分策略划分等级;
若用户增加数据包过滤规则触发了所述预设的更新事件,按照所述预设的等级划分策略划分等级后,从所划分的等级中选取优先级最高的等级,将所选取的优先级最高的等级中所包含的所有数据包过滤规则的命中次数的均值作为新增数据包过滤规则的命中次数,并将新增的数据包过滤规则加入到所选取的等级中,并记录下新增数据包过滤规则的命中次数。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括;
当下次预设的更新事件被触发时,在按照所述预设的等级划分策略划分等级后,若新增的数据包过滤规则依然位于所述选取的优先级最高的等级中,但其命中次数的增长值小于所述选取的优先级最高的等级平均命中次数的增长值,则将其划分到次级优先级的等级中,并将次级优先级等级的最大命中次数作为其命中次数。
7.一种数据包过滤的装置,其特征在于,所述装置包括:
第一判断单元,用于在接收到数据包时,判断预设的更新事件是否触发;
规则查找单元,用于当预设的更新事件触发时,依次在根据预设的等级划分策略划分的每个等级所包含的数据包过滤规则中,查找与接收到的数据包所对应的数据包过滤规则,且每个等级中所包含的数据包过滤规则在等级划分之后按照预设的预处理算法对其进行预处理,所述预设的等级划分策略是统计数据包过滤规则对应的命中次数,基于所述数据包过滤规则对应的命中次数,对当前现有的数据包过滤规则进行等级划分,划分成至少两个等级,且不同等级的优先级不同;
数据包过滤单元,用于基于所述查找到的数据包过滤规则对所述接收到的数据包进行过滤处理。
8.根据权利要求7所述的装置,其特征在于,所述预设的更新事件,包括:
用户增加或删除数据包过滤规则的事件、命中次数累积达到预设阈值的事件、和/或数据包过滤系统运行时间累计达到预设阈值的事件。
9.根据权利要求7所述的装置,其特征在于,所述查找单元具体用于:
当预设的更新事件触发时,基于不同等级的优先级不同,依次在根据预设的等级划分策略划分的每个等级所包含的数据包过滤规则中查找与接收到的数据包所对应的数据包过滤规则,且每个等级中所包含的数据包过滤规则在等级划分之后按照预设的预处理算法对其进行预处理。
10.根据权利要求7至8任一项所述的装置,其特征在于,所述装置还包括:第二判断单元、规则删除单元、规则增加单元
所述第二判断单元,用于当预设的更新事件触发时,判断是否由用户增加或删除数据包过滤规则触发了所述预设的更新事件;
所述规则删除单元,用于若用户删除数据包过滤规则触发了所述预设的更新事件,只需删除用户指定的规则,按照所述预设的等级划分策略划分等级;
所述规则增加单元,用于若用户增加数据包过滤规则触发了所述预设的更新事件,按照所述预设的等级划分策略划分等级后,从所划分的等级中选取优先级最高的等级,将所选取的优先级最高的等级中所包含的所有数据包过滤规则的命中次数的均值作为新增数据包过滤规则的命中次数,并将新增的数据包过滤规则加入到所选取的等级中,并记录下新增数据包过滤规则的命中次数。
CN201711403870.3A 2017-12-22 2017-12-22 一种数据包过滤的方法及装置 Active CN108123949B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711403870.3A CN108123949B (zh) 2017-12-22 2017-12-22 一种数据包过滤的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711403870.3A CN108123949B (zh) 2017-12-22 2017-12-22 一种数据包过滤的方法及装置

Publications (2)

Publication Number Publication Date
CN108123949A true CN108123949A (zh) 2018-06-05
CN108123949B CN108123949B (zh) 2021-02-26

Family

ID=62231096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711403870.3A Active CN108123949B (zh) 2017-12-22 2017-12-22 一种数据包过滤的方法及装置

Country Status (1)

Country Link
CN (1) CN108123949B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752321A (zh) * 2012-08-07 2012-10-24 广州微仕科信息技术有限公司 一种基于多核网络处理器的防火墙实现方法
CN103209491A (zh) * 2013-04-17 2013-07-17 中国科学技术大学 一种分布式的垂直切换和资源分配方法
US20130216036A1 (en) * 2008-01-28 2013-08-22 The Resource Group International, Ltd. Systems and methods for routing callers to an agent in a contact center
US8918838B1 (en) * 2013-07-23 2014-12-23 Oasis Technology, Inc. Anti-cyber hacking defense system
CN106657161A (zh) * 2017-02-28 2017-05-10 杭州迪普科技股份有限公司 数据包过滤的实现方法和装置
CN106681882A (zh) * 2015-11-06 2017-05-17 上海瑞致软件有限公司 基于Apriori算法的IT服务集中监控管理系统
CN107016080A (zh) * 2017-03-29 2017-08-04 安庆师范大学 一种高效网络报文分类方法
CN107294929A (zh) * 2016-04-05 2017-10-24 阿里巴巴集团控股有限公司 规则匹配和管理方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130216036A1 (en) * 2008-01-28 2013-08-22 The Resource Group International, Ltd. Systems and methods for routing callers to an agent in a contact center
CN102752321A (zh) * 2012-08-07 2012-10-24 广州微仕科信息技术有限公司 一种基于多核网络处理器的防火墙实现方法
CN103209491A (zh) * 2013-04-17 2013-07-17 中国科学技术大学 一种分布式的垂直切换和资源分配方法
US8918838B1 (en) * 2013-07-23 2014-12-23 Oasis Technology, Inc. Anti-cyber hacking defense system
CN106681882A (zh) * 2015-11-06 2017-05-17 上海瑞致软件有限公司 基于Apriori算法的IT服务集中监控管理系统
CN107294929A (zh) * 2016-04-05 2017-10-24 阿里巴巴集团控股有限公司 规则匹配和管理方法及装置
CN106657161A (zh) * 2017-02-28 2017-05-10 杭州迪普科技股份有限公司 数据包过滤的实现方法和装置
CN107016080A (zh) * 2017-03-29 2017-08-04 安庆师范大学 一种高效网络报文分类方法

Also Published As

Publication number Publication date
CN108123949B (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
CN101216821B (zh) 数据采集系统的存储管理方法
US7366728B2 (en) System for compressing a search tree structure used in rule classification
US10877680B2 (en) Data processing method and apparatus
CN107103068A (zh) 业务缓存的更新方法及装置
CN104035925B (zh) 数据存储方法、装置和存储系统
CN107943718A (zh) 一种清理缓存文件的方法和装置
JP5956049B2 (ja) ストリーミングネットフローデータ解析方法及び装置
JP6642651B2 (ja) ユーザアクセスプリファレンスモデルを用いたストレージ方法
CN102420831B (zh) 一种多域网包分类方法
CN106202280A (zh) 一种信息处理方法及服务器
CN113177050B (zh) 一种数据均衡的方法、装置、查询系统及存储介质
CN106155913B (zh) 缓存命中率分析的方法及设备
CN107992577A (zh) 一种哈希表数据冲突处理方法及装置
CN107153643A (zh) 数据表连接方法及装置
CN108062378B (zh) 一种列式存储下多时间序列的连接查询方法及系统
CN103309873B (zh) 数据的处理方法、装置及系统
CN105045535B (zh) 一种自动删除过期数据的方法和系统
CN106649385B (zh) 基于HBase数据库的数据排序方法和装置
CN104794237B (zh) 网页信息处理方法及装置
CN106796588B (zh) 索引表的更新方法和设备
CN108123949A (zh) 一种数据包过滤的方法及装置
CN108664322A (zh) 数据处理方法及系统
CN106506647A (zh) 一种客户端具有数据备份装置的智慧社区云存储系统
CN109271278A (zh) 一种确定磁盘快照数据切片的引用次数的方法和装置
CN110399095A (zh) 一种存储空间的统计方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210616

Address after: 310051 05, room A, 11 floor, Chung Cai mansion, 68 Tong Xing Road, Binjiang District, Hangzhou, Zhejiang.

Patentee after: Hangzhou Dip Information Technology Co.,Ltd.

Address before: 6 / F, Zhongcai building, 68 Tonghe Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee before: Hangzhou DPtech Technologies Co.,Ltd.